begin process at 2012 05 30 00:13:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Graphique

 > 

[Open GL]Afficher plusieurs images


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[Open GL]Afficher plusieurs images

vendredi 10 septembre 2004 à 20:31:27 | [Open GL]Afficher plusieurs images

goutbouyo

Membre Club
Salut, c'est encore moi, désolé ...

En fait c'est que je n'arrive pas à charger plusieurs images.

J'utilise ça :

Je charge une image :

void LoadTexture()
{
AUX_RGBImageRec *texture1;
texture1 = auxDIBImageLoad("machin2.bmp");
glGenTextures (1, &texture[0]);
glBindTexture (GL_TEXTURE_2D, texture[0]);
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_LINEAR);

glTexImage2D(GL_TEXTURE_2D, 0, 3, texture1->sizeX, texture1->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, texture1->data);
};


Ensuite je l'applique comme ça :

glTexCoord2i(0,0);glVertex3i (x1,y,z1);


Je fais comment si je veux mettre 2 images différentes à 2 endroits différents ???

J'ai essayer en remettant glTexImage2D(GL_TEXTURE_2D, 0, 3, texture2->sizeX, texture2->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, texture2->data); et en ayant crée une 2ème image mais ça marche pas.
vendredi 10 septembre 2004 à 20:47:10 | Re : [Open GL]Afficher plusieurs images

djl

Réponse acceptée !
unsigned LoadTexture(const char *image)
{
AUX_RGBImageRec *texture1;
unsigned id;
texture1 = auxDIBImageLoad(image);

glGenTextures (1, &id);
glBindTexture (GL_TEXTURE_2D, id);
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_LINEAR);

glTexImage2D(GL_TEXTURE_2D, 0, 3, texture1->sizeX, texture1->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, texture1->data);

return id;
};


// dans la partie init
unsigned texture1, texture2;

texture1 = LoadTexture("machin1.bmp");
texture2 = LoadTexture("machin2.bmp");

dans le rendu

glBinTexture( ..., texture1 );

//dessin

glBindTexture( ..., texture2 );

// dessin


vendredi 10 septembre 2004 à 21:10:55 | Re : [Open GL]Afficher plusieurs images

goutbouyo

Membre Club
Ca me met des erreurs quand je met :

texture1 = LoadTexture("machin1.bmp");
texture2 = LoadTexture("machin2.bmp");

'texture1' : missing storage-class or type specifiers
'texture2' : missing storage-class or type specifiers

Donc à la place de : glBindTexture(GL_TEXTURE_2D, texture1 );

J'ai mis : LoadTexture("machin.bmp");
et plus loin : LoadTexture("machin2.bmp");

Mais le problème c'est que ça m'aafiche la même image partout !!!
vendredi 10 septembre 2004 à 21:17:06 | Re : [Open GL]Afficher plusieurs images

djl

ba oui c'est glBind qui te permet de selectionner la texture a partir de l'identifiant

comment tu as declarer texture1 et texture2 ?
vendredi 10 septembre 2004 à 21:51:35 | Re : [Open GL]Afficher plusieurs images

goutbouyo

Membre Club
J'ai fait ça :
unsigned texture1 = LoadTexture("machin.bmp");
unsigned texture2 = LoadTexture("machin2.bmp");

et ça marche.

Par contre avec glbind ça m'affiche des surfaces blanches ...

Ja'i vu qu'on pouvait utiliser qu'une seule image par display liste, c'est ça ???
vendredi 10 septembre 2004 à 21:54:32 | Re : [Open GL]Afficher plusieurs images

djl

c'est quoi le code de ta display list ?
vendredi 10 septembre 2004 à 22:11:46 | Re : [Open GL]Afficher plusieurs images

goutbouyo

Membre Club
Réponse acceptée !
C'est ça , avec ça ça marche :

