Sebaplus
Messages postés7Date d'inscriptionjeudi 11 juillet 2002StatutMembreDernière intervention25 avril 2003
-
29 juil. 2002 à 15:07
txprog
Messages postés10Date d'inscriptionmercredi 31 juillet 2002StatutMembreDernière intervention 6 août 2002
-
2 août 2002 à 22:12
Salut, j'ai un problème avec la transparence: lorsque je regarde la face transparente à travers une face opaque, je la vois qu'en meme.
Pourtant je dessine ma face transparente entre:
glEnable(GL_BLEND);
glDisable(GL_DEPTH_TEST);
glColor4f(1.0f,1.0f,1.0f,1.0f);
glBlendFunc(GL_SRC_ALPHA,GL_ONE);
et
glDisable(GL_BLEND);
glEnable(GL_DEPTH_TEST);
Comment faire ?
Une autre petite question: Lorsque j'utilise le chargement de texture jpeg, je n'ai plus l'affichage de Font. Est ce que quelqu'un a le meme problème ?
D'avance merci !
@+
Sebaplus
txprog
Messages postés10Date d'inscriptionmercredi 31 juillet 2002StatutMembreDernière intervention 6 août 2002 31 juil. 2002 à 22:12
Salut, il me fau plus de précision, la face opaque, tu la dessine avant ou après le code que tu a donné, sinon, peu-tu donner le code complet ? En tous cas, pour info, la transparence est qqchose de très dur à gérer, l'algo à mettre en place est le suivant :
1 : tracer tout les objets opaque, ainsi que ceux dont la transparence est tout ou rien (texture avec mask)
2 : trier les objets restant (translucide, ayant une transparence >0 et <1), de facon à les afficher du plus profond au plus près de l'écran.
Sebaplus
Messages postés7Date d'inscriptionjeudi 11 juillet 2002StatutMembreDernière intervention25 avril 2003 1 août 2002 à 10:43
Salut,
Je dessine ce qui est opaque avant ce qui est transparent. La transparence marche sauf lorsqu'une face transparente est derrière une face censée être opaque.
Voici une partie du code:
Il y a d'autres objets transparents et opaque. Mon programme se trouve en bas, sur cette page: http://membres.lycos.fr/sebaplus/creations/creations.htm On voit sur le screenshot les étoiles transparentes à travers le sol.
Merci de te pencher sur mon problème.
@+
Sebaplus
txprog
Messages postés10Date d'inscriptionmercredi 31 juillet 2002StatutMembreDernière intervention 6 août 2002 2 août 2002 à 22:12
Salut.
J'ai télécharger ta démo de ton moteur 3d
c normal que tes étoiles soit affiché par dessus les faces opque
dans ton code ci dessous, la 2ème partie de ton code, 2ème ligne, tu désactive le GL_DEPTH_TEST. si tu le désactive, comment peut-il savoir si l'étoile est devant ou derrière les faces opaques ? en fait le truc, tu va tester si la face est devant ou derrière un autre objet, mais tu ne va pas ecrire ta face dans le ZBuffer.
Tu remplaces la ligne glDisable(GL_DEPTH_TEST) par glDepthMask(GL_FALSE). Ceci va desactiver l'écriture sur le ZBuffer, mais va quand même faire le test. Ensuite, pour réactiver l'écriture sur le ZBuffer, tu fait glDepthMask(GL_TRUE); Voila, mail-moi un screen pour me montrer le résultat quand tu aura fai les changement sur txprog@hotmail.com