mirror of
https://github.com/bjornbytes/lovr.git
synced 2024-07-15 10:13:34 +00:00
Mat4:getPosition; Mat4:getOrientation; Mat4:getScale;
This commit is contained in:
parent
6862b8c970
commit
c5cea29428
|
@ -1828,6 +1828,37 @@ static int l_lovrMat4Unpack(lua_State* L) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int l_lovrMat4GetPosition(lua_State* L) {
|
||||||
|
mat4 m = luax_checkvector(L, 1, V_MAT4, NULL);
|
||||||
|
float position[4];
|
||||||
|
mat4_getPosition(m, position);
|
||||||
|
lua_pushnumber(L, position[0]);
|
||||||
|
lua_pushnumber(L, position[1]);
|
||||||
|
lua_pushnumber(L, position[2]);
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int l_lovrMat4GetOrientation(lua_State* L) {
|
||||||
|
mat4 m = luax_checkvector(L, 1, V_MAT4, NULL);
|
||||||
|
float angle, ax, ay, az;
|
||||||
|
mat4_getAngleAxis(m, &angle, &ax, &ay, &az);
|
||||||
|
lua_pushnumber(L, angle);
|
||||||
|
lua_pushnumber(L, ax);
|
||||||
|
lua_pushnumber(L, ay);
|
||||||
|
lua_pushnumber(L, az);
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int l_lovrMat4GetScale(lua_State* L) {
|
||||||
|
mat4 m = luax_checkvector(L, 1, V_MAT4, NULL);
|
||||||
|
float scale[4];
|
||||||
|
mat4_getScale(m, scale);
|
||||||
|
lua_pushnumber(L, scale[0]);
|
||||||
|
lua_pushnumber(L, scale[1]);
|
||||||
|
lua_pushnumber(L, scale[2]);
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
|
||||||
int l_lovrMat4Set(lua_State* L) {
|
int l_lovrMat4Set(lua_State* L) {
|
||||||
mat4 m = luax_checkvector(L, 1, V_MAT4, NULL);
|
mat4 m = luax_checkvector(L, 1, V_MAT4, NULL);
|
||||||
int top = lua_gettop(L);
|
int top = lua_gettop(L);
|
||||||
|
@ -2130,6 +2161,9 @@ int l_lovrMat4__metaindex(lua_State* L) {
|
||||||
const luaL_Reg lovrMat4[] = {
|
const luaL_Reg lovrMat4[] = {
|
||||||
{ "equals", l_lovrMat4Equals },
|
{ "equals", l_lovrMat4Equals },
|
||||||
{ "unpack", l_lovrMat4Unpack },
|
{ "unpack", l_lovrMat4Unpack },
|
||||||
|
{ "getPosition", l_lovrMat4GetPosition },
|
||||||
|
{ "getOrientation", l_lovrMat4GetOrientation },
|
||||||
|
{ "getScale", l_lovrMat4GetScale },
|
||||||
{ "set", l_lovrMat4Set },
|
{ "set", l_lovrMat4Set },
|
||||||
{ "mul", l_lovrMat4Mul },
|
{ "mul", l_lovrMat4Mul },
|
||||||
{ "identity", l_lovrMat4Identity },
|
{ "identity", l_lovrMat4Identity },
|
||||||
|
|
Loading…
Reference in a new issue