2009-04-09 15 views
1

texturé Je suis en train de faire un simple rectangulaire texturé en utilisant OpenGL et GLUT SOL.OpenGL, bibliothèque SOL et rectangulaire

Ceci est ma fonction d'affichage (exécuté en principal par glutDisplayFunc (affichage)):

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(); 
} 

Avec c'est voir seulement rectangulaire noir sans aucune texture. J'essaye de faire quelque chose avec ça pendant quelques heures. S'il vous plaît aider, merci d'avance.

+0

Vous chargez la texture chaque image? – GManNickG

+0

Je sais que je ne devrais pas faire cela, mais même quand je charge la texture quelque part ailleurs il ne fonctionne toujours pas. – mmatloka

Répondre

3

pourrait-il que vous définissez la couleur au noir juste avant de dessiner le rectangle? La ligne

glColor3f (0.0,0.0,0.0); 

Essayez plutôt blanc ...

glColor3f (1.0,1.0,1.0); 
+0

Lol ... Je ne pensais pas que le noir couvre la texture et le blanc ne le fait pas ... Merci beaucoup! – mmatloka