Trouver un point du mode 3D en 2D [Résolu]

Signaler
Messages postés
36
Date d'inscription
samedi 3 février 2007
Statut
Membre
Dernière intervention
26 mai 2008
-
Messages postés
36
Date d'inscription
samedi 3 février 2007
Statut
Membre
Dernière intervention
26 mai 2008
-
Bonjour. Dans mon jeu, je me balade dans un univers 3D et j'ai besoin de faire des explosions. Je me suis dit qu'il faudrait afficher les images en mode 2D (gluOrtho2D) afin que qu'on voit toujours la même explosion quelque soit le point de vue. Seulement je ne sais pas quelles coordonées 2D donner pour l'affichage de la texture : j'ai un point A(x,y,z) en mode 3D , quelles seront ses coordonneés 2D avec gluOrtho2D(0, 800, 600, 0) ? Merci

Spartan

5 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Salut,

Y a aussi la bonne vielle (Trop vielle ?) technique du billboard. Un bête quad toujours tourné vers la caméra sur lequel on applique une succession de textures.

Un article avec de jolie explosions.
Messages postés
280
Date d'inscription
dimanche 7 septembre 2003
Statut
Membre
Dernière intervention
8 juillet 2014
4
salut,

tu as une matrice GL_PROJECTION avec gluPerspective, et une autre avec GL_MODELVIEW avec gluLookAt multpliée par d'autres (translate rotate scale ....)

pour afficher à l'écran un objet openGL multiplie simplement les coordonnées du point: (x,y,z,1) par la matrice modelview puis par la matrice projection

il faudrait que tu regardes un peu ça car ton explosion va poser des problèmes:
faut-il oui ou non afficher l'explosion (le point explosif est-il dans le champ de vision ?)
parfois il faut aussi afficher une partie de l'explosion (juste les bords, ou encore pire une partie peut-être cachée par un objet...)

une idée comme ça qui résoudrait le problème: plaquer ta textue d'explosion sur une sphère par exemple et afficher cette sphère comme tes autres objets (enfin après l'affichage de toute la scène car ta texture d'explosion est transparente)

après si tu veux juste un effet style dessin annimé tu peux faire comme t'as dit en multipliant les coordonnées du point explosif par tes matrices

un lien: http://www.siteduzero.com/tuto-3-23958-1-les-transformations.html

Renaud
Messages postés
36
Date d'inscription
samedi 3 février 2007
Statut
Membre
Dernière intervention
26 mai 2008

Je n'avais pas pensé au fait que des objets pouvaient être placés devant l'explosion... c'est vrai que sans depth buffer ils seraient cachés en partie...

Sinon quel genre d'effet sympa je peux obtenir avec la texture d'explosion plaquée sur la sphère? parceque c'est des sphères (astéroïdes) que je détruit et si je fais que changer la texture lors de la destruction des sphères (avec bien sur leur disparition) ça me parait pas trop top comme animation.

Spartan
Messages postés
280
Date d'inscription
dimanche 7 septembre 2003
Statut
Membre
Dernière intervention
8 juillet 2014
4
salut ben c'est toi qui voulait faire une explosion avec une texture !

apriori il faudrait que la texture se modifie avec un effet plasma ou un truc du genre pour faire vraiment explosion

en dessinant une sphère (et en utilisant le Stencil buffer ?) tu peux voir les endroits de la scène qui doivent être en explosion (idée d'un volume d'explosion)
Messages postés
36
Date d'inscription
samedi 3 février 2007
Statut
Membre
Dernière intervention
26 mai 2008

effectivement rt15, c'est la solution que j'ai choisie il y a quelques heures mais merci quand même

Spartan