Bonjour.

J'ai un petit souci avec de l'éclairage...
J'esssai d'appliquer un matériau sur un cube( jusque la rien de très palpitant). Si j'applique une couleur diffuse qui ne comprend que 1 ou 2 couleurs (R,v,b, RV,RB,VB), le mélange se fait bien dans n'importe quel sens que je tourne ma scène. Mais dès que j'essaie de mettre un matériau avec les 3 composante j'obtiens du blanc...

Initialisation des lumière:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
	glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER,GL_TRUE);
 
	m_Lumiere0.setPosition(0.0f,200.0f,0.0f);
	m_Lumiere0.setDiffusion(0.9f,0.9f,0.9f);
 
	m_Lumiere1.setNumero(GL_LIGHT1);
	m_Lumiere1.setPosition(-200.0f,200.0f,-200.0f);
	m_Lumiere1.setDiffusion(0.5f,0.5f,0.5f);
Intialisation du viewport:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
	glViewport (0, 0, (GLsizei) w, (GLsizei) h);
	glMatrixMode (GL_PROJECTION);							//Set up in projection mode
   	glLoadIdentity ();					gluPerspective(45.f,(GLfloat)w/(GLfloat)h,0.01f,100.f);
 
 
    glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();
Dessin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
		glClear (GL_COLOR_BUFFER_BIT |
		GL_DEPTH_BUFFER_BIT);
 
        glDisable(GL_TEXTURE_2D);
		glLoadIdentity();
 
		//on réduit pour avoir afficher
		glScalef(0.01,0.01,0.01);
 
 
GLfloat couleur2[]={1.0f,0.5f,0.5f};
       //on va faire un cube
       glPushMatrix();
       glTranslatef(100.,100.,100.);
 
 
 
            glMaterialfv(GL_FRONT,GL_DIFFUSE,couleur2);
            glBegin(GL_TRIANGLES);
               glNormal3f(0.0,1.0,0.0);
                glVertex3f(-10,10,-10);
                glVertex3f(10,10,10);
                glVertex3f(-10,10,10);
                glVertex3f(-10,10,-10);
                glVertex3f(10,10,10);
                glVertex3f(10,10,-10);
             glEnd();
 
             glBegin(GL_TRIANGLES);
            glNormal3f(1.,0.,0.);
                glVertex3f(-10,-10,-10);
                glVertex3f(-10,10,10);
                glVertex3f(-10,10,-10);
                glVertex3f(-10,10,10);
                glVertex3f(-10,-10,-10);
                glVertex3f(-10,-10,10);
             glEnd();
 
             glBegin(GL_TRIANGLES);
            glNormal3f(0.,0.,1.0);
                glVertex3f(-10,-10,-10);
                glVertex3f(10,10,-10);
                glVertex3f(-10,10,-10);
                glVertex3f(10,10,-10);
                glVertex3f(-10,-10,-10);
                glVertex3f(10,-10,-10);
             glEnd();
       glPopMatrix();
Donc voila mon code.

Si quelqu'un pouvez m'indiquer d'ou vient le problème...
Je suis preneur de toutes explications


J'essaierai de mettre des images mais la j'ai pas acces à un ftp histoire de les mettre en lign