summaryrefslogtreecommitdiff
path: root/source/libs/asura-lib-core/graphics/binding/_shader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/libs/asura-lib-core/graphics/binding/_shader.cpp')
-rw-r--r--source/libs/asura-lib-core/graphics/binding/_shader.cpp116
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
+}