Opengl 1er plan

cs_mat74 Messages postés 241 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 16 juin 2010 - 10 sept. 2004 à 17:49
soadv1 Messages postés 1 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 15 février 2006 - 15 févr. 2006 à 15:33
salut a ts

je suis en train de creer une sorte de mini golf en opengl et j'aimerai afficher des info au 1er plan comme la puissance de tir .
il faudrai que les info que j'affiche au 1er plan ne soit pas modifier par ce qui se passe derriere . ce que je voudrai afficher est une jauge de puissance donc la fonction ecriture ne sufira pas . en + ds la scene je fait tourner la camera donc il faudrai que sa n'est pas d'influence n'ont + .

voila si qq1 connai une fonction pr afficher ce genre de truc ....
merci d'avance
@+

6 réponses

Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
10 sept. 2004 à 19:03
Pour faire de l'affichage en 2D comme ça je te conseillerais de faire comme ça :

// D'abord tu dessines la scène en 3D

// Ici tu affiches en 2D.
glDisable(GL_DEPTH_TEST); // D'abord tu désactives le depth test

// Ensuite tu pushes la matrice de projection et tu passes à une projection 2D
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
gluOrtho2D(0, 640, 0, 480);

// Puis du pushes la matrice Modelview et tu charges la matrice d'identité
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();

// ICI TU DESSINES EN 2D

// Tu restaures la matrice modelview initiale
glPopMatrix();

// Tu restaures la matrice de projection initiale
glMatrixMode(GL_PROJECTION);
glPopMatrix();

Voilà, si t'es pas très calé en matrices dis-moi ce que tu comprends pas.

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
10 sept. 2004 à 20:09
personnelemnt j'ai toujours recopier ces codes sans comprendre (j'ai d'ailleur jamais chercher a comprendre les matrices d'opengl)

moi je veux bien savoir ce que ca cache
0
cs_mat74 Messages postés 241 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 16 juin 2010
10 sept. 2004 à 23:20
je vien d'essayer ta solution funto66 mais ia un truc louche qui se passe , tt devient transparent . pk ?
0
Funto66 Messages postés 1267 Date d'inscription mercredi 1 janvier 2003 Statut Membre Dernière intervention 28 février 2007 4
11 sept. 2004 à 17:06
Tout transparent??
Je vois pas du tout...et c'est pas dit que ça vienne de mon code, c'est peut-être la façon dont tu l'as utilisé, enfin je sais pas...

Pour les matrices djl, ben déjà je peux te conseiller de lire ceci :
http://prografix.games-creators.org/document/70

Là ça te donne les bases histoire de savoir ce que c'est.

Donc, une matrice c'est un tableau de 4x4 nombres à virgules. Elles sont entretenues par OpenGL.
Quand tu fais glMatrixMode(), tu définis quelle est la matrice en cours (modelview, projection ou texture).

Au moment du rendering, chaque vertex (sous la forme d'une matrice (x, y, z, w) ) que tu indiques est multiplié par la matrice modelview.
Ça te donne un nouveau vertex (x1, y1, z1, w1), qui sera la position "finale" de ton vertex, lorsque l'on se repère par rapport au repère d'origine d'OpenGL.

Quand tu fais un glScalef, glTranslatef ou glRotatef, tu multiplies la matrice modelview en cours par une matrice construite par la fonction de transformation. Ce peut être une matrice de translation, de rotation ou de redimensionnement.

En ce qui concerne la matrice de projection, tous les fragments (c'est à dire des sortes de pixels en 3D je crois, mais je n'en suis pas sûr du tout...) sont multipliés par cette matrice pour donner des coordonnées en 3D. Ça par contre je n'en suis pas très sûr, je suis pas vraiment calé là-dessus :(

Pour la matrice de texture, en fait elle te permet de faire des opérations sur les textures. Les points précisés par glTexCoord*() sont multipliés par cette matrice.
Ça te permet par exemple de faire tourner une texture sur un carré qui reste immobile...etc. Tu utilises glRotatef et consorts ^^

Ensuite vient l'histoire de la pile de matrices, mais bon je pense que tu sais à quoi ça correspond ?

---------------------------------------------------------
Patience et longueur de temps font plus que force ni que rage....
Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_mat74 Messages postés 241 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 16 juin 2010
12 sept. 2004 à 00:03
en fait j'ai trouver d'ou venai le pb c'est que pr l'affichage 2d le deph test est desactiver et ensuite je le reactivais pas .
merci pr les info
0
soadv1 Messages postés 1 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 15 février 2006
15 févr. 2006 à 15:33
coucou ca me soul je suis en projet et j'arrive a rien ca me gave.





Tain d'affichage d'image en OpenGl qui couille et ce putain de faugeras toscanie. Je captes rien
0
Rejoignez-nous