aboutsummaryrefslogtreecommitdiff
path: root/mons_3d/src/model.c
blob: ed2e543a2a0a4e3ec4b8221aeffb1c376e1bfc6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "model.h"
#include "texture.h"
#include "camera.h"
#include <glad/gl.h>

void mons_model_draw(mons_model model) {
    glUseProgram(model.shader);
    mons_shader_apply_global_uniforms(model.shader);
    mons_shader_set_mat4(model.shader, "transform", mons_transform_matrix(model.transform), GL_TRUE);
    for (int i = 0; i < model.textures_len; i++) {
        mons_texture_bind(model.shader, i, model.textures[i]);
    }
    glBindVertexArray(model.mesh.vao);
    glDrawElements(GL_TRIANGLES, model.mesh.element_count, GL_UNSIGNED_INT, 0);
}