Probleme de Texture avec SDL image

cs_Seboo Messages postés 17 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 5 mai 2007 - 4 mai 2007 à 21:05
cs_Seboo Messages postés 17 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 5 mai 2007 - 5 mai 2007 à 15:42
Bonjour,
J'ai developper un programme sous GLUT puis pur la gestion des textures je m'y suis lancé avec SDL image. Le probleme est que quand je charge ma texture JPG mon objet est tout noir au lieu d'etre texturé.

Comment j aiprocedé:
        j'ai d'abort activer le mode 3D : glEnable(GL_TEXTURE_2D); et  la profondeur : glEnable(GL_DEPTH_TEST);
        j'ai initialisé ma texture par : texture1 = loadTexture("ma_texture.jpg");
           <= c'est deux lignes sont dans un if qui ne s'execute que 1 fois.
    puis ensuite :
        glBindTexture(GL_TEXTURE_2D, texture1);
        glBegin(GL_QUADS);
        glTexCoord2d(0,1);  glVertex3d(1,1,1);
        glTexCoord2d(0,0);  glVertex3d(1,1,-1);
        glTexCoord2d(1,0);  glVertex3d(-1,1,-1);
        glTexCoord2d(1,1);  glVertex3d(-1,1,1);
        glEnd();

        glutSwapBuffers();
        glutPostRedisplay();

parcontre ces  lignes sont dans une fonction affichage appeler dans le main par : glutDisplayFunc();

Voila mon probleme et d'ailleurs je me demande si cela ne vient pas d'une variable non declarée car l'objet est tout noir pour tant en essayant avec un prog tous fait , la texture apparait bien . Donc ce n'ai pas un probleme de compilation ou de librairie...

4 réponses

cs_Seboo Messages postés 17 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 5 mai 2007
4 mai 2007 à 21:24
Je viens d'y pensser mais pour utiliser ces fonctions il faut quand meme pas que j utilise toutes les methodes d'affichage de la SDL cad creer une fenêtre SDL, etc. ?
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
5 mai 2007 à 10:23
Je vois pas l'intéret d'utiliser glut pour faire un truc que SDL sait faire. Mais sinon, t'as débugger ton truc ? t'as vérifié que dans le buffer de ta texture, t'as pas que des 0 ? t'as vérifiés que l'id de la texture est valide, etc ...

Et sinon, juste une remarque, utilise glTexCoord2f et glVertex3f. Faut jamais utiliser autre chose que des floats, les performances sont catastrophiques sinon.
0
cs_Seboo Messages postés 17 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 5 mai 2007
5 mai 2007 à 13:09
oue non enfaite le chargement etait tout bete je penssai pas que sa entrainai des erreurs. Enfaite j'ai fait mon affichage comme je le voulait et voyant que tout etait noir jj ai voulut verifier en copiant collant la source d'un exemple qui lui marchai d'ou le Coord2d et vertex2d.... mais oue je vais verifier si y a pas derreur a ce niveau merci.
0
cs_Seboo Messages postés 17 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 5 mai 2007
5 mai 2007 à 15:42
lol :) enfaite c'est cheloo car personne ne le dit mais il faut faire marcher l'eclairage, non ?
J ai activé une lumiere et la texture est apparut :)

Tu as une explication, j ai pas vu dans les tutoz qu'il fallait mettre de l eclairage pour voir apparaitre les textures ...
enfin voila probleme reglé ;)
0
Rejoignez-nous