我是初学者。我在旧代码中注意到了
// Calculate the light position for this vertex
vec3 vertex_light_position = gl_LightSource[0].position.xyz;
我认为这是动态变化的,因此无法仅使用静态vec3进行测试。
如何在现代OpenGL中替换上述内容?一个例子将不胜感激。
答案 0 :(得分:3)
gl_LightSource只是一个统一的数组,对于现代代码,你只需传递一个包含光数据的统一结构数组。
答案 1 :(得分:0)
这很可能是静态的。此代码正在抓取 光的位置,而不是矢量来来自顶点的光。
对于当前渲染过程,它也是静态的。顶点在帧的持续时间内位于一个位置。
要检索现代OpenGL中有关灯光的信息,请参阅documentation。