diff options
Diffstat (limited to 'src/glm/mat4.c')
| -rw-r--r-- | src/glm/mat4.c | 36 | 
1 files changed, 36 insertions, 0 deletions
| diff --git a/src/glm/mat4.c b/src/glm/mat4.c new file mode 100644 index 0000000..f98cdfb --- /dev/null +++ b/src/glm/mat4.c @@ -0,0 +1,36 @@ +#include <lua.h> +#include <honeysuckle.h> +#include <cglm/cglm.h> +#include "util/util.h" + +int mat4_create(lua_State *L); +int mat4_identity(lua_State *L); + +void setup_mat4(lua_State *L, int glm_tbl) +{ +	int tbl = hs_create_table(L, +		hs_str_cfunc("mat4", mat4_create), +		hs_str_cfunc("mat4_identity", mat4_identity), +	); + +	append_table(L, glm_tbl, tbl); +	lua_pop(L, 1); +} + + +int mat4_create(lua_State *L) +{ +	lua_newuserdata(L, 16*sizeof(float)); +	return 1; +} + + +int mat4_identity(lua_State *L) +{ +	void *ptr; +	hs_parse_args(L, hs_user(ptr)); +	mat4 *m = ptr; + +	glm_mat4_identity(*m); +	return 0; +} | 
