Merci de m'aider djl .
Mais j'ai une erreure:
glTextCoord2i(1.0f,0.0f);glVertex3i(-1,5,-1);
glTextCoord2i undeclared identifier.
Meme si je fais glTextCoord2f etc.
Parce que vous avez marqué glTextColor2i au lieu de glTexCoord2i ^^
---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
Pour info, il est préférable de remplacer la fonction glTexImage2D ( ) par la fonction gluBuild2DMipmaps ( ), qu'il faut utiliser comme suit : gluBuild2DMipmaps ( GL_TEXTURE_2D, 3, largeur, hauteur, GL_RGB, GL_UNSIGNED_BYTE, image);
oui, mieux vauut utiliser gluBuild2DMipmaps (mais la du coup on utilise la glu :) )
mais au fond la bonne habitude est d'utiliser des textures dont les dimensions respectent ces contraintes (pour la vitesse de chargement)
BeLZeL > pour ton loader, il me semble pas que tu prene compte (ou alors j'ai mal vu) les eventuels octets de bourrage en fin de lignes (pour que le nombre d'octets soit un multiple de 4 pour chaque ligne), ca te donne quoi avec une image de 459*300 par exemple ?
sinon pour le coté fonctionelle, il faudrais egalement passer l'id de la texture en parametre, sinon comment on fais pour la selectionner avant plaquage ? dans ton cas c'est un tableau globale de 1 element ? )
L'utilisation de la GLU c'est vraiment pas un handicap...ça doit faire carrément partie de la spécification d'OpenGL non?
Quant à la vitesse de chargement, à vrai dire dans un cas comme ça on s'en f*** un peu...une fois chargé c'est chargé, c'est tout, et à choisir entre la contrainte de textures limitées à des puissances de 2 ou un temps de chargement plus long de quelques millisecondes...^^
"il me semble pas que tu prene compte (ou alors j'ai mal vu) les eventuels octets de bourrage en fin de lignes" -> ben justement, c'est gluBuild2DMipmaps qui le fait automatiquement, grâce au fait qu'elle emploie en interne gluScaleImage.
Une image de 459*300 passerait donc sans pb.
"il faudrais egalement passer l'id de la texture en parametre, sinon comment on fais pour la selectionner avant plaquage ?" -> la texture utilisée est celle en cours : glBindTexture...
---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
"ben justement, c'est gluBuild2DMipmaps qui le fait automatiquement, grâce au fait qu'elle emploie en interne gluScaleImage."
j'ai pas compris, si gluBuild2DMipmaps n'attend pas un pointeur sur une image dont l'alignement des pixels correspond a celui du format bmp (et c'est pas specifier dans la doc, ce qui est normal puisque fonctionnel) alors il y aura forcement un decalage si la largeur n'est pas un multiple de 4 ??
"la texture utilisée est celle en cours : glBindTexture..."
merci, ca repond pas a ma question, si tu dois faire un programme qui charge plus d'une texture (he oui ca arrive) comment tu selectionnes la texture si tu connais pas l'id ??
c'est pour ca que je disais de retourner l'id si tu veux que ce soit fonctionnel
---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
pour l'id c'est pas ca que je ve dire, imagine tu charge 10 texture au debut du prog (classic quoi), comment tu fais au cour du rendu pour faire le glbind sur telle ou telle texture si tu n'a pas leur id??
pour le bmp, les donnée du bmp ne sont pas alignée si la largeur de l'image n'est pas un multiple de 4 (quand on est en bgr), et gluBuild2DMipmaps bien evidemant attend des données parfaitement alignés, d'ou decalage possible
Voilà, c'est ça que je voulais dire en gros.
Maintenant je ne sais toujours pas si ça marche comme ça vu que j'ai pas regardé le loader :p
---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/ Un concours de prog graphique, ça vous dit? c'est sur Coder-Studio : http:
ok, c'est ce que je voulais savoir, c'est une facons de faire qui est sans doute meilleurs que la mienne (puisque moi je serais obliger de faire autant de glgentexture, mais je sais pas quel est l'impact)
Bah je doute que l'appel de plusieurs fois glGenTextures() dans le chargement du programme ait un réel effet...d'autant plus que c'est le chargement ^^
Au fond, glGenTextures c'est juste une fonction qui utilise une liste des IDs utilisés, liste qui varie selon les appels à glGenTextures et glDeleteTextures, donc ça m'étonnerait que ça soit un appel lent.
Enfin, à moins que glGenTextures crée vraiment une texture, mais il me semble que l'on peut s'en passer et utiliser des IDs de textures arbitraires non?
---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
Hmm qu'OpenGL doive forcément fournir les IDs je ne serais pas si sûr, je testerai demain...
Sinon c'est clair que ton design est mieux, personnellement je préfère un truc du style :
ErrorCode LoadBMP(const char* str_fichier, GLuint* p_id);
---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/ Un concours de prog graphique, ça vous dit? c'est sur Coder-Studio : http: