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

C

 > 

Linux

 > 

OpenGL

 > 

OpenGL; transparence des png assombrie


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

OpenGL; transparence des png assombrie

vendredi 2 septembre 2011 à 18:22:47 | OpenGL; transparence des png assombrie

choucroute987

Bonjour,

Je me permet de poster dans la section C étant donné que l'OpenGl est peut utilisé avec d'autres langages...

Je suis en train de développer un jeux en objective-c pour iphone et j'ai un soucis de transparence avec mes png. En effet, la transparence de ceux-ci est assombrie :


Voici le code d'affichage des images :
Code c :
glPushMatrix();

glTranslatef(point.x, point.y, 0);
glRotatef(-rotation, 0.0f, 0.0f, 1.0f);
glTranslatef(-point.x, -point.y, 0);

glColor4f(colourFilter[0], colourFilter[1], colourFilter[2], colourFilter[3]);
	
glEnableClientState(GL_TEXTURE_COORD_ARRAY);

glEnable(GL_TEXTURE_2D);

if([texture name] != appDelegate.currentTexture) {
	[appDelegate setCurrentTexture:[texture name]];
	glBindTexture(GL_TEXTURE_2D, [texture name]);
}
	
glVertexPointer(2, GL_FLOAT, 0, qv);

glTexCoordPointer(2, GL_FLOAT, 0, tc);

glEnable(GL_BLEND);

glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);

glDisable(GL_BLEND);
glDisable(GL_TEXTURE_2D);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);

glPopMatrix();


Je n'y connais pas grand chose en OpenGl; j'ai déjà pas mal cherché, je pense que mon soucis viens de mon gl_blend, dans l'état sans glBlendFunc.

Merci d'avance pour vos réponses!
samedi 3 septembre 2011 à 12:52:34 | Re : OpenGL; transparence des png assombrie

CGSI3

Bonjour,
Quelques pistes : (Je suis également un novice en ce domaine)

glColor4f
As tu essayé de changer les valeurs ou de mettre cette ligne en Commentaire ?

Une chose m'intrigue, ton 2 eme glTranslatef est il bien placé ?
- Tu place ton objet (translation, Rotation)
- Tu le dessine
- Tu reviens a l'origine ( Pas sur de l'utilitée de cette dernière ligne, car il me semble que glPopMatrix le fait)

Bonne Prog CGSI3
samedi 3 septembre 2011 à 17:00:47 | Re : OpenGL; transparence des png assombrie

choucroute987

Salut,

Merci pour tas réponse.

Rien à faire avec glColor4f.
Pour glTranslatef si je le déplace ou le supprime ça me met un beau bazar...

J'ai pas mal cherché du côté de glBlendFunc, et j'ai fini par rajouter un paramètre à ma fonction :
Code c :
if(lightTransparency) glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_COLOR);


Ca ne me semble pas très propre comme solution, non?

++
samedi 3 septembre 2011 à 21:21:54 | Re : OpenGL; transparence des png assombrie

CGSI3

Réponse acceptée !
Bonsoir Choucroute,
Je ne sais pas si j'ai la solution mais
chez moi cette fonction est comme ceci

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

(je travaille en vb.net mais le langage opengl est le même)
Voici 2 liens qui te seront utiles:

Forum
Texture transparency converting from Bitmap


Regarde peut être aussi du coté du chargement des photos dans OpenGl:
fonction : GlTexImage2D

Bonne soirée CGSI3
samedi 3 septembre 2011 à 22:08:05 | Re : OpenGL; transparence des png assombrie

CGSI3

En complément 2 Liens:

Lien
Click droit et Traduction avec LiveSearch

Lien

Tu devrais trouver la solution de ton Pb dans tout ceci.
Par contre je persiste a penser que le 2eme GlTranslated est mal placé,
tous les exemples que je possède vont dans le même sens.

Bonne soirée CGSI3
dimanche 4 septembre 2011 à 16:40:08 | Re : OpenGL; transparence des png assombrie

choucroute987

Bonjour,

Merci CGSI3 pour ton aide!
J'ai bricolé et réussi à faire ce que je voulais...

Par défaut mon glBlendFunc est le même :
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

GlTranslated est peut-être mal placé, de mon côté ça fonctionne; vu mon niveau en opengl, je ne pourrai te donner la lumière sur ce mystère. :p


Salutations


Cette discussion est classée dans : opengl, gl, transparence, png, texture


Répondre à ce message

Sujets en rapport avec ce message

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 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' Transparence avec glBlend [ par smoove5198 ] Bonjour, A l'aide d'un tutorial j'ai crée une classe qui affiche du texte sous opengl a partir d'une texture bmp listant tous les caracteres. Dans c 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 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 transparence en OpenGl [ par F0ra ] Bonjour, J'ai un problème en OpenGl Je voudrais rendre uniquement la couleur rose< Texture avec OpenGl [ par Zakata ] Bonjour,Voila j'ai un petit soucis avec les textures et OpenGl. J'ai dans l'espoir de réussir à mettre une image de fond sur une fenetre OpenGl. J'ai OpenGL et textures [ par Jackyzgood ] Bonjour à tous ! Maintenant que je commence à être à l'aise en SDL, je me suis dis : ça pourrait être bien de passer à l'OpenGL. J'ai suivis un tuto Offscreen texture rendering to bitmap [ par S3rialHoOK3rs ] Bonjour, J'essaie de créer un rendu hors écran au sein de mon application OpenGL. Pour ce faire, je stock mon rendu offscreen dans une texture que je QT sous Visual C++ 2008 : SOUS XP [ par controlleur ] Bonjour j'ai rencontré une erreur l'or de l'exécution de mon programme : l'erreur c'est qu'il me dise que les QComboBox et QSlider que j'ai déclar


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

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