diff options
Diffstat (limited to 'Runtime/Scripting')
-rw-r--r-- | Runtime/Scripting/GL/GL.bind.cpp | 43 | ||||
-rw-r--r-- | Runtime/Scripting/Rendering/GPUDataBuffer.bind.cpp | 2 |
2 files changed, 44 insertions, 1 deletions
diff --git a/Runtime/Scripting/GL/GL.bind.cpp b/Runtime/Scripting/GL/GL.bind.cpp index bed55ca..9bc4204 100644 --- a/Runtime/Scripting/GL/GL.bind.cpp +++ b/Runtime/Scripting/GL/GL.bind.cpp @@ -1,9 +1,50 @@ #include "Runtime/Graphics/OpenGL.h" #include "Runtime/Lua/LuaBind/LuaBind.h" +#include "Runtime/Debug/Log.h" + +using namespace LuaBind; + +//http://docs.gl/gl3/glClear + +enum EBufferType +{ + COLOR_BUFFER = 1, + DEPTH_BUFFER = 2, + STENCIL_BUFFER = 3, +}; + +// GL.Clear([GL.EBufferType.COLOR_BUFFER, GL.EBufferType.DEPTH_BUFFER, GL.EBufferType.STENCIL_BUFFER]) +int Clear(lua_State* L) +{ + LUA_BIND_STATE(L); + + return 0; +} + +static luaL_Reg glFuncs[] = { + {"Clear", Clear}, + {0, 0} +}; // GameLab.Engine.GL -void luaopen_GameLab_Engine_GL(lua_State* L) +int luaopen_GameLab_Engine_GL(lua_State* L) { + log_info("Scripting", "luaopen_GameLab_Engine_GL()"); + LUA_BIND_STATE(L); + state.PushGlobalNamespace(); + state.PushNamespace("GameLab"); + state.PushNamespace("Engine"); + state.PushNamespace("GL"); + + state.RegisterMethods(glFuncs); + + LUA_BIND_REGISTER_ENUM(state, "EBufferType", + { "ColorBuffer", EBufferType::COLOR_BUFFER }, + { "DepthBuffer", EBufferType::DEPTH_BUFFER}, + { "StencilBuffer", EBufferType::STENCIL_BUFFER} + ); + + return 1; } diff --git a/Runtime/Scripting/Rendering/GPUDataBuffer.bind.cpp b/Runtime/Scripting/Rendering/GPUDataBuffer.bind.cpp new file mode 100644 index 0000000..45dcf31 --- /dev/null +++ b/Runtime/Scripting/Rendering/GPUDataBuffer.bind.cpp @@ -0,0 +1,2 @@ +#include "Runtime/Graphics/GpuDataBuffer.h" + |