Pro OpenGL ES for iOS

(singke) #1

232 CHAPTER 7: Well-Rendered Miscellany^


glDisable( GL_LIGHTING ); //4

glLoadIdentity();

glTranslatef(0.0,m_WorldY,m_WorldZ); //5

[self drawPlatform:0.0 y:0.0 z:0.0]; //6

if(frameNumber>(lightsOnFlagTrigger/2)) //7
lightsOnFlag=false;
else
lightsOnFlag=true;

if(frameNumber>lightsOnFlagTrigger)
frameNumber=0;

[self drawLight: GL_LIGHT0]; //8

glDisable( GL_DEPTH_TEST ); //9

[self calculateShadowMatrix]; //10

if(lightsOnFlag)
[self drawShadow]; //11

glShadeModel( 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); //14

glRotatef( 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++;
Free download pdf