46 glClearColor(0.2f, 0.2f, 0.2f, 1.f);
51 glEnable(GL_DEPTH_TEST);
61 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
66 unsigned int mb= SDL_GetRelativeMouseState(&mx, &my);
69 if(mb & SDL_BUTTON(1))
73 else if(mb & SDL_BUTTON(3))
77 else if(mb & SDL_BUTTON(2))
82 draw(objet, camera, texture);
92 glDeleteTextures(1, &texture);
98 int main(
int argc,
char **argv )
113 printf(
"[error] init failed.\n");
representation d'un objet / maillage.
void bounds(Point &pmin, Point &pmax) const
renvoie min et max les coordonnees des extremites des positions des sommets de l'objet (boite engloba...
void release()
detruit les objets openGL.
representation de la camera, type orbiter, placee sur une sphere autour du centre de l'objet.
void lookat(const Point ¢er, const float size)
observe le point center a une distance size.
void move(const float z)
rapproche / eloigne la camera du centre.
void translation(const float x, const float y)
deplace le centre / le point observe.
void rotation(const float x, const float y)
change le point de vue / la direction d'observation.
Context create_context(Window window)
cree et configure un contexte opengl
int window_height()
renvoie la hauteur de la fenetre de l'application.
void release_window(Window window)
destruction de la fenetre.
void printf(Text &text, const int px, const int py, const char *format,...)
affiche un texte a la position x, y. meme utilisation que printf().
Window create_window(const int w, const int h, const int major, const int minor, const int samples)
creation d'une fenetre pour l'application.
void release_context(Context context)
detruit le contexte openGL.
int window_width()
renvoie la largeur de la fenetre de l'application.
Mesh read_mesh(const char *filename)
charge un fichier wavefront .obj et renvoie un mesh compose de triangles non indexes....
GLuint read_texture(const int unit, const char *filename, const GLenum texel_type)
int init(std::vector< const char * > &options)
representation d'un point 3d.
int run(Window window, int(*draw)())
boucle de gestion des evenements de l'application.