小编Dan*_*ter的帖子

我什么时候应该在OpenGL中使用STD140?

我何时使用STD140在OpenGL中使用统一块?

虽然我不是100%肯定,我相信有它的替代,可以实现同样的事情,所谓"共享".

它只是对编码器的偏好吗?或者是否有理由使用一个而不是另一个?

opengl glsl opengl-3 opengl-4

10
推荐指数
2
解决办法
9258
查看次数

什么是openGL中的顺时针面

在背面剔除时,您可以使用面法线来查看面部是否指向远离相机的情况,如果以时钟方式或逆时针方向绘制三角形,则可以采用某种技术.

我对顺时针方向的这种技术很困惑.看起来使用这种方法,发送到图形卡的顶点数据的排序决定了它是朝向还是远离摄像机.我没有看到这有什么意义,因为相机可以向任何方向看,就好像顶点数据必须根据相机位置而改变,而这显然不是在CPU上完成的.

我怎么能理解这个?

opengl graphics render raster culling

8
推荐指数
2
解决办法
3705
查看次数

如何让IntellIJ对项目中的所有主文件使用JVM选项?

我可以配置一个主文件来使用所需的本机,但在我的项目中有多个主要功能,所以我需要所有文件来使用JVM选项,当我可以选择调试我想要的任何一个而不必为每个创建一个配置一

ide jvm native intellij-idea

7
推荐指数
1
解决办法
5829
查看次数

你如何解释TCP何时没有获得一次读取的所有字节

我刚读了一篇文章说TCPClient.Read()可能无法在一次读取中获得所有发送的字节.你怎么解释这个?

例如,服务器可以将字符串写入tcp流.客户端读取字符串的一半字节,然后在另一个读取调用中读取另一半.

你怎么知道何时需要组合两个调用中收到的字节数组?

.net c# sockets tcp

6
推荐指数
1
解决办法
2520
查看次数

均匀位置和均匀指数之间的差异?

OpenGL中统一位置和统一索引之间有什么区别?看起来您需要为统一分配值的位置,并且您需要索引来查询有关统一的信息.

为什么需要两个值?为什么其中一个不能同时满足这两个目的?

opengl

6
推荐指数
1
解决办法
1228
查看次数

应用程序如何在不需要端口转发的情况下连接到服务器?

我刚刚创建了一个简单的聊天客户端,它仅在所有客户端/服务器都在同一端口上进行端口转发时才有效。

我如何使我的应用程序(它在 c# 中并使用 .net 套接字 btw)在不需要客户端端口转发的情况下工作(我不在乎服务器是否需要端口转发)。

顺便说一下,它使用udp。

c# sockets networking udp

5
推荐指数
2
解决办法
4859
查看次数

opengl函数会导致主线程冻结吗?

所以当你调用opengl函数时,比如glDraw或gLBufferData,是否会导致程序的线程停止并等待GL完成调用?

如果没有,那么GL如何处理调用像glDraw这样的重要函数,然后立即改变一个影响绘制调用的设置?

opengl rendering

5
推荐指数
1
解决办法
1419
查看次数

需要帮助理解这个旋转矩阵数学代码

private Mat4 calcLookAtMatrix(Vec3 cameraPt, Vec3 lookPt, Vec3 upPt) {
    Vec3 lookDir = Glm.normalize(Vec3.sub(lookPt, cameraPt));
    Vec3 upDir = Glm.normalize(upPt);

    Vec3 rightDir = Glm.normalize(Glm.cross(lookDir, upDir));
    Vec3 perpUpDir = Glm.cross(rightDir, lookDir);

    Mat4 rotMat = new Mat4(1.0f);
    rotMat.setColumn(0, new Vec4(rightDir, 0.0f));
    rotMat.setColumn(1, new Vec4(perpUpDir, 0.0f));
    rotMat.setColumn(2, new Vec4(Vec3.negate(lookDir), 0.0f));

    rotMat = Glm.transpose(rotMat);

    Mat4 transMat = new Mat4(1.0f);
    transMat.setColumn(3, new Vec4(Vec3.negate(cameraPt), 1.0f));

    return rotMat.mul(transMat);
}
Run Code Online (Sandbox Code Playgroud)

此代码生成一个世界到相机矩阵,将与openGL一起用于渲染.

我理解旋转矩阵的形成方式.基本上,它放入归一化的向量并转置矩阵,并以某种方式产生旋转矩阵.解释数学.

java opengl graphics transformation matrix

4
推荐指数
1
解决办法
262
查看次数

从 0.0-1.0 区间转换时,为什么需要将 RGB 值乘以 256 而不是 255?

我在这个问题上读到了舍入技术。 将颜色值从浮点 0..1 转换为字节 0..255

您有一个 0 到 1 范围内的浮点数,并且希望将其映射到 0-255 的字节整数范围。因此,您将 0-1 数字乘以 255f,然后将该数字转换为字节。因为所有转换只是对浮点数的小数部分进行取整,所以您需要一种方法来实现它,以便在取整时它将达到所需的舍入结果。

我的想法是在转换为字节之前添加0.5f。

但是,我在链接的页面上注意到了一些我不理解的新内容。他将 0-1 映射到 256,这会以某种方式实现四舍五入的结果。

我测试了一些值,看看它是否有效,而且看起来确实有效。我只是不明白为什么。有人能给我证明吗?

floating-point integer rounding

4
推荐指数
1
解决办法
4403
查看次数

Java 如何将变量名与内存中的位置关联起来?

Java 如何将变量名与内存中的位置关联起来?

我对此的第一个想法是必须有一个用于所有变量名称的静态表,该静态表将其与其值或其值的位置相关联。它是否存在并且该表有正式名称吗?

java memory-management

4
推荐指数
1
解决办法
2229
查看次数