2009-04-09 5 views
1

Ich versuche, ein einfaches texturiertes Rechteck in OpenGL mit SOIL und GLUT zu machen.OpenGL, SOIL-Bibliothek und ein texturiertes Rechteck

Das ist mein Display-Funktion (ausgeführt in Haupt von glutDisplayFunc (Display)):

void Display() 
{ 
    GLuint tex_2d; 

    glMatrixMode (GL_MODELVIEW); 
    glLoadIdentity(); 
    glClear (GL_COLOR_BUFFER_BIT); 
    glClearColor (1.0,1.0,1.0,1.0); 
    gluLookAt (eyex,eyey,eyez,centerx,centery,centerz,0,1,0); 

    glEnable(GL_TEXTURE_2D); 
    tex_2d = SOIL_load_OGL_texture 
    (
     "img.png", 
     SOIL_LOAD_AUTO, 
     SOIL_CREATE_NEW_ID, 
     SOIL_FLAG_MIPMAPS | SOIL_FLAG_INVERT_Y | SOIL_FLAG_NTSC_SAFE_RGB | SOIL_FLAG_COMPRESS_TO_DXT 
    ); 
    if(0 == tex_2d) 
    { 
     printf("SOIL loading error: '%s'\n", SOIL_last_result()); 
     exit(1); 
    } 

    glBindTexture(GL_TEXTURE_2D, tex_2d); 

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); 
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_LINEAR); 

    glColor3f (0.0,0.0,0.0); 
    glBegin(GL_POLYGON); 

         glTexCoord2f(0.0f, 0.0f); glVertex2f(0.0f, 0.0f); 
         glTexCoord2f(1.0f, 0.0f); glVertex2f(1.0f, 0.0f); 
         glTexCoord2f(1.0f, 1.0f); glVertex2f(1.0f, 1.0f); 
         glTexCoord2f(0.0f, 1.0f); glVertex2f(0.0f, 1.0f); 

    glEnd(); 
    glDisable(GL_TEXTURE_2D); 
    glFlush(); 
    glutSwapBuffers(); 
} 

Damit ist ohne Textur nur einen schwarzen rechteckigen sehen. Ich versuche, für ein paar Stunden etwas damit zu machen. Bitte helfen Sie, danke im Voraus.

+0

Sie das Laden der Textur jedes Bild? – GManNickG

+0

Ich weiß, dass ich das nicht tun sollte, aber selbst wenn ich Textur an anderer Stelle lade, funktioniert es immer noch nicht. – mmatloka

Antwort

3

Könnte es sein, dass Sie die Farbe vor dem Zeichnen des Rechtecks ​​auf Schwarz setzen? Die Linie

glColor3f (0.0,0.0,0.0); 

Versuchen weiß statt ...

glColor3f (1.0,1.0,1.0); 
+0

Lol ... Ich hätte nicht gedacht, dass Schwarz die Textur bedeckt und Weiß nicht ... Vielen Dank! – mmatloka

Verwandte Themen