|
|
|
|
@ -226,7 +226,7 @@ getVertexAttribByName(shader_program* shader, const char* name)
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
GLmesh |
|
|
|
|
initGLmesh(const mesh& m, u32 num_mappings, GLenum draw_mode, glm::vec3 pos) |
|
|
|
|
initGLmesh(const mesh& m, u32 num_mappings, GLenum draw_mode) |
|
|
|
|
{ |
|
|
|
|
GLmesh glm = {0}; |
|
|
|
|
glm.num_indices = m.num_indices; |
|
|
|
|
@ -234,9 +234,9 @@ initGLmesh(const mesh& m, u32 num_mappings, GLenum draw_mode, glm::vec3 pos)
|
|
|
|
|
glm.usage = GL_STATIC_DRAW; // TODO: logic for updating dynamic meshes
|
|
|
|
|
glm.num_vertex_attrib_buffers = num_mappings; |
|
|
|
|
glm.vertex_attrib_buffers = UTIL_ALLOC(num_mappings, gl_buffer); |
|
|
|
|
glm.model_xform = UTIL_ALLOC(1, glm::mat4); |
|
|
|
|
glm.element_buf = UTIL_ALLOC(1, gl_buffer); |
|
|
|
|
*glm.model_xform = glm::translate(glm::mat4(1), pos); |
|
|
|
|
glm.model_xform = UTIL_ALLOC(1, glm::mat4); |
|
|
|
|
*glm.model_xform = glm::mat4(1); |
|
|
|
|
|
|
|
|
|
return glm; |
|
|
|
|
} |
|
|
|
|
@ -257,13 +257,12 @@ GLmesh
|
|
|
|
|
loadGLMesh(const mesh& m, |
|
|
|
|
GLenum draw_mode, |
|
|
|
|
GLuint diffuse_texture_id, |
|
|
|
|
const glm::vec3& pos, |
|
|
|
|
u32 num_mappings, |
|
|
|
|
GLBufferToAttribMapping mappings[]) |
|
|
|
|
{ |
|
|
|
|
// NOTE: need to use freeGLMesh() when freeing because we're not storing
|
|
|
|
|
// the gl_buffers on a memory arean (yet)
|
|
|
|
|
GLmesh glm = initGLmesh(m, num_mappings, draw_mode, pos); |
|
|
|
|
GLmesh glm = initGLmesh(m, num_mappings, draw_mode); |
|
|
|
|
glm.tex_id = diffuse_texture_id; |
|
|
|
|
glGenVertexArrays(1, &glm.vao_id); |
|
|
|
|
glBindVertexArray(glm.vao_id); |
|
|
|
|
|