#ifndef __Camera__ #define __Camera__ #include "vector4.h" /* structure représentant un objet animé carré/sphère/cone */ typedef struct sCamera { Vector4 O; /* Position de la camera */ Vector4 X; /* Vecteur X (gauche)*/ Vector4 Y; /* Vecteur Vertical */ Vector4 Z; /* Vecteur avant */ } tCamera, *pCamera; /* création d'un pointeur sur une camera */ pCamera creerCamera (Vector4 eye, Vector4 vise, Vector4 up); /* Calcule le repère orthonormé (O,X,Y,Z) de la caméra à partir des attributs du gluLookAt */ void repereCamera (pCamera c, Vector4 pos, Vector4 vise, Vector4 up); /* retourne la position de la camera */ void eyeCamera (pCamera c, Vector4 eye); /* retourne le point vise par la camera : vise = O + Z */ void viseCamera (pCamera c, Vector4 vise); /* retourne le vecteur up : up = Y */ void upCamera (pCamera c, Vector4 up); /* deplacement avant/arrière de la caméra */ void avanceCamera (pCamera c, float pas); /* rotation gauche/droite de la caméra */ void tourneCamera (pCamera c, float pas); /* rotation haut/bas de la caméra */ void leveCamera (pCamera c, float pas); #endif