|
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. | |
| void | lookat (const Point ¢er, const float size) |
| observe le point center a une distance size. | |
| void | lookat (const Point &pmin, const Point &pmax) |
| observe le centre d'une boite englobante. | |
| 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. | |
| 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). | |
| 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). | |
| void | rotation (const float x, const float y) |
| change le point de vue / la direction d'observation. | |
| void | translation (const float x, const float y) |
| deplace le centre / le point observe. | |
| void | move (const float z) |
| rapproche / eloigne la camera du centre. | |
| Transform | view () const |
| renvoie la transformation vue. | |
| Transform | projection () const |
| renvoie la transformation projection actuelle. doit etre initialise par projection(width, height, fov). | |
| Transform | viewport () const |
| renvoie la transformation viewport actuelle. doit etre initialise par projection(width, height, fov). | |
| 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. | |
| vec3 | translation () |
| renvoie la translation de l'orbiter | |
| vec2 | rotation () |
| renvoie les angles de rotation de l'orbiter | |
| int | read_orbiter (const char *filename) |
| relit la position de l'orbiter depuis un fichier texte. | |
| int | write_orbiter (const char *filename) |
| enregistre la position de l'orbiter dans un fichier texte. | |
| float | radius () const |
| renvoie le rayon de la scene. | |
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 17 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 48 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 57 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 64 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 22 of file orbiter.cpp.
| void Orbiter::translation | ( | const float | x, |
| const float | y ) |
deplace le centre / le point observe.
Definition at line 28 of file orbiter.cpp.
| void Orbiter::move | ( | const float | z | ) |
rapproche / eloigne la camera du centre.
Definition at line 34 of file orbiter.cpp.
| Transform Orbiter::view | ( | ) | const |
renvoie la transformation vue.
Definition at line 41 of file orbiter.cpp.
| Transform Orbiter::projection | ( | ) | const |
renvoie la transformation projection actuelle. doit etre initialise par projection(width, height, fov).
Definition at line 72 of file orbiter.cpp.
| Transform Orbiter::viewport | ( | ) | const |
renvoie la transformation viewport actuelle. doit etre initialise par projection(width, height, fov).
Definition at line 84 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 90 of file orbiter.cpp.
| Point Orbiter::position | ( | ) |
renvoie la position de la camera dans le repere du monde.
Definition at line 109 of file orbiter.cpp.
| vec3 Orbiter::translation | ( | ) |
renvoie la translation de l'orbiter
Definition at line 117 of file orbiter.cpp.
| vec2 Orbiter::rotation | ( | ) |
renvoie les angles de rotation de l'orbiter
Definition at line 122 of file orbiter.cpp.
| int Orbiter::read_orbiter | ( | const char * | filename | ) |
relit la position de l'orbiter depuis un fichier texte.
Definition at line 127 of file orbiter.cpp.
| int Orbiter::write_orbiter | ( | const char * | filename | ) |
enregistre la position de l'orbiter dans un fichier texte.
Definition at line 161 of file orbiter.cpp.
|
inline |