gKit2 light
|
representation de la camera, type orbiter, placee sur une sphere autour du centre de l'objet. More...
#include <orbiter.h>
Public Member Functions | |
Orbiter () | |
cree une camera par defaut. observe le centre (0, 0, 0) a une distance 5. More... | |
void | lookat (const Point ¢er, const float size) |
observe le point center a une distance size. More... | |
void | lookat (const Point &pmin, const Point &pmax) |
observe le centre d'une boite englobante. More... | |
Transform | projection (const int width, const int height, const float fov) |
fixe la projection reglee pour une image d'aspect width / height, et une demi ouverture de fov degres. More... | |
float | znear () const |
renvoie le plan proche de la projection. distance min des points dans le frustum de la camera (valeur dans le repere camera). More... | |
float | zfar () const |
revnvoie le plan loin de la projection. distance max des points dans le frustum de la camera (valeur dans le repere camera). More... | |
void | rotation (const float x, const float y) |
change le point de vue / la direction d'observation. More... | |
void | translation (const float x, const float y) |
deplace le centre / le point observe. More... | |
void | move (const float z) |
rapproche / eloigne la camera du centre. More... | |
Transform | view () const |
renvoie la transformation vue. More... | |
Transform | projection () const |
renvoie la transformation projection actuelle. doit etre initialise par projection(width, height, fov). More... | |
Transform | viewport () const |
renvoie la transformation viewport actuelle. doit etre initialise par projection(width, height, fov). More... | |
void | frame (const float z, Point &dO, Vector &dx, Vector &dy) const |
Point | position () |
renvoie la position de la camera dans le repere du monde. More... | |
int | read_orbiter (const char *filename) |
relit la position de l'orbiter depuis un fichier texte. More... | |
int | write_orbiter (const char *filename) |
enregistre la position de l'orbiter dans un fichier texte. More... | |
float | radius () const |
renvoie le rayon de la scene. More... | |
Protected Attributes | |
Point | m_center |
vec2 | m_position |
vec2 | m_rotation |
float | m_size |
float | m_radius |
float | m_width |
float | m_height |
float | m_fov |
representation de la camera, type orbiter, placee sur une sphere autour du centre de l'objet.
|
inline |
void Orbiter::lookat | ( | const Point & | center, |
const float | size | ||
) |
observe le point center a une distance size.
Definition at line 7 of file orbiter.cpp.
observe le centre d'une boite englobante.
Definition at line 16 of file orbiter.cpp.
Transform Orbiter::projection | ( | const int | width, |
const int | height, | ||
const float | fov | ||
) |
fixe la projection reglee pour une image d'aspect width / height, et une demi ouverture de fov degres.
Definition at line 47 of file orbiter.cpp.
float Orbiter::znear | ( | ) | const |
renvoie le plan proche de la projection. distance min des points dans le frustum de la camera (valeur dans le repere camera).
Definition at line 56 of file orbiter.cpp.
float Orbiter::zfar | ( | ) | const |
revnvoie le plan loin de la projection. distance max des points dans le frustum de la camera (valeur dans le repere camera).
Definition at line 63 of file orbiter.cpp.
void Orbiter::rotation | ( | const float | x, |
const float | y | ||
) |
change le point de vue / la direction d'observation.
Definition at line 21 of file orbiter.cpp.
void Orbiter::translation | ( | const float | x, |
const float | y | ||
) |
deplace le centre / le point observe.
Definition at line 27 of file orbiter.cpp.
void Orbiter::move | ( | const float | z | ) |
rapproche / eloigne la camera du centre.
Definition at line 33 of file orbiter.cpp.
Transform Orbiter::view | ( | ) | const |
renvoie la transformation vue.
Definition at line 40 of file orbiter.cpp.
Transform Orbiter::projection | ( | ) | const |
renvoie la transformation projection actuelle. doit etre initialise par projection(width, height, fov).
Definition at line 71 of file orbiter.cpp.
Transform Orbiter::viewport | ( | ) | const |
renvoie la transformation viewport actuelle. doit etre initialise par projection(width, height, fov).
Definition at line 83 of file orbiter.cpp.
renvoie les coordonnees de l'origine d0 et les axes dx, dy du plan image dans le repere du monde. permet de construire un rayon pour le pixel x, y :
ou autre solution, reproduire la projection openGL :
Definition at line 89 of file orbiter.cpp.
Point Orbiter::position | ( | ) |
renvoie la position de la camera dans le repere du monde.
Definition at line 108 of file orbiter.cpp.
int Orbiter::read_orbiter | ( | const char * | filename | ) |
relit la position de l'orbiter depuis un fichier texte.
Definition at line 116 of file orbiter.cpp.
int Orbiter::write_orbiter | ( | const char * | filename | ) |
enregistre la position de l'orbiter dans un fichier texte.
Definition at line 150 of file orbiter.cpp.
|
inline |