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

C++ & C++ .NET

 > 

Divers

 > 

Divers

 > 

[opengl] texture avec une couleur transparente


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

[opengl] texture avec une couleur transparente

samedi 17 mai 2008 à 16:16:33 | [opengl] texture avec une couleur transparente

lafouine1986

Bonjour à toutes et tous,

voilà je me permets de vous demander de l'aide car je suis comme bloqué...
Je désire créer un opengl un arbre de type imposteur, où deux plans sont perpendiculaires avec une texture sur chaque face d'un arbre.
Mon problème est le suivant, les plans sont bien là, la texture s'applique, mais je n'arrive pas à rendre transparent la couleur de la texture qui entoure l'arbre (du blanc) et du coup, quand on tourne autour de l'arbre, on voit les plans.

J'ai lu pas mal de choses à ce sujet mais cela reste flou, je ne saisis pas forcément quelle fonction appliquer.

Voici le loader d'image BMP :
[code]

//On lit l'Headeur (l'en-tête) contient l'offset de certaine donné la taille

fread (&bfh,

sizeof (BITMAPFILEHEADER), 1, f);

fread (&bih,

sizeof (BITMAPINFOHEADER), 1, f);

// Allocation mémoire

unsignedint taille = bih.biWidth*bih.biHeight*3;

tmp =

newunsignedchar [taille];

// on stocke les données

fread(tmp, 1, taille, f);

// B G R, on inverse les B et R

unsignedint tailleAlpha = bih.biWidth*bih.biHeight*4;

unsignedchar* tmpAlpha=newunsignedchar[tailleAlpha];

int m=0;

for (unsignedint c = 0; c < taille; c +=3) {

tmpAlpha[m]=tmp[c+2];

tmpAlpha[m+2]=tmp[c];

tmpAlpha[m+1]=tmp[c+1];

tmpAlpha[m+3]=1;

m+=4;

}

fclose(f);

this->largeur = bih.biWidth;

this->hauteur = bih.biHeight;

glEnable(GL_DEPTH_TEST);

//Active le depth test

glEnable(GL_TEXTURE_2D);

 

printf(

"numero texture %d \n",index);

glGenTextures(1,&tabTextures[index]);

//Génère un n° de texture

glBindTexture(GL_TEXTURE_2D,tabTextures[index]);

//Sélectionne ce n°

printf(

"tableau texture %d \n",tabTextures[index]);

printf(

"&tableau texture %d \n",&tabTextures[index]);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);

glTexImage2D(GL_TEXTURE_2D,

//Type : texture 2D

0,

//Mipmap : aucun

3,

//Couleurs : 3

this->largeur, //Largeur

this->hauteur, //Hauteur

0,

//Largeur du bord : 0

GL_RGBA,

//Format : RGBA

GL_UNSIGNED_BYTE,

//Type des couleurs

tmpAlpha);

//Addresse de l'image

delete(tmpAlpha);

delete(tmp);
[/code]

et voici le code juste avant de dessiner les plans pour l'arbre :
[code]

glBindTexture(GL_TEXTURE_2D, tabTextures[1]);

glDisable(GL_LIGHTING);

glEnable(GL_ALPHA_TEST);

glBegin(GL_QUADS);
[/code]

Je vous remercie par avance pour votre aide !

samedi 17 mai 2008 à 20:37:48 | Re : [opengl] texture avec une couleur transparente

luhtor

Sujet déja abordé sur le forum. Fais une recherche.
samedi 17 mai 2008 à 21:48:51 | Re : [opengl] texture avec une couleur transparente

lafouine1986

Bonjour à toi aussi.
Je n'ai pas trouvé le lien pointant sur le même sujet, puisque je n'ai pas réussi à le trouver (rien de comparable, que des petites bribes, qui ne traitent pas le sujet dans sa globalité), à la limite, il pourrait être intéressant de l'indiquer.

Cependant, plus besoin d'aide, j'ai trouvé la solution, je ne sais pas si ca intéresse étant donné que ca doit déjà être sur le forum.

Merci quand même de t'être penché sur ma question !


Cette discussion est classée dans : gl, tmp, texture, bih, tmpalpha


Répondre à ce message

Sujets en rapport avec ce message

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 texture sphere opengl [ par bog29 ] Hi,J ai un petit soucis, je veux plaquer une texture sur une sphere, ce que j arrive a faire , mais ensuite lorsque je mets la sphere en rotation, la LoadTGA() probleme ! [ par Dante41 ] Voila, pour mon jeu en 2D avec OpenGL j'utilise la fonction loadTGA(): bool LoadTGA(char *filename, UINT * uTex){ unsigned char TGAheader[12] = {0, [glut] textures [ par khayyam ] bonsoir tout le monde, mon problème est simple : si je décare une texture de la manière suivanteunsigned char data[]={1,1,255,1,255,1,1,255,1,101,102, [Open GL]Afficher plusieurs images [ par goutbouyo ] 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() 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 Texture d'une glutSphere [ par Dante41 ] Salut à tous, J'ai besoin de votre aide. j'essaie de recréer le système solaire en OpenGL par conséquent , il faut que je fasse toutes les planètes av 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 Pb de FRONT et BACK buffer avec texture [ par gastoudou ] Bonjour à tous,Je suis en train de faire un projet en OpenGL pour l'école sur un puzzle 2D. Il y a 16 cases mélangées et on doit les remettre à leur p labyrinthe en 3D sytle ecran veille windows [ par gastoudou ] Bonjour à tous,Et oui encore moi pour une question, que dis-je, une mission pour une âme charitable.Je suis en train de faire un labyrinthe en 3D styl


Nos sponsors


Sondage...

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,796 sec (4)

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