方向光
1.启用一盏灯:glEnable(GL_LIGHTO);最多8盏灯 GL_LIGHT0~GL_LIGHT7
2.设置灯的位置:glLightfv(GL_LIGHT0,GL_POSITION,lightPos);
其中lightPos如float loghtPos[]={0.0f,1.0f,0.0f,0.0f};
这个是一个其次坐标:(x,y,z,w) w为0表示光源为无穷远(如太阳):
1/0=无穷大
这里注意一个概念:
方向光:所有的光都是平行的光(如太阳)
伪代码如下:
void Draw() {
glClearColor(30.0f / 255.0f, 30.0f / 255.0f, 30.0f / 255.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
float lightPos[] = { 0.0f,1.0f,0.0f,0.0f };
glLightfv(GL_LIGHT0, GL_POSITION, lightPos);
glBegin(GL_QUADS);
glColor4ub(255, 255, 255, 255);
glVertex3f(-0.5f, -0.2f, -0.5f);
glVertex3f(0.5f, -0.2f, -0.5f);
glVertex3f(0.5f, -0.2f, -1.0f);
glVertex3f(-0.5f, -0.2f, -1.0f);
glEnd();
}