Próbuje narysować mapę kafelkową jednak nic się nie wyświetla.
Tablica z mapą:
short map [10] [10] = {
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
};
Funkcja rysująca mapę:
void DrawMap()
{
for( int x = 0; x > 9; x++ ) //Na osi x wyświetli 10 kafelków na raz
{
for( int y = 0; y > 9; y++ ) //Na osi y wyświetli 10 kafelków na raz
{
if( map[ x ][ y ] == 1 ) DrawImage2D(x * 32,y * 32,32,32,Grass);
}
}
}
Funkcja wyświetlająca:
void Display()
{
// licznie ilosci wygenerowania sceny
frames++;
// ladowanie obrazu
if(LT == 1){LoadTextures();LT = 0;}
// kolor tła - zawartość bufora koloru
glClearColor( 1.0, 1.0, 1.0, 1.0 );
// włączenie testu bufora głębokości
glEnable( GL_DEPTH_TEST );
// włączenie mieszania
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glAlphaFunc( GL_ALWAYS, 0 );
// wlaczenie teksturowania
glDisable(GL_TEXTURE_1D);
glEnable(GL_TEXTURE_2D);
// czyszczenie bufora koloru i bufora głębokości
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
// wybór macierzy modelowania
glMatrixMode( GL_MODELVIEW );
// macierz modelowania = macierz jednostkowa
glLoadIdentity();
/* Poczatek sceny 3D */
/*
// ustawienie obserwatora
gluLookAt( eyex, eyey, eyez, centerx, centery, centerz, 0, 1, 0 );
// wylaczenie teksturowanie
glDisable(GL_TEXTURE_2D);
// kolor krawędzi sześcianu
glColor3f( 0.0, 0.0, 0.0 );
// początek definicji krawędzi sześcianu
glBegin( GL_LINES );
// wspólrzędne kolejnych krawędzi sześcianu
glVertex3f( 1.0, 1.0, 1.0 );
glVertex3f( 1.0, - 1.0, 1.0 );
glVertex3f( 1.0, - 1.0, 1.0 );
glVertex3f( 1.0, - 1.0, - 1.0 );
glVertex3f( 1.0, - 1.0, - 1.0 );
glVertex3f( 1.0, 1.0, - 1.0 );
glVertex3f( 1.0, 1.0, - 1.0 );
glVertex3f( 1.0, 1.0, 1.0 );
glVertex3f( - 1.0, 1.0, 1.0 );
glVertex3f( - 1.0, - 1.0, 1.0 );
glVertex3f( - 1.0, - 1.0, 1.0 );
glVertex3f( - 1.0, - 1.0, - 1.0 );
glVertex3f( - 1.0, - 1.0, - 1.0 );
glVertex3f( - 1.0, 1.0, - 1.0 );
glVertex3f( - 1.0, 1.0, - 1.0 );
glVertex3f( - 1.0, 1.0, 1.0 );
glVertex3f( 1.0, 1.0, 1.0 );
glVertex3f( - 1.0, 1.0, 1.0 );
glVertex3f( 1.0, - 1.0, 1.0 );
glVertex3f( - 1.0, - 1.0, 1.0 );
glVertex3f( 1.0, - 1.0, - 1.0 );
glVertex3f( - 1.0, - 1.0, - 1.0 );
glVertex3f( 1.0, 1.0, - 1.0 );
glVertex3f( - 1.0, 1.0, - 1.0 );
// koniec definicji prymitywu
glEnd();
// wlaczenie teksturowania
glEnable(GL_TEXTURE_2D);
// Zapisz macierzy rzutowania
glMatrixMode (GL_PROJECTION);
glPushMatrix ();
*/
// wybór macierzy projekcji
glMatrixMode(GL_PROJECTION);
// macierz tekstury = macierz jednostkowa
glLoadIdentity();
// By kamera nie wyszła po za mape
if(eyex <= 0)eyex=0;
if(eyey <= 0)eyey=0;
if(eyex >= (size_map_x - width))eyex=(size_map_x - width);
if(eyey >= (size_map_y - height))eyey=(size_map_y - height);
/* Przełączenie w tryb rzutowania ortogonalnego */
//glOrtho(eyex,width + eyex,height + eyey,eyey,-100,100);
gluOrtho2D(eyex,width + eyex,height + eyey,eyey);
// wybór macierzy modelowania tekstury
//glMatrixMode(GL_TEXTURE);
// macierz modelowania = macierz jednostkowa
//glLoadIdentity();
/* rysowanie obiektów 2D */
// rysowanie FPS itd.
if(debug == true)DebugMode(eyex,eyey);
// wybór macierzy modelowania
glMatrixMode( GL_MODELVIEW );
// macierz modelowania = macierz jednostkowa
glLoadIdentity();
// rysowanie mapy
DrawMap();
/*
// powrót do trybu macierzy ModelView
glMatrixMode (GL_MODELVIEW);
// powrót starego prespective macierzy rzutowania
glMatrixMode(GL_PROJECTION);
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
*/
// skierowanie poleceń do wykonania
glFlush();
// zamiana buforów koloru
glutSwapBuffers();
}
Czemu nic się nie wyświetla?