SOS rotation en opengl

cs_popil Messages postés 6 Date d'inscription mercredi 24 mars 2004 Statut Membre Dernière intervention 30 mai 2004 - 30 mai 2004 à 13:40
cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 - 30 mai 2004 à 20:03
je suis en train de faire un tetris en C avec une interface opengl et j'ai un probleme pour faire tourner les figures sur elles-même . la fonction glrotatef me fait tourner la figure autour du centre de la fenetre et non autour du centre de la figure.
je suppose qu'il faut utiliser un repere local mai je sais tro pas commen faire ..... :sad)

PLEASE HELP!!

5 réponses

cs_AmK Messages postés 368 Date d'inscription jeudi 13 mars 2003 Statut Membre Dernière intervention 27 janvier 2010 1
30 mai 2004 à 15:58
pas besoin d'utiliser une fonction de rotation , ça fait trop prise de tete moi j'avais utilisé un systeme genre tu declares des tableaux de 3 dimensions :

unsigned int T[ 4 ] [ 4 ] [ 4 ]={ /*T : 1
1 1 1 */
{
{ 0 , 0 , 0 , 0 },
{ 3 , 3 , 3 , 0 },
{ 0 , 3 , 0 , 0 },
{ 0 , 0 , 0 , 0 }
},

{
{ 0 , 3 , 0 , 0 },
{ 0 , 3 , 3 , 0 },
{ 0 , 3 , 0 , 0 },
{ 0 , 0 , 0 , 0 }
},

{
{ 0 , 3 , 0 , 0 },
{ 3 , 3 , 3 , 0 },
{ 0 , 0 , 0 , 0 },
{ 0 , 0 , 0 , 0 }
},

{
{ 0 , 3 , 0 , 0 },
{ 3 , 3 , 0 , 0 },
{ 0 , 3 , 0 , 0 },
{ 0 , 0 , 0 , 0 }
}
};

et ainsi de suites pour les autres formes !
bien evidement à chaque fois que le joueur fait une rotation tu fais varier le premier 4 des [4][4][4] ...
enfin je suis sur que tu m'as compris !
0
cs_popil Messages postés 6 Date d'inscription mercredi 24 mars 2004 Statut Membre Dernière intervention 30 mai 2004
30 mai 2004 à 16:08
c une bonne idee.
c vrai ke ca me semble plus simple ke la fonction glrotate.
mais comment tu fais le lien entre la matrice et l'affichage sous opengl?

et comment tu declare la matrice au debut?

je suis dans la merde.
c un projet info ke je dois rendre cette semaine et je maitrise pas trop l'info.

merci
0
cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 4
30 mai 2004 à 18:19
translatef(....) avant de faire le rotatef
Optimiser, c'est bien, déboguer c'est mieux
0
cs_popil Messages postés 6 Date d'inscription mercredi 24 mars 2004 Statut Membre Dernière intervention 30 mai 2004
30 mai 2004 à 19:18
ok
tres bonne idee goldeneye
petit probleme: la figure tourne mais ne reste pas a l'ecran.
des que je lache la touche, je retrouve ma figure initiale.

comment garder ma figure affichee a l'ecran apres rotation?

merci
0

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

Posez votre question
cs_GoldenEye Messages postés 527 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 6 octobre 2008 4
30 mai 2004 à 20:03
ne fais pas de glPush() avant le mouvement ?
ou bien incrémente à chaque fois les param du translatef
Optimiser, c'est bien, déboguer c'est mieux
0