diff options
Diffstat (limited to 'source/modules/asura-core/graphics/binding/_gl.cpp')
-rw-r--r-- | source/modules/asura-core/graphics/binding/_gl.cpp | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/source/modules/asura-core/graphics/binding/_gl.cpp b/source/modules/asura-core/graphics/binding/_gl.cpp new file mode 100644 index 0000000..4c0605f --- /dev/null +++ b/source/modules/asura-core/graphics/binding/_gl.cpp @@ -0,0 +1,127 @@ +#include "../gl.h" + +using namespace std; +using namespace Luax; + +namespace AsuraEngine +{ + namespace Graphics + { + + LUAX_REGISTRY(OpenGL) + { + LUAX_REGISTER_METHODS(state, + { "SetMatrixMode", _SetMatrixMode }, + { "GetMatrixMode", _GetMatrixMode }, + { "PushMatrix", _PushMatrix }, + { "PopMatrix", _PopMatrix }, + { "LoadIdentity", _LoadIdentity }, + { "Rotate", _Rotate }, + { "Translate", _Translate }, + { "Scale", _Scale }, + { "Ortho", _Ortho }, + { "GetMatrixDepth", _GetMatrixDepth }, + { "GetMatrixIndex", _GetMatrixIndex } + ); + } + + LUAX_POSTPROCESS(OpenGL) + { + LUAX_REGISTER_ENUM(state, "EMatrixMode", + { "PROJECTION", MATRIX_PROJECTION }, + { "MODELVIEW", MATRIX_MODELVIEW } + ); + + } + + // GL.SetMatrixMode() + LUAX_IMPL_METHOD(OpenGL, _SetMatrixMode) + { + LUAX_PREPARE(L, OpenGL); + MatrixMode mode = (MatrixMode)state.CheckValue<int>(1); + gl.SetMatrixMode(mode); + return 0; + } + + // GL.GetMatrixMode() + LUAX_IMPL_METHOD(OpenGL, _GetMatrixMode) + { + LUAX_PREPARE(L, OpenGL); + + return 0; + } + + // GL.PushMatrix() + LUAX_IMPL_METHOD(OpenGL, _PushMatrix) + { + LUAX_PREPARE(L, OpenGL); + + return 0; + } + + // GL.PopMatrix() + LUAX_IMPL_METHOD(OpenGL, _PopMatrix) + { + LUAX_PREPARE(L, OpenGL); + + return 0; + } + + // GL.LoadIdentity() + LUAX_IMPL_METHOD(OpenGL, _LoadIdentity) + { + LUAX_PREPARE(L, OpenGL); + + return 0; + } + + // GL.Rotate() + LUAX_IMPL_METHOD(OpenGL, _Rotate) + { + LUAX_PREPARE(L, OpenGL); + + return 0; + } + + // GL.Translate() + LUAX_IMPL_METHOD(OpenGL, _Translate) + { + LUAX_PREPARE(L, OpenGL); + + return 0; + } + + // GL.Scale() + LUAX_IMPL_METHOD(OpenGL, _Scale) + { + LUAX_PREPARE(L, OpenGL); + + return 0; + } + + // GL.Ortho() + LUAX_IMPL_METHOD(OpenGL, _Ortho) + { + LUAX_PREPARE(L, OpenGL); + + return 0; + } + + // GL.GetMatrixDepth() + LUAX_IMPL_METHOD(OpenGL, _GetMatrixDepth) + { + LUAX_PREPARE(L, OpenGL); + + return 0; + } + + // GL.GetMatrixIndex() + LUAX_IMPL_METHOD(OpenGL, _GetMatrixIndex) + { + LUAX_PREPARE(L, OpenGL); + + return 0; + } + + } +} |