mirror of
https://github.com/bjornbytes/lovr.git
synced 2024-07-06 06:13:36 +00:00
34 lines
791 B
C
34 lines
791 B
C
#include "api/lovr.h"
|
|
#include "graphics/model.h"
|
|
|
|
int l_lovrModelDraw(lua_State* L) {
|
|
Model* model = luax_checktype(L, 1, Model);
|
|
float transform[16];
|
|
luax_readtransform(L, 2, transform, 1);
|
|
lovrModelDraw(model, transform);
|
|
return 0;
|
|
}
|
|
|
|
int l_lovrModelGetAABB(lua_State* L) {
|
|
Model* model = luax_checktype(L, 1, Model);
|
|
const float* aabb = lovrModelGetAABB(model);
|
|
for (int i = 0; i < 6; i++) {
|
|
lua_pushnumber(L, aabb[i]);
|
|
}
|
|
return 6;
|
|
}
|
|
|
|
int l_lovrModelGetMesh(lua_State* L) {
|
|
Model* model = luax_checktype(L, 1, Model);
|
|
Mesh* mesh = lovrModelGetMesh(model);
|
|
luax_pushtype(L, Mesh, mesh);
|
|
return 1;
|
|
}
|
|
|
|
const luaL_Reg lovrModel[] = {
|
|
{ "draw", l_lovrModelDraw },
|
|
{ "getAABB", l_lovrModelGetAABB },
|
|
{ "getMesh", l_lovrModelGetMesh },
|
|
{ NULL, NULL }
|
|
};
|