From 811df4a7c95879fd4beca4c9253df2a74d87f443 Mon Sep 17 00:00:00 2001 From: jussi Date: Wed, 18 May 2022 19:16:05 +0300 Subject: Quaternions. --- src/lua_core.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'src/lua_core.c') diff --git a/src/lua_core.c b/src/lua_core.c index 60b07f9..cddad38 100644 --- a/src/lua_core.c +++ b/src/lua_core.c @@ -888,6 +888,29 @@ void luaRegister() { lua_register( L, "RL_MatrixPerspective", lmathMatrixPerspective ); lua_register( L, "RL_MatrixOrtho", lmathMatrixOrtho ); lua_register( L, "RL_MatrixLookAt", lmathMatrixLookAt ); + /* Quaternion. */ + lua_register( L, "RL_QuaternionAdd", lmathQuaternionAdd ); + lua_register( L, "RL_QuaternionAddValue", lmathQuaternionAddValue ); + lua_register( L, "RL_QuaternionSubtract", lmathQuaternionSubtract ); + lua_register( L, "RL_QuaternionSubtractValue", lmathQuaternionSubtractValue ); + lua_register( L, "RL_QuaternionIdentity", lmathQuaternionIdentity ); + lua_register( L, "RL_QuaternionLength", lmathQuaternionLength ); + lua_register( L, "RL_QuaternionNormalize", lmathQuaternionNormalize ); + lua_register( L, "RL_QuaternionInvert", lmathQuaternionInvert ); + lua_register( L, "RL_QuaternionMultiply", lmathQuaternionMultiply ); + lua_register( L, "RL_QuaternionScale", lmathQuaternionScale ); + lua_register( L, "RL_QuaternionDivide", lmathQuaternionDivide ); + lua_register( L, "RL_QuaternionLerp", lmathQuaternionLerp ); + lua_register( L, "RL_QuaternionNlerp", lmathQuaternionNlerp ); + lua_register( L, "RL_QuaternionSlerp", lmathQuaternionSlerp ); + lua_register( L, "RL_QuaternionFromVector3ToVector3", lmathQuaternionFromVector3ToVector3 ); + lua_register( L, "RL_QuaternionFromMatrix", lmathQuaternionFromMatrix ); + lua_register( L, "RL_QuaternionToMatrix", lmathQuaternionToMatrix ); + lua_register( L, "RL_QuaternionFromAxisAngle", lmathQuaternionFromAxisAngle ); + lua_register( L, "RL_QuaternionToAxisAngle", lmathQuaternionToAxisAngle ); + lua_register( L, "RL_QuaternionFromEuler", lmathQuaternionFromEuler ); + lua_register( L, "RL_QuaternionToEuler", lmathQuaternionToEuler ); + lua_register( L, "RL_QuaternionTransform", lmathQuaternionTransform ); /* Gui. */ /* Global. */ @@ -1346,6 +1369,18 @@ void uluaPushRectangle( lua_State *L, Rectangle rect ) { lua_rawseti( L, -2, 4 ); } +void uluaPushQuaternion( lua_State *L, Quaternion quaternion ) { + lua_createtable( L, 4, 0 ); + lua_pushnumber( L, quaternion.x ); + lua_rawseti( L, -2, 1 ); + lua_pushnumber( L, quaternion.y ); + lua_rawseti( L, -2, 2 ); + lua_pushnumber( L, quaternion.z ); + lua_rawseti( L, -2, 3 ); + lua_pushnumber( L, quaternion.w ); + lua_rawseti( L, -2, 4 ); +} + void uluaPushMatrix( lua_State *L, Matrix matrix ) { lua_createtable( L, 4, 0 ); -- cgit v1.2.3