Encore quelques petit ajustement de l'éclairage et travail sur le
déplacement de la camera.
This commit is contained in:
parent
033c4d01d8
commit
425f6e2624
61
display.c
61
display.c
|
@ -11,10 +11,10 @@ int initWindow() {
|
|||
glewInit();
|
||||
|
||||
float MatSpec[4] = {0.0f, 0.0f, 0.0f, 1.0f};
|
||||
float MatDif[4] = {1.0f, 1.0f, 1.0f, 1.0f};
|
||||
float MatDif[4] = {0.0f, 0.8f, 0.0f, 1.0f};
|
||||
float MatAmb[4] = {0.1f, 0.1f, 0.1f, 1.0f};
|
||||
|
||||
float Light1Pos[4] = {0.0f, 0.0f, 1.0f, 0.0f};
|
||||
float Light1Pos[4] = {0.0f, 1.0f, 0.0f, 0.0f};
|
||||
float Light1Dif[4] = {1.0f, 1.0f, 1.0f, 1.0f};
|
||||
float Light1Spec[4] = {0.0f, 0.0f, 0.0f, 1.0f};
|
||||
float Light1Amb[4] = {0.4f, 0.4f, 0.4f, 1.0f};
|
||||
|
@ -46,30 +46,25 @@ int mainLoop() {
|
|||
switch(event.type) {
|
||||
case SDL_QUIT:
|
||||
continuer = 0;
|
||||
break;
|
||||
case SDL_KEYDOWN:
|
||||
switch(event.key.keysym.sym) {
|
||||
case SDLK_DOWN:
|
||||
case SDLK_s:
|
||||
yCamera-=moveDist;
|
||||
ySight-=moveDist;
|
||||
break;
|
||||
case SDLK_z:
|
||||
yCamera+=moveDist;
|
||||
break;
|
||||
case SDLK_q:
|
||||
xCamera-=moveDist;
|
||||
break;
|
||||
case SDLK_d:
|
||||
xCamera+=moveDist;
|
||||
break;
|
||||
case SDLK_UP:
|
||||
yCamera+=moveDist;
|
||||
ySight+=moveDist;
|
||||
break;
|
||||
case SDLK_LEFT:
|
||||
xCamera-=moveDist;
|
||||
xSight-=moveDist;
|
||||
break;
|
||||
case SDLK_RIGHT:
|
||||
xCamera+=moveDist;
|
||||
xSight+=moveDist;
|
||||
break;
|
||||
case SDLK_y:
|
||||
yAngle += 8;
|
||||
break;
|
||||
case SDLK_x:
|
||||
xAngle += 8;
|
||||
xAngle += 16;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -116,9 +111,8 @@ void renderScene() {
|
|||
|
||||
//glClearColor(1,1,1,1); // pour un fond blanc
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) ;
|
||||
|
||||
drawAxes();
|
||||
glRotated(yAngle,0,1,0);
|
||||
glRotated(xAngle,1,0,0);
|
||||
//displayTree2();
|
||||
displayTree(t);
|
||||
|
||||
|
@ -187,34 +181,15 @@ void setNormals(Triangle *t) {
|
|||
|
||||
float x = (float)((ay * bz) - (az * by));
|
||||
float y = (float)((az * bx) - (ax * bz));
|
||||
float z = (float)((ax * by) - (ay * bx));
|
||||
float z = -(float)((ax * by) - (ay * bx));
|
||||
float length = sqrt(x*x + y*y + z*z);
|
||||
z=-z;
|
||||
|
||||
length = length;
|
||||
x = x/length;
|
||||
y = y/length;
|
||||
z = z/length;
|
||||
|
||||
float coef;
|
||||
|
||||
if(max3(x,y,z) == x) {
|
||||
coef = 1-x;
|
||||
x = 1.0f;
|
||||
y += coef;
|
||||
z += coef;
|
||||
}
|
||||
if(max3(x,y,z) == y) {
|
||||
coef = 1-y;
|
||||
y = 1.0f;
|
||||
x += coef;
|
||||
z += coef;
|
||||
}
|
||||
if(max3(x,y,z) == z) {
|
||||
coef = 1-z;
|
||||
z = 1.0f;
|
||||
y += coef;
|
||||
x += coef;
|
||||
}
|
||||
|
||||
printf("%f %f %f\n",x,y,z);
|
||||
t->vLeft->xNormal = x;
|
||||
|
|
Loading…
Reference in New Issue
Block a user