Bonjour a tous =)
J'ai un petit probleme dans mon application 3D concernant l'ajout de lumieres opengl. En effet, mes meshes .obj sont tres mal eclaires, que ce soit une sphere, un cube ou un monkey.
[Screen du bug]
[Screen du bug]
Mes normales de vertex sont importees depuis le fichier obj et sont stockees dans un VBO.
Je peux fournir du code au besoin.
Quelques questions :
- Les vertex normals sont bien supportees par glNormalPointer() ?
- Est-il necessaire de calculer les normales par face, dans quel cas sont-elles utilisees ?
- Le code d'initialisation des lumieres est-il correct ?
(Desole pour l'absence d'accents, mon clavier a quelques soucis lui aussi ^^)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 glEnable(GL_LIGHTING); glEnable(GL_DEPTH_TEST); GLfloat matAmbient[] = {1.f,1.f,1.f,1.f}; GLfloat matDiffuse[] = {1.f,1.f,1.f,1.f}; glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT, matAmbient); glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, matDiffuse); GLfloat positionLight[] = {0.f, 0.f, 5.0f, 0.0f}; glLightfv(GL_LIGHT0, GL_POSITION, positionLight); glEnable(GL_LIGHT0);
Partager