2017-03-11 10:25:39 +00:00
|
|
|
#include "api/types/model.h"
|
|
|
|
#include "api/types/texture.h"
|
|
|
|
#include "api/types/transform.h"
|
2016-08-10 06:28:17 +00:00
|
|
|
|
|
|
|
const luaL_Reg lovrModel[] = {
|
2016-10-31 20:54:32 +00:00
|
|
|
{ "draw", l_lovrModelDraw },
|
2016-11-08 22:51:58 +00:00
|
|
|
{ "getTexture", l_lovrModelGetTexture },
|
|
|
|
{ "setTexture", l_lovrModelSetTexture },
|
2016-08-10 06:28:17 +00:00
|
|
|
{ NULL, NULL }
|
|
|
|
};
|
2016-10-31 20:54:32 +00:00
|
|
|
|
|
|
|
int l_lovrModelDraw(lua_State* L) {
|
2016-11-19 08:57:18 +00:00
|
|
|
Model* model = luax_checktype(L, 1, Model);
|
2017-01-20 03:11:42 +00:00
|
|
|
float transform[16];
|
|
|
|
luax_readtransform(L, 2, transform);
|
|
|
|
lovrModelDraw(model, transform);
|
2016-10-31 20:54:32 +00:00
|
|
|
return 0;
|
|
|
|
}
|
2016-11-08 22:51:58 +00:00
|
|
|
|
|
|
|
int l_lovrModelGetTexture(lua_State* L) {
|
2016-11-19 08:57:18 +00:00
|
|
|
Model* model = luax_checktype(L, 1, Model);
|
|
|
|
luax_pushtype(L, Texture, lovrModelGetTexture(model));
|
2016-11-08 22:51:58 +00:00
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
int l_lovrModelSetTexture(lua_State* L) {
|
2016-11-19 08:57:18 +00:00
|
|
|
Model* model = luax_checktype(L, 1, Model);
|
|
|
|
Texture* texture = luax_checktype(L, 2, Texture);
|
2016-11-08 22:51:58 +00:00
|
|
|
lovrModelSetTexture(model, texture);
|
|
|
|
return 0;
|
|
|
|
}
|