#include <Camera.h>
Public Member Functions | |
Camera () | |
Constructeur de Camera. | |
void | move (vector3 *vec) |
Fonction de deplacement selon un vecteur. | |
void | move (int dir, float deltaT, float speed) |
Fonction de deplacement selon une direction et une vitesse donnees. | |
void | rotate (float y, float p) |
Fonction de rotation selon deux des trois axes du repere. | |
void | updateCam () |
Fonction de mise a jour du repere en fonction des angles de rotation. | |
void | setCam (float m[16]) |
Fonction de mise a jour du repere de l'observateur a partir d'une matrice de vue. | |
Public Attributes | |
vector3 * | up |
Vecteur 'up' du repere de l'observateur. | |
point3 * | pos |
Position de l'observateur. | |
point3 * | lk |
Point que l'observateur regarde. | |
float | pitch |
float | yaw |
vector3 * | fwd |
Vecteur 'fwd' du repete de l'observateur. | |
vector3 * | side |
Vecteur 'side' du repere de l'observateur. | |
vector3 * | mve_fwd |
Vecteur de mouvement vers l'avant, independant de la vue de l'observateur. | |
vector3 * | mve_side |
Vecteur de mouvement vers le cote, independant de la vue de l'observateur. | |
vector3 * | mve_up |
Vecteur de mouvement vers le haut, independant de la vue de l'observateur. |
Cette classe permet de conserver toutes les informations relatives au repere de vue de l'observateur. Cela permet ensuite d'effectuer des deplacements selon ces trois axes et des rotations selon deux des trois axes.
Le repere est constitue de deux points (pos et lk) et de trois axes (up, fwd et side). Le point pos indique la position de l'observateur dans le monde. Le point lk est le point qu'il regarde. Le vecteur fwd est le vecteur normalise entre pos et lk. Le vecteur up indique la direction du 'haut' pour l'observateur. Le vecteur side est le produit vectoriel des deux precedents vecteurs et indique le 'cote' de l'observateur.
Ce repere de l'observateur est complete par un autre repere independant de la vue, permettant par exemple de se changer l'elevation selon la verticale exacte du monde.
|
Constructeur de Camera. Initialise les vecteurs de vue et de deplacement pour avoir au depart une vue verticale vers le bas, en regardant au point (0,0,0) du monde. |
|
Fonction de deplacement selon une direction et une vitesse donnees.
|
|
Fonction de deplacement selon un vecteur.
|
|
Fonction de rotation selon deux des trois axes du repere.
|
|
Fonction de mise a jour du repere de l'observateur a partir d'une matrice de vue.
|
|
Fonction de mise a jour du repere en fonction des angles de rotation. Cette fonction doit etre appelee avant tout rendu pour recalculer les vecteurs du repere de l'observateur a partir des angles de rotation. |
|
Vecteur 'fwd' du repete de l'observateur.
|
|
Point que l'observateur regarde.
|
|
Vecteur de mouvement vers l'avant, independant de la vue de l'observateur.
|
|
Vecteur de mouvement vers le cote, independant de la vue de l'observateur.
|
|
Vecteur de mouvement vers le haut, independant de la vue de l'observateur.
|
|
|
|
Position de l'observateur.
|
|
Vecteur 'side' du repere de l'observateur.
|
|
Vecteur 'up' du repere de l'observateur.
|
|
|