Open GL : Translater le point d'origine

Open GL : Translater le point d'origine - Programmation

Marsh Posté le 05-12-2001 à 18:47:23    

Salut !
 
Je me pose une question qui pour moi est fondamentale !
 
Si l'on prend 2 cubes (vue de face, un à gauche de l'origine et l'autre à droite).
 
Imaginons que je veuilles faire rotater les cubes sur eux-mêmes en leur centre. je sais qu'il faut faire un translate de l'origine pour placer au centre de chaque cube pour effectuer la 1ère rotation puis passer au second etc...
 
Existe-t-il d'autres méthodes ?
comme par exemple définir le centre de rotation de chaque cube définissant leurs centre de rotation pour l'effectuer !
 
Excusez-moi si cette question vous parait simple, je débute dans l'open GL.

Reply

Marsh Posté le 05-12-2001 à 18:47:23   

Reply

Marsh Posté le 05-12-2001 à 19:07:51    

Je sais pas si j'ai bien compris ce que tu veux mais tu as les fonctions popMatrix et pushMatrix (un truc dans le genre) qui te permet de sauvegarder tes matrices, au lieu de faire par ex l'inverse de la rotation, ou de la translation, etc...

Reply

Marsh Posté le 05-12-2001 à 19:38:25    

Godbout a écrit a écrit :

Je sais pas si j'ai bien compris ce que tu veux mais tu as les fonctions popMatrix et pushMatrix (un truc dans le genre) qui te permet de sauvegarder tes matrices, au lieu de faire par ex l'inverse de la rotation, ou de la translation, etc...  




Finalement ce que je veux c'est savoir si chaque objet peut avoir son propre "point" de rotation parce que si j'ai 7000 objets à Rotater en 1/25 de seconde, je dois translater le point d'origine sur le centre du cube, faire son rotate puis translater sur le suivant...etc...
 
Bref ce que je voudrais savoir c'est si chaque cube peut fonctionner "tout seul" dans son coin !
 
Merci.

Reply

Marsh Posté le 06-12-2001 à 08:59:21    

Non c pas possible avec les fonction d'opengl. Si tu veut faire ca tu doit toi meme calculer les matrice et transformer toi meme tes cubes

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed