|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Texture openGl [ Archives / OpenGL ] (neodelphi)
Informations & options pour cette discussion
dimanche 18 décembre 2005 à 12:57:41 |
Texture openGl

neodelphi
|
Bonjour tout le monde,
j'essaye désespérément d'ajouter des textures dans mon projet openGl,
mais je devient fou... J'ai écrit une classe qui me permet de charger
des fichiers tga (elle fonctionne). Lors de mon initialisation je cré
donc ma texture:
CTGAFile* ptgaFile = new CTGAFile("nom de fichier");
glGenTextures(1, &id);
glBindTexture(GL_TEXTURE_2D, id);
glTexImage2D(GL_TEXTURE_2D, 0, 3, ptgaFile->getWidth,
ptgaFile->getHeight, 0, GL_RGB, GL_UNSIGNED_BYTE,
ptgaFile->getPixels());
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glEnable(GL_TEXTURE_2D);
Puis lors du rendu:
glBindTexture(GL_TEXTURE_2D, id);
J'ai regardé plusieurs tutoriaux, et normalement mon code devrait fonctionner, enfin selon moi...
Le seul moyen que j'ai trouvé pour obtenir des résultat est de refaire
toute l'étape d'initialisation avant chaque rendu, mais c'est pas super
lol... En fait je n'ai pas l'impression que openGl mémorise ce que je
fait avec le glBindTexture...
D'où viend ce problème ?
neodelphi
|
|
|
dimanche 18 décembre 2005 à 16:37:22 |
Re : Texture openGl

rrk275
|
Réponse acceptée !
J'imagine que dans tous mes conseils il y en aura pas mal que tu auras deja vu mais pour une texture ,
glShadeModel(GL_FLAT); (en tout cas je crois) doit etre mis apres glEnable(GL_TEXTURE_2D);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL); avant glEnable(GL_TEXTURE_2D);
et apres on met glBegin(GL_QUADS);
glTexCoord2f(1, 0); glVertex3f(-2.0, -1.0, 0.0);
glTexCoord2f(0, 1); glVertex3f(-2.0, 1.0, 0.0);
glTexCoord2f(1, 1); glVertex3f(0.0, 2.0, 0.0);
glTexCoord2f(1, 0); glVertex3f(0.0, -1.0, 0.0);
glEnd();
pour afficher un carré texturé ...
le glTexCoord2f permet de choisir ou la texture doit etre prise
0,0 1,0
________
| -- --|
| | |(texture a l'endroit)
| | |
--------
0,1 1,1
0,1 1,1
________
| -- --|
| | |(texture a l'envers)
| | |
--------
0,0 1,0
pour plus de renseignement voir tous les tutos sur les textures ... rrk275
|
|
|
mardi 20 décembre 2005 à 14:38:36 |
Re : Texture openGl

KeniiyK
|
Réponse acceptée !
Salut. Le seul moyen que j'ai trouvé pour obtenir des résultat est de refaire toute l'étape d'initialisation avant chaque rendu, mais c'est pas super lol... En fait je n'ai pas l'impression que openGl mémorise ce que je fait avec le glBindTexture...Cela veut donc dire qu'il y a quelque chose que tu fais lors de l'initialisation que tu ne fais pas ensuite pour ton rendu comme par exemple glEnable(GL_TEXTURE_2D); (besoin que d'un seul appel mais bon c'est pour l'exemple). J'ai du mal a croire que cela vienne d'OpenGL. rrk275-> glShadeModel(GL_FLAT); n'a rien avoir avec les textures L'ordre d'appel entre glEnable(GL_TEXTURE_2D); et glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL); ne change rien du tout, OpenGL est une machine a état, l'ordre est important pour les méthodes de rendu de géométrie...
KeniiyK.
|
|
|
lundi 26 décembre 2005 à 12:06:57 |
Re : Texture openGl

neodelphi
|
Merci pour vos réponses... Je viend de trouver d'où viend mon problème:
j'effectuait l'initialisation de la texture avant de faire
glXMakeCurrent(pdisplay, window, context);... Je commençai a devenir
dingue, j'ai trouvé le problème en fesant des printf des id de texture
que me renvoyai openGl... Bref ça marche.
neodelphi
|
|
|
lundi 26 décembre 2005 à 13:29:33 |
Re : Texture openGl

ekinox17
|
Et oui rien ne vaut un bon debugage avec du printf "en veut tu en voila"
C U Later ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 + 1 = 1, c'est l'harmonie parfaite (citation de J-C Van-Dame) Vive la logique: 1 ou 1 ça fait bien 1 : pas si fou que ça JC ;)
|
|
|
Cette discussion est classé dans : opengl, gl, texture, 2d, ptgafile
Répondre à ce message
Sujets en rapport avec ce message
Problème d'affichage de texture [ par Turok ]
Bonjour,Alors voila le problème est simple, voici un code que j'utilise pour afficher une simple image 2d en utilisant OpenGl et SDL, mais celui ci ne
bitmap avec SDL_image? [ par Batman60 ]
Bonjour Comment afficher des bitmaps correctement(bonnes couleurs,et image non inversée) avec ce code (SDL_ima
problème de transparence sur texture opengl [ par Batman60 ]
bonsoirla transparence sur la texture tga ne s'affiche pas, pourtant j'utilise le code ci-dessous et je ne vois pas quoi d'autre à ajouter ou modifier
Multi-texturing [ par barraq ]
Voila j'affiche ma scene avec cette fonction : void Terrain::Draw(VObject *CurrentObject) { int g_DetailScale = 128; //Texture 0 glActi
probleme pour texturer une sphere [ par mikey84 ]
Bonjour! j'ai un énorme problème. J'ai essayé d'appliquer une texture sur ma sphère avec la librairie devil, avec opengl et glut et aucun n'a fonction
Multitexturing OpenGl [ par goutbouyo ]
Salut,Je charge une map BSP dans un jeu fait en OpenGl.Il y a donc du multitexturing.Le problème c'est quand j'affiche mes persos en MD2, j'active la
OPENGL TEXTURE BMP [ par Batman60 ]
bonjourvoici mon code compilé sur dev-cppc'est un cube tournant 3D affichant un bmp sur les six facesje voudrais texturer plusieurs bmp sur les six fa
Listes OpenGL : Problème de texture [ par smoove5198 ]
Bonjour, Je travaille actuellement sur un projet en opengl. Pour des raisons de performence je me suis ecrit une classe qui crée du texte a partir d'
TEXTURE SDL_IMAGE JPEG [ par Batman60 ]
salutquelqu'un peut me dire ce qui cloche dans mon bout de code utilisé pour charger une texture jpeg j'utilise la lib SDL_IMAGE pour celaest-ce que c
image non chargée [ par aurelivs ]
bonjourje cherche a faire une appli en C++ et OpenGL pour charger une image et afficher cette image (puis la transformer). cependant je n'arrive pas à
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|