什么是OpenGL默认灯光位置?

时间:2017-03-06 20:24:25

标签: opengl light directional-light

我想了解opengl中的默认灯光位置。

我的系统设置如下;如果场景中没有灯光,系统会在场景中添加环境光:

Gl.glEnable(Gl.GL_LIGHT0);
Gl.glLightf(Gl.GL_LIGHT0, Gl.GL_CONSTANT_ATTENUATION, 99999);

如果我不接触光的位置参数,光就像一个环境光,它似乎没有方向,所以我的物体从各个角度获得光......这有点酷...但如果我这样做:

Gl.glEnable(Gl.GL_LIGHT0);
Gl.glLightf(Gl.GL_LIGHT0, Gl.GL_CONSTANT_ATTENUATION, 99999);
Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_POSITION, new Vector4(0f, 0f, 1f, 0f).ToArray());

(这是原始值,因为我用Gl.glGetLightfv(Gl.GL_LIGHT0,Gl.GL_POSITION,vec)测试它;并且它是相同的)。在我弄乱了位置之后,它真的变得像一个定向的太阳光,但我希望它像环境光一样工作。我在这里失踪了吗?

0 个答案:

没有答案