diff options
Diffstat (limited to 'source/libs/asura-lib-core/graphics/binding/_shader.cpp')
-rw-r--r-- | source/libs/asura-lib-core/graphics/binding/_shader.cpp | 116 |
1 files changed, 64 insertions, 52 deletions
diff --git a/source/libs/asura-lib-core/graphics/binding/_shader.cpp b/source/libs/asura-lib-core/graphics/binding/_shader.cpp index 2f2f507..a06e54b 100644 --- a/source/libs/asura-lib-core/graphics/binding/_shader.cpp +++ b/source/libs/asura-lib-core/graphics/binding/_shader.cpp @@ -1,114 +1,126 @@ #include "../shader.h" -using namespace Luax; +using namespace std; -namespace AsuraEngine +namespace AsuraEngine { - namespace Graphics + namespace Graphics { - - void Shader::RegisterLuaxClass(LuaxState& state) + + LUAX_REGISTRY(Shader) { + LUAX_REGISTER_METHODS(state, + { "New", _New }, + { "Use", _Use }, + { "Unuse", _Unuse }, + { "Load", _Load }, + { "HasUniform", _HasUniform }, + { "GetUniformLocation", _GetUniformLocation }, + { "SetBuiltInUniforms", _SetBuiltInUniforms }, + { "SetUniformFloat", _SetUniformFloat }, + { "SetUniformTexture", _SetUniformTexture }, + { "SetUniformVector2", _SetUniformVector2 }, + { "SetUniformVector3", _SetUniformVector3 }, + { "SetUniformVector4", _SetUniformVector4 }, + { "SetUniformColor", _SetUniformColor } + ); + } - LuaxEnum EBuiltIn[] = { - {0, 0} - }; - - state.RegisterEnum("EBuiltIn", EBuiltIn); + LUAX_POSTPROCESS(Shader) + { } - void Shader::RegisterLuaxPostprocess(LuaxState& state) + // Shader.New() + LUAX_IMPL_METHOD(Shader, _New) { + LUAX_STATE(L); } - /// - /// shaderΪ - /// - int Shader::l_Use(lua_State* L) + // shader:Use() + LUAX_IMPL_METHOD(Shader, _Use) { - LUAX_STATE(L); + LUAX_PREPARE(L, Shader); } - /// - /// shaderΪǻ - /// - int Shader::l_Unuse(lua_State* L) + // shader:Unuse() + LUAX_IMPL_METHOD(Shader, _Unuse) { - LUAX_STATE(L); + LUAX_PREPARE(L, Shader); } - /// - /// ɫйshaderɹtrueʧܷfalse - /// - int Shader::l_Load(lua_State* L) + // shader:Load() + LUAX_IMPL_METHOD(Shader, _Load) { - LUAX_STATE(L); + LUAX_PREPARE(L, Shader); } - /// - /// жshaderǷuniformзtrue,false - /// - int Shader::l_HasUniform(lua_State* L) + // shader:HasUniform() + LUAX_IMPL_METHOD(Shader, _HasUniform) { - LUAX_STATE(L); + LUAX_PREPARE(L, Shader); } - /// - /// uniformslocationûuniformnilضӦloc - /// - int Shader::l_GetUniformLocation(lua_State* L) + // shader:GetUniformLocation() + LUAX_IMPL_METHOD(Shader, _GetUniformLocation) { - LUAX_STATE(L); + LUAX_PREPARE(L, Shader); } - int Shader::l_SetBuiltInUniforms(lua_State* L) + // shader:SetBuiltInUniforms() + LUAX_IMPL_METHOD(Shader, _SetBuiltInUniforms) { - LUAX_STATE(L); - + LUAX_PREPARE(L, Shader); + } - int Shader::l_SetUniformFloat(lua_State* L) + // shader:SetUniformFloat() + LUAX_IMPL_METHOD(Shader, _SetUniformFloat) { - LUAX_STATE(L); + LUAX_PREPARE(L, Shader); } - int Shader::l_SetUniformTexture(lua_State* L) + // shader:SetUniformTexture() + LUAX_IMPL_METHOD(Shader, _SetUniformTexture) { - LUAX_STATE(L); + LUAX_PREPARE(L, Shader); } - int Shader::l_SetUniformVector2(lua_State* L) + // shader:SetUniformVector2() + LUAX_IMPL_METHOD(Shader, _SetUniformVector2) { - LUAX_STATE(L); + LUAX_PREPARE(L, Shader); } - int Shader::l_SetUniformVector3(lua_State* L) + // shader:SetUniformVector3() + LUAX_IMPL_METHOD(Shader, _SetUniformVector3) { - LUAX_STATE(L); + LUAX_PREPARE(L, Shader); } - int Shader::l_SetUniformVector4(lua_State* L) + // shader:SetUniformVector4() + LUAX_IMPL_METHOD(Shader, _SetUniformVector4) { - LUAX_STATE(L); + LUAX_PREPARE(L, Shader); } - int Shader::l_SetUniformColor(lua_State* L) + // shader:SetUniformColor() + LUAX_IMPL_METHOD(Shader, _SetUniformColor) { - LUAX_STATE(L); + LUAX_PREPARE(L, Shader); } } -}
\ No newline at end of file +} |