記得要加glutSwapBuffers();不然會出錯
加入打光程式碼
const GLfloat light_ambient[] = { 0.0f, 0.0f, 0.0f, 1.0f };
const GLfloat light_diffuse[] = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat light_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat light_position[] = { 2.0f, 5.0f, -5.0f, 0.0f };
int main()
{
glutInitDisplayMode(GLUT_DOUBLE|GLUT_DEPTH);
glutCreateWindow("week08");
glutDisplayFunc(display);
glutIdleFunc(idle);
glEnable(GL_LIGHT0);
glEnable(GL_NORMALIZE);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_LIGHTING);
glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient);
glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse);
glLightfv(GL_LIGHT0, GL_SPECULAR, light_specular);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
glutMainLoop();
}
加入眼睛程式碼
慢慢調整參數
void eye()
{
glPushMatrix();
glColor3f(1,1,1);
glTranslatef(0.075,0.35,0.225);
glutSolidSphere(0.1,20,20);
glColor3f(0,0,0);
glTranslatef(0.03,0.02,0.075);
glutSolidSphere(0.03,10,10);
glPopMatrix();
glPushMatrix();
glColor3f(1,1,1);
glTranslatef(-0.075,0.35,0.225);
glutSolidSphere(0.1,20,20);
glColor3f(0,0,0);
glTranslatef(-0.03,0.02,0.075);
glutSolidSphere(0.03,10,10);
glPopMatrix();
}
沒有留言:
張貼留言