CHAPTER 4: Turning On the Lights (^125)
glPushMatrix(); //4
glTranslatef(-m_Eyeposition[X_VALUE],-m_Eyeposition[Y_VALUE], //5
-m_Eyeposition[Z_VALUE]);
glLightfv(SS_SUNLIGHT,GL_POSITION,sunPos); //6
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, cyan);
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, white);
glPushMatrix(); //7
angle+=orbitalIncrement; //8
glRotatef(angle,0.0,1.0,0.0); //9
[self executePlanet:m_Earth]; //10
glPopMatrix(); //11
glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, paleYellow); //12
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, black); //13
[self executePlanet:m_Sun]; //14
glMaterialfv(GL_FRONT_AND_BACK, GL_EMISSION, black); //15
glPopMatrix(); //16
}
-(void)executePlanet:(Planet *)planet
{
GLfloat posX, posY, posZ;
GLfloat angle=0;
glPushMatrix();
[planet getPositionX:&posX Y:&posY Z:&posZ]; //17
glTranslatef(posX,posY,posZ); //18
[planet execute]; //19
glPopMatrix();
}
singke
(singke)
#1