commit 1bd696b08845dbc67ec013138d3bb9db395ab4ef
parent 26c515055a86ffd4a7647002a57149adff534602
Author: Yoann <yoann.b87@voila.fr>
Date: Tue, 11 Oct 2011 11:59:00 +0200
Amélioration de l'affichage.
Diffstat:
3 files changed, 23 insertions(+), 22 deletions(-)
diff --git a/display.c b/display.c
@@ -49,18 +49,6 @@ int mainLoop() {
break;
case SDL_KEYDOWN:
switch(event.key.keysym.sym) {
- case SDLK_s:
- yCamera-=moveDist;
- break;
- case SDLK_z:
- yCamera+=moveDist;
- break;
- case SDLK_q:
- xCamera-=moveDist;
- break;
- case SDLK_d:
- xCamera+=moveDist;
- break;
case SDLK_DOWN:
ySight -= moveDist;
break;
@@ -77,6 +65,16 @@ int mainLoop() {
default:
break;
}
+ break;
+
+ case SDL_MOUSEMOTION:
+ printf("mouse motion\n");
+ xAngle = ((event.motion.x-windowWidth/2)*180/(windowWidth));
+ yAngle = (event.motion.y-windowHeight/2)*180/(windowHeight);
+ break;
+
+ default:
+ break;
}
renderScene();
@@ -116,11 +114,16 @@ void renderScene() {
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
//gluLookAt(1024,512,1356,1024,512,0,0,1,0);
- gluLookAt(xCamera,yCamera,zCamera,xCamera+xSight,yCamera+ySight,zCamera+zSight,0,1,0);
//glClearColor(1,1,1,1); // pour un fond blanc
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) ;
+ //gluLookAt(0,0,cameraDist, 0, 0, 0,0,1,0);
+ glTranslated(-xSight,-ySight,-(zSight+cameraDist));
+ glRotatef(-yAngle,1,0,0);
+ glRotatef(-xAngle,0,0,1);
+
+
drawAxes();
displayQTTree(qtn);
diff --git a/display.h b/display.h
@@ -19,14 +19,12 @@ int windowWidth = 1024;
int windowHeight = 768;
int nbVertex = 0;
-float xCamera = 100;
-float yCamera = -500;
-float zCamera = 3000;
+int cameraDist = 2000;
-int xSight = 100;
-int ySight = 500;
-int zSight = -3000;
+int xSight = 0;
+int ySight = 0;
+int zSight = 0;
float xAngle = 0;
float yAngle = 0;
-int moveDist = 64;
+int moveDist = 128;
diff --git a/square.c b/square.c
@@ -245,7 +245,7 @@ void QT_enumerate(QTNode* first) {
for (n = first; n != NULL; n = n->nextNode) {
qtnode_print(n);
glBegin(GL_TRIANGLE_FAN);
- setNormal(n->vertices[QT_NE],n->vertices[QT_NO],n->vertices[QT_SE]);
+ setNormal(n->vertices[QT_NE],n->vertices[QT_SO],n->vertices[QT_SE]);
// envoyer le vertex central
center = n->center;
glVertex3f(center->x,center->y,center->y);
@@ -280,6 +280,6 @@ void QT_enumerate(QTNode* first) {
QTNode* QT_example() {
QTNode* q = QT_baseNode();
- //QT_split(q);
+ QT_split(q);
return q;
}