232 CHAPTER 7: Well-Rendered Miscellany^
glDisable( GL_LIGHTING ); //4glLoadIdentity();glTranslatef(0.0,m_WorldY,m_WorldZ); //5[self drawPlatform:0.0 y:0.0 z:0.0]; //6if(frameNumber>(lightsOnFlagTrigger/2)) //7
lightsOnFlag=false;
else
lightsOnFlag=true;if(frameNumber>lightsOnFlagTrigger)
frameNumber=0;[self drawLight: GL_LIGHT0]; //8glDisable( GL_DEPTH_TEST ); //9[self calculateShadowMatrix]; //10if(lightsOnFlag)
[self drawShadow]; //11glShadeModel( GL_SMOOTH );glEnableClientState(GL_VERTEX_ARRAY); //12
glVertexPointer( 3, GL_FLOAT, 0, m_CubeVertices );glEnableClientState(GL_COLOR_ARRAY);
glColorPointer(4, GL_UNSIGNED_BYTE, 0, m_CubeColors);glRotatef(m_WorldRotationX, 1.0, 0.0, 0.0); //13
glRotatef(m_WorldRotationY, 0.0, 1.0, 0.0);glTranslatef(0.0,m_TransY, 0.0); //14glRotatef( m_SpinZ, 0.0, 0.0, 1.0 ); //15
glRotatef( m_SpinY, 0.0, 1.0, 0.0 );
glRotatef( m_SpinX, 1.0, 0.0, 0.0 );glEnable( GL_DEPTH_TEST ); //16
glFrontFace(GL_CCW);glDrawElements( GL_TRIANGLE_FAN, 6 * 3, GL_UNSIGNED_BYTE, m_Tfan1);
glDrawElements( GL_TRIANGLE_FAN, 6 * 3, GL_UNSIGNED_BYTE, m_Tfan2);glDisable(GL_BLEND);
glEnable(GL_LIGHTING);transY+=.1; //17
frameNumber++;