Dev48 | 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 :
- 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 :
- 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 :
- 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 |