Bonsoir !
J'ai cherché toute l'après midi, et ça commence à m'agacer :
je veux faire une lumière toute simple qui représenterai le soleil sur ma heightmap. Hors quand je tourne, il semble que la lumière reste toujours sur ses coordonnées :
Pour les rotations j'utilise les quaternions... alors ma question : comment se fait il que le "soleil" reste statique, et que mon monde tourne comme il faut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 GLfloat LightAmbient[4]= { 0.0f, 0.0f, 0.0f, 1.0f }; GLfloat LightDiffuse[4]= { 1.0f, 1.0f, 1.0f, 1.0f }; GLfloat LightPosition[4]= { 1.0f, 0.0f, 0.0f, 0.0f }; glLightfv(GL_LIGHT0, GL_AMBIENT, LightAmbient); glLightfv(GL_LIGHT0, GL_DIFFUSE, LightDiffuse); glLightfv(GL_LIGHT0, GL_POSITION,LightPosition); glEnable(GL_LIGHT0); glEnable(GL_LIGHTING);
Le problème se voit quand je regarde le sol, il devient sombre suivant son angle avec l'axe des x. Comment donc qu'on fait ? Hormis l'utilisation de lightmaps pour représenter le soleil, cela veut dire que si je pose des lumieres dans mon programme (genre une map la nuit), elles auront toutes ce comportement, ce qui n'est pas jojo...
PS : je précise, les vertices de ma mp snt stockés dans une displaylist, si ça peut servir...
Partager