Chargement de texture JPG avec OpenGL
Bonjour à tous !
J'explique un peu mon problème.
Je voudrais appliquer des textures à mes objets 3d(déjà importés) sous opengl.
Le code ci-dessous est la fonction de chargement des textures pour un modèle 3d :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
QImage t;
QImage b;
for(int i = 0; i < numOfMaterials; i++)
{
if ( !b.load( pMaterials[i].strFile,"JPG" ) )
{
b.fill(Qt::green);
}
t = QGLWidget::convertToGLFormat( b );
glGenTextures( 1, &m_textures[0] );
glBindTexture( GL_TEXTURE_2D, m_textures[i] );
glTexImage2D( GL_TEXTURE_2D, 0, 3, t.width(), t.height(), 0, GL_RGBA, GL_UNSIGNED_BYTE, t.bits() );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
} |
Pour une image Bmp, ça fonctionne impec:ccool:.
Mais pour un soucis de taille, je souhaiterais le faire avec des images JPG.
Il me semble que l'erreur se trouve au niveau du :
Code:
!b.load( pMaterials[i].strFile,"JPG" )
En mode debug, lorsque j'arrive à ce niveau,je vois bien que l'image ne se charge pas.
Est-ce que c'est un problème de plugin jpg pour Qt ?
Merci d'avance pour vos réponses.