Problème d'éclairage [Opengl] - Divers - Programmation

Marsh Posté le 07-08-2007 à 10:08:54   

Reply

Marsh Posté le 07-08-2007 à 10:43:38    

Tes normales ne seraient pas recalculées bizarrement ?


---------------
Töp of the plöp
Reply

Marsh Posté le 07-08-2007 à 11:05:46    

1) Je pense que mes normales sont bien calculé
2) Les normales sont calculé qu'une seul fois à l'initialisation...donc quand je bouge la caméra, même si mes normales étaient mal calculé : l'éclairage devrait resté le même : non ?
 
On dirait plutot que la lumière suit la caméra...est-ce ça ?

Reply

Marsh Posté le 07-08-2007 à 11:25:18    

On dirait oui.
 
Tu peux avoir un souci de référentiel:
ta lumière suivrait le repère de ta caméra, au lieu de suivre le repère de ton mesh.


---------------
Töp of the plöp
Reply

Marsh Posté le 07-08-2007 à 12:37:23    

Mais comment corriger le problème ? Où est l'erreur dans mon code ?
 
NB : je n'utilise aucune matrice pour bouger mon modèle avant de l'afficher
NB 2 : A chaque itération de la boucle principale, je fait un glLoadIdentity(); (Je vais éditer mon premier msg)

Reply

Marsh Posté le 07-08-2007 à 12:43:17    

Bah met un glLoadIdentity avant ton gluLookAt, un autre ensuite avant ta lumière & ton mesh


---------------
Töp of the plöp
Reply

Marsh Posté le 07-08-2007 à 12:55:27    

J'avoue que je ne comprend pas dutout...
 
1) Le glLoadIdentity(); avant gluLookAt est déjà présent (J'ai édité mon code)
2) Si je met un glLoadIdentity(); avant mon mesh, ça annule gluLookAt et donc je ne peux plus bouger ma Camera !

Reply

Marsh Posté le 07-08-2007 à 13:52:45    

J'ai déja eu ce genre de problemes, si mes souvenirs ne sont pas trop perimés voila pq ta voiture est eclairée differemment selon la caméra.
 
En gros, il me semble que la grosse feinte est que quand tu change d'angle de vue, ce n'est pas la caméra que tu déplace, mais le monde que tu fais bouger. Cela veut dire que tu fais aussi bouger la lumiere que tu a placé AVANT de faire to gluLookAt. Pour palier à ça, il me semble qu'il te suffirait de placer ta lampe apres avoir fait ton gluLookAt et si je ne me gourre pas cela devrait résoudre ton probleme.
Enfin meme si ce n'est pas la solution je suis quasi certain que ton probleme vient de la, je t'invite a te referer au red book et au chapitre sur les lumieres ou ce genre de pincipes sont abordés.

Reply

Marsh Posté le 07-08-2007 à 18:44:20    

Merci, quand je spécifie la position de la lumière après gluLookAt, ça fonctionne

Reply

Marsh Posté le 07-08-2007 à 21:34:42    

Ouf, j'étais pas a coté de la plaque :)
 
Enfin manifestement tu as encore quelques incompréhension sur la façon dont fonctionnent les transformations en opengl, je te conseille vraiment de bouquiner un peu a ce sujet (pour rappelle, une vieille version du red book est disponible en ligne gratuitement, elle est loin d'etre complete car il me semble qu'elle s'arrete a opengl 1.4, mais cest largement suffisant pour ce genre de problematiques), surtout en ce qui concerne les differents types de transformations (modelling, viewing etc.) et la façon dont elles sont utilisés en opengl.

Reply

Marsh Posté le 07-08-2007 à 21:34:42   

Reply

Marsh Posté le 08-08-2007 à 09:48:13    

et en même temps si tu passes par une modèle d'éclairage tout-shader, tu poses tes propres conventions :)


Message édité par bjone le 08-08-2007 à 09:48:27
Reply

Sujets relatifs:

Leave a Replay

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