gl_LightSource [0] .position.xyz在现代OpenGL中

时间:2010-09-17 04:07:34

标签: opengl opengl-3

我是初学者。我在旧代码中注意到了

// Calculate the light position for this vertex
vec3 vertex_light_position = gl_LightSource[0].position.xyz;

我认为这是动态变化的,因此无法仅使用静态vec3进行测试。

如何在现代OpenGL中替换上述内容?一个例子将不胜感激。

2 个答案:

答案 0 :(得分:3)

gl_LightSource只是一个统一的数组,对于现代代码,你只需传递一个包含光数据的统一结构数组。

答案 1 :(得分:0)

这很可能是静态的。此代码正在抓取 光的位置,而不是矢量来自顶点的光。

对于当前渲染过程,它也是静态的。顶点在帧的持续时间内位于一个位置。

要检索现代OpenGL中有关灯光的信息,请参阅documentation