Problem beim Texturieren (OpenGL); Textur nur weiß

Alles rund um die Programmierung mit Qt
Antworten
AnTeevY
Beiträge: 19
Registriert: 1. Juli 2006 20:57

Problem beim Texturieren (OpenGL); Textur nur weiß

Beitrag von AnTeevY »

Hallo allerseits ;)

Wie man schon im Threadtitel lesen kann, hab ich ein Problem mit den Texturen in OpenGL. Ich habe schon einige verschiedene Lösungswege probiert, aber egal was ich mache, immer ist der Würfel, auf dem normalerweise die Textur sein sollte, komplett weiß. Fehlermeldungen kommen keine...

z.B. habe ich es mit folgendem Code versucht:

Code: Alles auswählen

void GLWidget::BindTexture(QImage& img, GLuint& textureid)
{       
    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    glBindTexture(GL_TEXTURE_2D, textureid);

    QImage data;

    data = QGLWidget::convertToGLFormat( img );

    // note use 4 bits for alph channel
    gluBuild2DMipmaps(GL_TEXTURE_2D, 4, data.width(), data.height(),GL_RGBA, GL_UNSIGNED_BYTE, data.bits());
   
    //Assign the mip map levels and texture info
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);   

    // texture now assigned to the id "textureid"
}
Dem QImage img habe ich zuvor folgendes zugewiesen:

Code: Alles auswählen

img.load( "nehe.bmp" );
Seit einer guten halben Woche schlag ich mich nun damit rum, ohne Lösung :( Wäre nett, wenn ihr mir helfen könnte, sicherlich hab ich irgendwas gravierendes übersehen... danke im Voraus.
FaS
Beiträge: 184
Registriert: 25. Mai 2006 19:48
Kontaktdaten:

Beitrag von FaS »

Tja wie sieht denn deine Zeichenroutine aus??

Code: Alles auswählen

glEnable( GL_TEXTURE_2D ); // <-- möglicherweise fehlt das??
glBegin( GL_QUADS );
  glTexCoord2f( 0.0, 0.0 ); glVertex3f( 0.0, 0.0, 0.0 );
  glTexCoord2f( 1.0, 0.0 ); glVertex3f( w_,  0.0, 0.0 );
  glTexCoord2f( 1.0, 1.0 ); glVertex3f( w_,  h_,  0.0 );
  glTexCoord2f( 0.0, 1.0 ); glVertex3f( 0.0, h_,  0.0 );
glEnd();
AnTeevY
Beiträge: 19
Registriert: 1. Juli 2006 20:57

Beitrag von AnTeevY »

Oh, ok, danke für die Antwort, aber daran lags nicht. Ich Dummkopf habe immer die exe im Debug-Ordner gestartet, aber die Bilddatei war im übergeordneten Ordner *g*

Problem gelöst :)
Antworten