- int DrawGLScene(void) // Here's Where We Do All The Drawing
- {
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- glColor4f(1.0, 1.0, 1.0, 1.0);
- glEnable(GL_TEXTURE_2D);
- glEnable(GL_ALPHA_TEST);
- glAlphaFunc(GL_GREATER, 0.1f);
- glEnable(GL_DEPTH_TEST);
- glLoadIdentity();
- glOrtho(0, 1024, 0, 768, 0, 128);
- glBindTexture(GL_TEXTURE_2D, texture[1].texID);
- for (int x = 0; x<=32; x++)
- {
- for (int y = 0; y<=24; y++)
- {
- for (int z = 0; z<=1; z++)
- {
- if (mapdata[x][y][z].image_x != -1 && mapdata[x][y][z].image_y != -1) // Vortfahren wenn Tile nicht ohne Textur ist
- {
- glLoadIdentity();
- glOrtho(0, 1024, 0, 768, 0, 128);
- glTranslatef(x * 32, 768 - (32 + (y * 32)), -10);
- glBegin(GL_QUADS);
- glTexCoord2f( ((mapdata[x][y][z].image_x * 32.0f) / 640), 1.0f - ((mapdata[x][y][z].image_y * 32.0f) / 640)); glVertex3f(0, 0, 0);
- glTexCoord2f( (((mapdata[x][y][z].image_x * 32.0f) + 32) / 640), 1.0f - ((mapdata[x][y][z].image_y * 32.0f) / 640)); glVertex3f(32, 0, 0);
- glTexCoord2f( (((mapdata[x][y][z].image_x * 32.0f) + 32) / 640), 1.0f - (((mapdata[x][y][z].image_y * 32.0f) + 32) / 640)); glVertex3f(32, -32, 0);
- glTexCoord2f( ((mapdata[x][y][z].image_x * 32.0f) / 640), 1.0f - (((mapdata[x][y][z].image_y * 32.0f) + 32) / 640)); glVertex3f(0, -32, 0);
- glEnd();
- }
- }
- }
- }
- return true; // Everything Went OK
- }