我想了解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)测试它;并且它是相同的)。在我弄乱了位置之后,它真的变得像一个定向的太阳光,但我希望它像环境光一样工作。我在这里失踪了吗?