- procedure glDrawScene;
- begin
- glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity;
- gluPerspective(Perspektive, Blick_Breite / Blick_Hoehe, NearClipping, FarClipping);
- gluLookAt(PlayerPos.Welt_3D_x, PlayerPos.Blickpunkt_3D_y, PlayerPos.Welt_3D_z,
- PlayerPos.Blickpunkt_3D_x, PlayerPos.Blickpunkt_3D_y,
- PlayerPos.Blickpunkt_3D_z, 0,1,0);
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity;
- glEnable(GL_TEXTURE_2D);
- glBindTexture(GL_TEXTURE_2D, TexID_Wand);
- glTranslatef(-kachelhaelfte, -kachelhaelfte, - (3 * kachelbreite) + ErsteKachelAbstand );
- glBegin(GL_QUADS);
- glTexCoord2f(0,1); glVertex3f(0, 0, 0);
- glTexCoord2f(1,1); glVertex3f(kachelbreite, 0, 0);
- glTexCoord2f(1,0); glVertex3f(kachelbreite, kachelbreite, 0);
- glTexCoord2f(0,0); glVertex3f(0, kachelbreite, 0);
- glEnd;
- //Textur mit Transparenz im Alphakanal darüberlegen
- glDisable(GL_DEPTH_TEST);
- glBindTexture(GL_TEXTURE_2D, TexID_transparenztest);
- glEnable(GL_BLEND);
- //glBlendFunc(GL_SRC_ALPHA,GL_DST_ALPHA);
- glColor4f(0.3,0.3,0.3,0.5);
- glBlendFunc(GL_SRC_ALPHA,GL_ONE); //Mauern & Objekte abgedunkelt
- glBegin(GL_QUADS);
- glTexCoord2f(0,1); glVertex3f(0, 0, 0);
- glTexCoord2f(1,1); glVertex3f(kachelbreite, 0, 0);
- glTexCoord2f(1,0); glVertex3f(kachelbreite, kachelbreite, 0);
- glTexCoord2f(0,0); glVertex3f(0, kachelbreite, 0);
- glEnd;
- glEnable(GL_DEPTH_TEST);
- glDisable(GL_BLEND);
- //glColor3f(1,1,1);
- //glColor4f(1,1,1,0);
- //glColor4f(1,1,1,1);
- //glColor4f(0,0,0,1);
- glBindTexture(GL_TEXTURE_2D, TexID_Wand);
- glLoadIdentity;
- glTranslatef(kachelhaelfte, -kachelhaelfte, - (3 * kachelbreite) + ErsteKachelAbstand);
- glBegin(GL_QUADS);
- glTexCoord2f(0,1); glVertex3f(0, 0, 0);
- glTexCoord2f(1,1); glVertex3f(kachelbreite, 0, 0);
- glTexCoord2f(1,0); glVertex3f(kachelbreite, kachelbreite, 0);
- glTexCoord2f(0,0); glVertex3f(0, kachelbreite, 0);
- glEnd;
- SDL_GL_SwapBuffers;
- end;