- void display (void)
- {
- glClearColor (0.0,0.0,0.0,1.0); //clear the screen to black
- glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //clear the color buffer and the depth buffer
- glLoadIdentity();
- enable();
- camera();
- //glEnable(GL_LIGHT1);
- GLfloat LPosition[4]={1.0,1.0,0.0};
- GLfloat LSpotDirec[3]={-1.0,-1.0,0.0};
- GLfloat LSpotCutOff=30.0;
- GLfloat LSpotExponent=0.0;
- GLfloat LDiffuse1[4]={1.0,1.0,1.0,1.0};
- glLightfv(GL_LIGHT1,GL_POSITION,&LPosition[0]);
- glLightfv(GL_LIGHT1,GL_SPOT_DIRECTION,&LSpotDirec[0]);
- glLightf(GL_LIGHT1,GL_SPOT_CUTOFF,LSpotCutOff);
- glLightf(GL_LIGHT1,GL_SPOT_EXPONENT,LSpotExponent);
- glLightfv(GL_LIGHT1,GL_DIFFUSE,&LDiffuse1[0]);
- glNewList(BAHNSTEIG,GL_COMPILE);//BAHNSTEIG
- glEnable(GL_TEXTURE_2D);
- glBindTexture(GL_TEXTURE_2D,bahnsteigtexture);
- glBegin(GL_QUADS);
- glPushMatrix();
- glVertex3f (0.0, 0.0, 0.0); //unten
- glVertex3f (12.0, 0.0, 0.0);
- glVertex3f (12.0, 0.0, 3.0);
- glVertex3f (0.0, 0.0, 3.0);
- glTexCoord2d(0.0,1.0);
- glVertex3f (0.0,0.2,0.0); //oben
- glTexCoord2d(0.0,0.0);
- glVertex3f (0.0, 0.2, 3.0);
- glTexCoord2d(1.0,0.0);
- glVertex3f (12.0,0.2,3.0);
- glTexCoord2d(1.0,1.0);
- glVertex3f (12.0,0.2, 0.0);
- glNormal3d(1.0,0.0,0.0);//hintere Seite
- glTexCoord2d(0.0,1.0);
- glVertex3f(0.0, 0.0, 0.0);
- glTexCoord2d(0.0,0.0);
- glVertex3f(0.0,0.2,0.0);
- glTexCoord2d(1.0,0.0);
- glVertex3f(12.0,0.2, 0.0);
- glTexCoord2d(1.0,1.0);
- glVertex3f(12.0,0.0,0.0);
- glNormal3d(0.0,-1.0,0.0);//linke Seite
- glTexCoord2d(0.0,1.0);
- glVertex3f(12.0,0.2,3.0);
- glTexCoord2d(0.0,0.0);
- glVertex3f(12.0,0.0,3.0);
- glTexCoord2d(1.0,0.0);
- glVertex3f(12.0,0.0,0.0);
- glTexCoord2d(1.0,1.0);
- glVertex3f (12.0,0.2,0.0);
- glNormal3d(0.0,1.0,0.0);//rechte Seite
- glTexCoord2d(0.0,1.0);
- glVertex3f(0.0,0.2,0.0);
- glTexCoord2d(0.0,0.0);
- glVertex3f(0.0,0.0,0.0);
- glTexCoord2d(1.0,0.0);
- glVertex3f(0.0,0.0,3.0);
- glTexCoord2d(1.0,1.0);
- glVertex3f (0.0,0.2,3.0);
- glNormal3d(1.0,0.0,0.0);//vordere Seite
- glTexCoord2d(0.0,1.0);
- glVertex3f(0.0, 0.0, 3.0);
- glTexCoord2d(0.0,0.0);
- glVertex3f(0.0, 0.2, 3.0);
- glTexCoord2d(1.0,0.0);
- glVertex3f(12.0,0.2, 3.0);
- glTexCoord2d(1.0,1.0);
- glVertex3f (12.0,0.0,3.0);
- glEnd();
- glDisable(GL_TEXTURE_2D);
- glPopMatrix();
- glEndList();
- glCallList(BAHNSTEIG);
- glFlush();
- glutSwapBuffers(); //swap the buffers
- angle++; //i
- }