void CreateList()
{
FILE *fmap;
fmap=fopen("map.txt","r");
fscanf(fmap,"%d",&n);

cube2=glGenLists(2);
glNewList(cube2, GL_COMPILE);

LoadTexture("machin2.bmp");

while (i!=25)
{
glBegin (GL_QUADS);
line :
fgets( ligne, sizeof ligne, fmap );

if( (strstr( ligne, "//" ) == ligne)||(strstr( ligne, "\n" ) == ligne) ) goto line;
else
{
sscanf(ligne,"%d%d%d",&x1,&y,&z1);
glTexCoord2i(1,0);glVertex3i (x1,y,z1);

fgets( ligne, sizeof ligne, fmap );
sscanf(ligne,"%d%d%d",&x1,&y,&z1);
glTexCoord2i(1,1);glVertex3i (x1,y,z1);

fgets( ligne, sizeof ligne, fmap );
sscanf(ligne,"%d%d%d",&x1,&y,&z1);
glTexCoord2i(0,1);glVertex3i (x1,y,z1);

fgets( ligne, sizeof ligne, fmap );
sscanf(ligne,"%d%d%d",&x1,&y,&z1);
glTexCoord2i(0,0);glVertex3i (x1,y,z1);

}

glEnd();
i+=1;
}

LoadTexture("cube.bmp");

glNewList(cube2, GL_COMPILE);
while (i!=n)
{

glBegin (GL_QUADS);
line2 :
fgets( ligne, sizeof ligne, fmap );

if( (strstr( ligne, "//" ) == ligne)||(strstr( ligne, "\n" ) == ligne) ) goto line2;
else
{
sscanf(ligne,"%d%d%d",&x1,&y,&z1);
glTexCoord2i(1,0);glVertex3i (x1,y,z1);

fgets( ligne, sizeof ligne, fmap );
sscanf(ligne,"%d%d%d",&x1,&y,&z1);
glTexCoord2i(1,1);glVertex3i (x1,y,z1);

fgets( ligne, sizeof ligne, fmap );
sscanf(ligne,"%d%d%d",&x1,&y,&z1);
glTexCoord2i(0,1);glVertex3i (x1,y,z1);

fgets( ligne, sizeof ligne, fmap );
sscanf(ligne,"%d%d%d",&x1,&y,&z1);
glTexCoord2i(0,0);glVertex3i (x1,y,z1);

}

glEnd();
i+=1;
}

i=0;

fclose(fmap);

glEndList();

}


Dis moi ce que t'en penses STP.
vendredi 10 septembre 2004 à 22:15:52 | Re : [Open GL]Afficher plusieurs images

djl

oui comme ca ca devrais marcher
vendredi 10 septembre 2004 à 22:22:39 | Re : [Open GL]Afficher plusieurs images

goutbouyo

Membre Club
Ok merci beaucoup encore une fois !!!

C'est cool l'aide qu'on peut trouver sur ce site.
@+++++++


Cette discussion est classée dans : images, gl, texture, 2d, texture1


Répondre à ce message

Sujets en rapport avec ce message

erreur en opengl :( [ par intello2001 ] c:\documents and settings\administrator\mes documents\ogl3\ogl3\untitled1.o(.text+0x71f):untitled1.cpp: undefined reference to `auxDIBImageLoadA@4'c s 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 Multi-texturing [ par barraq ] Voila j'affiche ma scene avec cette fonction : void Terrain::Draw(VObject *CurrentObject) {     int  g_DetailScale = 128;     //Texture 0     glActi 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 à 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 Texture openGl [ par 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 perm bitmap avec SDL_image? [ par Batman60 ] Bonjour Comment afficher des bitmaps correctement(bonnes couleurs,et image non inversée) avec ce code (SDL_ima AIDEZ MOI scp problème de texture bmp avec glaux [ par progundeath ] aidez moi svp g un big problème que j'arrive pas à résoudre mais bon je ne suis qu'un newbie d'autres le résoluront en 10 secondes enfin j'espère donc Charger TGA avec open gl [ par goutbouyo ] Salut,Depuis ce midi j'essaie de charger un fichier TGA et de l'appliquer à une surface mais je n'y arrive.Est ce qu'il existe sous open gl un code si


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,967 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales