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/
|