我正在努力创造出朝各个方向发光的光。目前我正在使用该代码:
const GLfloat light1_ambient[] = { 0.5f, 0.5f, 0.5f, 1.0f };
const GLfloat light1_diffuse[] = { 0.3f, 0.3f, 0.3f, 1.0f };
const GLfloat light1_specular[] = { 0.2f, 0.2f, 0.2f, 1.0f };
const GLfloat light1_position[] = { 0.0f, 5.0f, 0.0f, 1.0f };
glLightfv(GL_LIGHT1, GL_AMBIENT, light1_ambient);
glLightfv(GL_LIGHT1, GL_DIFFUSE, light1_diffuse);
glLightfv(GL_LIGHT1, GL_SPECULAR, light1_specular);
glLightfv(GL_LIGHT1, GL_SPOT_CUTOFF, 180.0f);
glLightfv(GL_LIGHT1, GL_POSITION, light1_position);
有地面代码:
for(int i = -50; i < 50; i++)
{
for(int j = -50; j < 50; j++)
{
glBegin(GL_QUADS);
glVertex3f(i,0,j);
glVertex3f(i,0,j+1);
glVertex3f(i+1,0,j+1);
glVertex3f(i+1,0,j);
glEnd();
}
}
它给了我这个结果:http://i.stack.imgur.com/h1Jtc.png
看起来像180度的照明。 (当我将GL_SPOT_CUTOFF更改为90时,它看起来一样) 你知道我做错了什么,或者它应该如何运作?