CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

problème de rotation en opengl (C++)

sunmat
sunmat
Niveau 4
27 novembre 2005 à 17:16:20

bonjour, j´ai un petit problème en OpenGL, avec le programme d´exemple de DevC++ 4 :
ce code permet de faire un triangle avec trois couleurs qui tourne dans le sens inverse des aiguilles d´une montre (sens direct mathématiquement parlant). J´ai tenté de le faire tourner dans l´autre sens en remplaçant la ligne
theta += 1.0f;
par
theta -= 1.0f;

mais ça ne marche pas. J´ai tenté alors de remplacer theta par -theta dans la fonction glrotatf (ou qqc comme ça, je ne sais plus...), et là encore ça ne marche pas.
(quand je dit que ça ne marche pas, ça veut dire : le triangle ne tourne pas du tout, car le programme ne présente aucune erreur de compilation).
Quelqu´un peu m´aider ?

Cpp_TOM
Cpp_TOM
Niveau 5
27 novembre 2005 à 17:27:23

verifie qu´il y est pas ailleur dans le programme de theta += 1.0f, ce qui annulerait ton theta -= 1.0f pour le mettre au final a 0.

ta fonction glRotatef(theta, 0, 0, 1) t´as pas a la changer juste a verifier que theta se decremente bien. regarde avec le debugger en mettant un point d´arret au niveau du theta.

sunmat
sunmat
Niveau 4
27 novembre 2005 à 20:11:56

j´ai regardé, il n´y a pas d´autre modification de theta ailleur. JE vais voir avec le debbuger, merci bien !

JeanYvesYves
JeanYvesYves
Niveau 10
29 novembre 2005 à 21:32:30

Vérifie que tu n´as aucun glLoadIdentity APRES ton glRotate (et avant le glSwapBuffer)

Vérifie que le glRotate est fait AVANT de dessiner ton triangle.

En effet, OpenGL est une machine a état :
glRotate modifie la matrice GL_MODELVIEW, et seuls les triangles dessinés APRES sont affectés.
glLoadIdentity fait un "reset" de toutes les transformations, si j´ose dire (mathématiquement, il remet la matrice modelview (qui est le produit du placement caméra, et les translations/rotations, a l´identité))

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment