Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想创建一个片段着色器,在 glLightSource 的位置呈现一个白色圆圈。但不知何故,我很难弄清楚如何在屏幕坐标中转换 glLight 位置......
有人有想法吗?
gl_LightSource.position您必须将与相乘gl_ModelViewProjectionMatrix才能获得屏幕坐标(对于 OpenGL 2.x - 对于 OGL 3.x+,您当然必须为矩阵使用统一)。但是,问题是您仍然必须在全屏四边形中找到正确的像素 - 也就是说,您必须为每个片段计算此像素,然后测试当前片段位置是否与您的灯光的屏幕空间位置相同。
gl_LightSource.position
gl_ModelViewProjectionMatrix
因此,我强烈建议使用带有光坐标的顶点并按照 Christian Rau 的建议进行绘制。