30 glClearColor(0.2f, 0.2f, 0.2f, 1.f);
38 glEnable(GL_DEPTH_TEST);
48 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
89 int main(
int argc,
char **argv )
104 printf(
"[error] init failed.\n");
Context create_context(Window window, const int major, const int minor)
cree et configure un contexte opengl
representation de la camera, type orbiter, placee sur une sphere autour du centre de l'objet...
void bounds(Point &pmin, Point &pmax)
renvoie min et max les coordonnees des extremites des positions des sommets de l'objet (boite engloba...
representation d'un objet / maillage.
void draw(Mesh &m, const Transform &model, const Transform &view, const Transform &projection, const GLuint texture)
applique une texture a la surface de l'objet. ne fonctionne que si les coordonnees de textures sont f...
void release()
detruit les objets openGL.
void lookat(const Point ¢er, const float size)
observe le point center a une distance size.
Window create_window(const int w, const int h)
creation d'une fenetre pour l'application.
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().
void release_context(Context context)
detruit le contexte openGL.
representation d'un point 3d.
void release_window(Window window)
destruction de la fenetre.
int run(Window window, int(*draw)(void))
fonction principale. gestion des evenements et appel de la fonction draw de l'application.
Mesh read_mesh(const char *filename)
charge un fichier wavefront .obj et renvoie un mesh compose de triangles non indexes. utiliser glDrawArrays pour l'afficher. a detruire avec Mesh::release( ).