From ff0316bbda5e526daeb8c0d62661c9f4ec7172ee Mon Sep 17 00:00:00 2001 From: Yoann Date: Sun, 2 Oct 2011 20:37:11 +0200 Subject: [PATCH] =?UTF-8?q?D=C3=A9but=20de=20l'affichage=20plein=20des=20t?= =?UTF-8?q?riangles=20avec=20mise=20en=20place=20de=20la=20lumi=C3=A8re=20?= =?UTF-8?q?(pas=20finit).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- display.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/display.c b/display.c index 6202706..fdb369d 100644 --- a/display.c +++ b/display.c @@ -8,18 +8,39 @@ int initWindow() { glLoadIdentity(); gluPerspective(70,(double)windowWidth/windowHeight,1,10000); glEnable(GL_DEPTH_TEST); + glEnable(GL_LIGHTING); // Active l'éclairage + glEnable(GL_LIGHT0); // Active la lumière 0; glewInit(); + + float MatSpec[4] = {1.0f, 1.0f, 1.0f, 1.0f}; + float MatDif[4] = {1.0f, 1.0f, 1.0f, 1.0f}; + float MatAmb[4] = {0.3f, 0.3f, 0.3f, 1.0f}; + + float Light1Pos[4] = {0.0f, 0.0f, -1.0f, 0.0f}; + float Light1Dif[4] = {1.0f, 0.2f, 0.2f, 1.0f}; + float Light1Spec[4] = {1.0f, 0.2f, 0.2f, 1.0f}; + float Light1Amb[4] = {0.5f, 0.5f, 0.5f, 1.0f}; + + glMaterialfv(GL_FRONT_AND_BACK,GL_SPECULAR,MatSpec); + glMaterialfv(GL_FRONT_AND_BACK,GL_DIFFUSE,MatDif); + glMaterialfv(GL_FRONT_AND_BACK,GL_AMBIENT,MatAmb); + + glLightfv(GL_LIGHT0, GL_DIFFUSE, Light1Dif); + glLightfv(GL_LIGHT0, GL_SPECULAR, Light1Spec); + glLightfv(GL_LIGHT0, GL_AMBIENT, Light1Amb); + glLightfv(GL_LIGHT0, GL_POSITION, Light1Pos); + return 0; } + int mainLoop() { short continuer = 1; SDL_Event event; while (continuer) { SDL_WaitEvent(&event); - switch(event.type) { case SDL_QUIT: continuer = 0; @@ -54,6 +75,7 @@ int mainLoop() { return 0; } + void drawAxes() { glDisable(GL_TEXTURE_2D); glBegin(GL_LINES); @@ -75,6 +97,7 @@ void drawAxes() { glEnd( ); } + void renderScene() { glMatrixMode(GL_MODELVIEW); glLoadIdentity(); @@ -90,6 +113,7 @@ void renderScene() { SDL_GL_SwapBuffers(); } + int nbTriangles(Triangle *t) { int sum = 0; @@ -104,6 +128,7 @@ int nbTriangles(Triangle *t) { return sum; } + void insertValues(Triangle *t,int *vertices) { if(t->tLeftChild == NULL) { vertices[9*nbVertex] = t->vLeft->x; @@ -123,6 +148,7 @@ void insertValues(Triangle *t,int *vertices) { } } + void displayTree2() { glVertexAttribPointer(0, 3, GL_INT, GL_FALSE, 0, vertices); glEnableVertexAttribArray(0); @@ -130,8 +156,10 @@ void displayTree2() { glDrawArrays(GL_LINE_LOOP,0, nbVertex*3); } + void displayTree(Triangle *t) { if(t->tLeftChild == NULL) { + glNormal3d(0,1,0); glBegin(GL_LINE_LOOP); glColor3ub(255,255,255); glVertex3d(t->vLeft->x,t->vLeft->y,t->vLeft->z); @@ -145,6 +173,7 @@ void displayTree(Triangle *t) { } } + int main() { initWindow(); t = initDefaultExample();