diff options
Diffstat (limited to 'src/mesh')
-rw-r--r-- | src/mesh/mesh.c | 16 | ||||
-rw-r--r-- | src/mesh/mesh.h | 3 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/mesh/mesh.c b/src/mesh/mesh.c index 55de82c..1889bd7 100644 --- a/src/mesh/mesh.c +++ b/src/mesh/mesh.c @@ -1,5 +1,18 @@ #include "mesh.h" +void honey_setup_mesh(lua_State* L) +{ + honey_lua_element mesh_elements[] = { + { "new", HONEY_FUNCTION, { .function = honey_mesh_new } }, + { "draw", HONEY_FUNCTION, { .function = honey_mesh_draw } }, + { "delete", HONEY_FUNCTION, { .function = honey_mesh_delete } }, + }; + + honey_lua_create_table(L, mesh_elements, 3); +} + +/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + int honey_mesh_new(lua_State* L) { float* vertices; @@ -58,6 +71,9 @@ int honey_mesh_new(lua_State* L) } glBindVertexArray(0); + + free(attribute_sizes); + return 1; } diff --git a/src/mesh/mesh.h b/src/mesh/mesh.h index a82db52..1f3bc3e 100644 --- a/src/mesh/mesh.h +++ b/src/mesh/mesh.h @@ -16,6 +16,9 @@ typedef struct { unsigned int vertex_array, vertex_buffer, element_buffer; } honey_mesh; +/** @brief Push the mesh bindings to the lua stack. */ +void honey_setup_mesh(); + /** @brief Create a new mesh from vertex and index arrays. * * This function copies the data, so you can safely permit vertices and |