Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Object OpenGL-定向明亮灯光?_Object_Opengl_3d_Lighting - Fatal编程技术网

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)。还要检查对象顶点的法向量。如果不了解如何设置对象的材质,就无法知道。听起来你想要的是环境光,而不是方向光。