www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 9e3b8004561b638642dcb35107eb0f6e4b70c56e
parent 0a7ea95bd8c25187b82517c8db5dedef6275f04b
Author: Yoann <yoann.b87@voila.fr>
Date:   Sun,  2 Oct 2011 12:17:26 +0200

Ajout du mouvement avec les pavé directionnel pour une meilleure
observation du terrain.

Diffstat:
Mdisplay.c | 36+++++++++++++++++++++++++++++++++---
1 file changed, 33 insertions(+), 3 deletions(-)

diff --git a/display.c b/display.c @@ -10,14 +10,23 @@ void displayTree(Triangle *t); void Draw_Axes (); Triangle *t; +int windowWidth = 1024; +int windowHeight = 768; +int xCamera = 1024; +int yCamera = -800; +int zCamera = 600; +int xSight = 1024; +int ySight = 512; +int zSight = 0; +int moveDist = 64; int initWindow() { SDL_Init(SDL_INIT_VIDEO); SDL_WM_SetCaption("Sortie terrain OpenGL",NULL); - SDL_SetVideoMode(640, 480, 32, SDL_OPENGL); + SDL_SetVideoMode(windowWidth, windowHeight, 32, SDL_OPENGL); glMatrixMode( GL_PROJECTION ); glLoadIdentity(); - gluPerspective(70,(double)640/480,1,10000); + gluPerspective(70,(double)windowWidth/windowHeight,1,10000); glEnable(GL_DEPTH_TEST); return 0; @@ -33,6 +42,27 @@ int mainLoop() { switch(event.type) { case SDL_QUIT: continuer = 0; + case SDL_KEYDOWN: + switch(event.key.keysym.sym) { + case SDLK_DOWN: + yCamera-=moveDist; + ySight-=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; + default: + break; + } } renderScene(); @@ -68,7 +98,7 @@ void renderScene() { glMatrixMode(GL_MODELVIEW); glLoadIdentity(); //gluLookAt(1024,512,1356,1024,512,0,0,1,0); - gluLookAt(1024,-200,500,1024,512,0,0,1,0); + gluLookAt(xCamera,yCamera,zCamera,xSight,ySight,zSight,0,1,0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) ; drawAxes();