Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1956 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  C++ opengl lumières qui changent selon zoom

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

C++ opengl lumières qui changent selon zoom

n°1614247
nisalon_ca​je
Posté le 23-09-2007 à 15:12:42  profilanswer
 

Bonjour j'ai le code suivant :  
 

Code :
  1. glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  2.   glPopMatrix();
  3.   glLoadIdentity();
  4.   glRotatef(-45.0,0.0,1.0,0.0);
  5.   glTranslatef(-4.0,0.0,-4.0);
  6.   glScalef(zoom,zoom,zoom);
  7.   glPushMatrix();
  8.   glLoadIdentity();
  9.   glPopMatrix();
  10.   glPushMatrix();
  11.  
  12.   glLightfv(GL_LIGHT0,GL_POSITION,L0pos);
  13.   glLightfv(GL_LIGHT1,GL_POSITION,L1pos);


 
le soucis est que quand je fais varier la variable zoom, l'intensité lumineuse de la pièce change. Comment fiare pour résoudre ce problème ? Merci d'avance
 
NC

mood
Publicité
Posté le 23-09-2007 à 15:12:42  profilanswer
 

n°1614253
IrmatDen
Posté le 23-09-2007 à 15:48:08  profilanswer
 

Salut
 
Est-ce que tes normales, après modification de l'echelle, sont normalisées?

n°1614258
nisalon_ca​je
Posté le 23-09-2007 à 16:05:12  profilanswer
 

heu cad ? il faut que je les recalcule a chaque changement d'échelle ? je les calculais une seul fois lors de la création de l'objet

n°1614265
IrmatDen
Posté le 23-09-2007 à 16:40:24  profilanswer
 

Oui, elles sont impactées aussi. (cf http://www.opengl.org/resources/fe [...] glpitfall/ point 1)

n°1614312
Jux_
Posté le 23-09-2007 à 23:16:04  profilanswer
 

Le scale c'est mal. Entre autre pour la raison que vient de donner IrmatDen. A chaque fois que tu vas faire un scale, si tu fais des calculs dependant des normales, il faudrait que tu les recalcule à chaque fois. Ce qui devient très vite lourd en terme de performance.
Il faut preferer un facteur multiplicatif appliqué aux coordonnées des vertex, celui ci ne changera pas la valeur des normales qui resteront les meme quelle que soit la "taille" finale de l'objet.

n°1614409
bjone
Insert booze to continue
Posté le 24-09-2007 à 11:14:36  profilanswer
 

où tu maintiens un pile de matrice avec scale et une sans scale sur la partie rotation.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  C++ opengl lumières qui changent selon zoom

 

Sujets relatifs
C++ openGL problème couleur[Opengl] Eclairage - spotCutoff
[résolu] CSS zoom limité à 30 images ?[Opengl] Problème d'éclairage
Probleme openGL et POO sous VC++[Opengl] shadow volume !!
Extensions Opengl ManquantesOPenGL ES : double buffering
Prob Zoom ImageOpengl et frame buffer object
Plus de sujets relatifs à : C++ opengl lumières qui changent selon zoom


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR