6 :
App(width, height, major, minor), m_camera()
12AppCamera::~AppCamera( ) {}
14int AppCamera::prerender( )
27 unsigned int mb= SDL_GetRelativeMouseState(&mx, &my);
30 if(mb & SDL_BUTTON(1))
31 camera.rotation(mx, my);
32 else if(mb & SDL_BUTTON(3))
35 else if(mb & SDL_BUTTON(2))
43 camera.move(8.f * wheel.y);
46 const char *orbiter_filename=
"app_orbiter.txt";
51 camera.write_orbiter(orbiter_filename);
void update_camera(Orbiter &camera)
gestion de la camera, clavier / souris.
virtual int update(const float time, const float delta)
a deriver et redefinir pour animer les objets en fonction du temps.
AppCamera(const int width, const int height, const int major=3, const int minor=3)
constructeur, dimensions de la fenetre et version d'openGL.
App(const int width, const int height, const int major=3, const int minor=3)
constructeur, dimensions de la fenetre et version d'openGL.
representation de la camera, type orbiter, placee sur une sphere autour du centre de l'objet.
int read_orbiter(const char *filename)
relit la position de l'orbiter depuis un fichier texte.
int window_height()
renvoie la hauteur de la fenetre de l'application.
void clear_key_state(const SDL_Keycode key)
desactive une touche du clavier.
void clear_wheel_event()
desactive l'evenement.
int key_state(const SDL_Keycode key)
renvoie l'etat d'une touche du clavier. cf la doc SDL2 pour les codes.
SDL_MouseWheelEvent wheel_event()
renvoie le dernier evenement. etat de la molette de la souris / glisser sur le pad.
int window_width()
renvoie la largeur de la fenetre de l'application.
float delta_time()
renvoie le temps ecoule depuis la derniere frame, en millisecondes.
float global_time()
renvoie le temps ecoule depuis le lancement de l'application, en millisecondes.
int screenshot(const char *filename)
enregistre le contenu de la fenetre dans un fichier. doit etre de type .png / .bmp