Object OpenGL-定向明亮灯光?
我补充道,光线在物体上看起来很弱?我希望它更亮,我不想给光的位置。我的意思是,我想要一个明亮的灯光在所有的屏幕上,在中间还是在角落里有同样的亮度?Object OpenGL-定向明亮灯光?,object,opengl,3d,lighting,Object,Opengl,3d,Lighting,我补充道,光线在物体上看起来很弱?我希望它更亮,我不想给光的位置。我的意思是,我想要一个明亮的灯光在所有的屏幕上,在中间还是在角落里有同样的亮度? float[] lightColor = {1, 1, 1, 0}; float[] lightPosition = {0, 0, 10, 0}; @Override public void render () { ... gl.glEnable(GL10.GL_LIGHTING); ... gl.glEnab
float[] lightColor = {1, 1, 1, 0};
float[] lightPosition = {0, 0, 10, 0};
@Override
public void render () {
...
gl.glEnable(GL10.GL_LIGHTING);
...
gl.glEnable(GL10.GL_LIGHT0);
gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_DIFFUSE, lightColor, 0);
gl.glLightfv(GL10.GL_LIGHT0, GL10.GL_POSITION, lightPosition, 0);
}
由于{0,0,10,0}中的w被设置为零(这个4元组中的最后一个元素),因此您的灯光已经具有无限远的方向性。它指向+z方向({0,0,10}向量)。。我应该换什么?还有什么补充?我怎么知道:)可能是你的相机没有正确定位,所以你看到了一个对象的未发光部分。或者可能是您没有指定要用于lightning的对象的材质参数(请参见glMaterial和glColorMaterial)。还要检查对象顶点的法向量。如果不了解如何设置对象的材质,就无法知道。听起来你想要的是环境光,而不是方向光。