我有一些照明问题。我从高度图创建了地形,计算法线并将其存储在VBO中。然后我用
为我的场景添加光线glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
如果我尝试显示过剩的茶壶,我会想到它的阴影。 http://imageshack.us/photo/my-images/835/teapot.jpg/
但如果我想展示我的地形,它看起来并不好看。这是用于显示我的地形的代码
glEnableClientState(GL_VERTEX_ARRAY);
glBindBufferARB(GL_ARRAY_BUFFER_ARB, VBOvertices);
glVertexPointer(3, GL_FLOAT, 0, (char *) NULL);
glEnableClientState(GL_NORMAL_ARRAY);
glBindBufferARB(GL_ARRAY_BUFFER_ARB, VBOnormals);
glNormalPointer(GL_FLOAT, 0, (char *) NULL);
glDrawArrays(GL_TRIANGLES, 0, vertexCount);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);
它看起来像这样。没有阴影只有白色和黑色。法线计算正确。 http://imageshack.us/photo/my-images/849/terrainb.jpg/我做错了什么?仅使用带有VBO的顶点和普通数组来显示正确的光照是否足够?