33 GLint location= glGetUniformLocation(program,
"positions");
41 glGenVertexArrays(1, &vao);
44 glClearColor(0.2, 0.2, 0.2, 1);
48 glEnable(GL_DEPTH_TEST);
56 glDeleteVertexArrays(1, &vao);
65 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
68 glBindVertexArray(vao);
71 glUseProgram(program);
75 location= glGetUniformLocation(program,
"color");
76 glUniform4f(location, 1, 0.5, 0, 1);
90 glDrawArrays(GL_TRIANGLES, 0, 36);
96 int main(
int argc,
char **argv )
111 printf(
"[error] init failed.\n");
representation d'un objet / maillage.
const float * vertex_buffer() const
renvoie l'adresse de la position du premier sommet. permet de construire les vertex buffers openGL....
int vertex_count() const
renvoie le nombre de sommets.
void release()
detruit les objets openGL.
Context create_context(Window window)
cree et configure un contexte opengl
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.
Mesh read_mesh(const char *filename)
charge un fichier wavefront .obj et renvoie un mesh compose de triangles non indexes....
GLuint read_program(const char *filename, const char *definitions)
int release_program(const GLuint program)
detruit les shaders et le program.
int init(std::vector< const char * > &options)
int run(Window window, int(*draw)())
boucle de gestion des evenements de l'application.