Opengl+Qt impossible de charger une texture - C++ - Programmation
Marsh Posté le 05-11-2006 à 02:06:21
Salut,
OpenGL conserve en mémoire la dernière couleur assignée; cette couleur sert aussi de multiplicateur à l'éventuelle texture utilisée.
Si je me trompe pas, un appel à glColor3f(1.0, 1.0, 1.0); avant d'afficher ton cube devrait résoudre ton problème.
Sans rapport direct, si tu utilises Qt4.x, QGLWidget te permet de charger une image grâce à QGLWidget::bindTexture.
Exemple d'utilisation (tiré de Qt\examples\opengl\textures\glwidget.cpp ):
Code :
|
Tu t'économiseras toujours quelque lignes
Marsh Posté le 05-11-2006 à 18:51:37
Salut,
d'abord merci pour ton coup de main
IrmatDen a écrit : Salut, |
J'ai teste et maintenant mon carre apparait juste tout blanc
Je suis assez perplexe
IrmatDen a écrit : Sans rapport direct, si tu utilises Qt4.x, QGLWidget te permet de charger une image grâce à QGLWidget::bindTexture.
|
En fait, je suis oblige d'utiliser qt3.3 qui est installe sur les machines. Mais c'est bon a savoir pour plus tard
Marsh Posté le 05-11-2006 à 21:03:37
ash08 a écrit : J'ai teste et maintenant mon carre apparait juste tout blanc |
Mince, raté
Tu peux tester contre t.isNull(), t.width() ou t.height() pour voir si ton image adaptée est bien enregistrée?
Sinon, ton image respecte-t-elle bien cette règle?
Citation : The width must be 2^m + 2*border and the height 2^n + 2*border where m and n are integers and border is either 0 or 1. |
Marsh Posté le 05-11-2006 à 21:30:50
IrmatDen a écrit : Mince, raté |
Code :
|
IrmatDen a écrit : Sinon, ton image respecte-t-elle bien cette règle?
|
je pense, c'est l'image de texture du tutoriel : 256*256
ca devient dur la
Marsh Posté le 06-11-2006 à 02:53:58
Essaie de voir ce que te donne texture[0] après initialisation, et juste avant appel à glBindTexture?
Là, je vois pas trop
Après, t'es bon pour comparer fonction par fonction avec les exemples
Sauf si quelqu'un voit de suite ce qu'il manque
Marsh Posté le 02-01-2008 à 15:50:38
J'ai le meme problemes! La solution est de mettre ton LoadTextures dans le initializeGL()..
Perso, j'aime pas trop, et j'aimerai aussi faire comme toi, le faire dans le constructeur.
Parce que meme apres l'appelle de initializeGL dans le construct, ca marche pas.. Ah mon avis , il dois se passer qqch après le constructeur... Si tas la reponse dit le moi!
Marsh Posté le 02-01-2008 à 16:02:08
Ca y'est j'ai trouvé !!
Dans ton constructeur , met glInit() avant ton loadTexture()!
Marsh Posté le 05-11-2006 à 01:51:35
Salut tout le monde,
j'ai un probleme pour charger des textures en opengl.
Je suis novice donc je me suis inspire du tuto de nehe sur les textures et de cet article qui defini les specifications pour Qt.
Mais impossible a l'affichage j'obtient juste un carre bleu...
La classe decor qui est pour l'instant juste un cube sur lequel on met une texture
J'ai teste et b.load( "./data/NeHe.bmp" ) retourne bien true
voila je sais pas du tout ce que j'aurai pu oublier
quelqu'un a une idee?