summaryrefslogtreecommitdiff
path: root/source/modules/asura-core/graphics/binding/_shader.cpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-04-13 20:15:07 +0800
committerchai <chaifix@163.com>2019-04-13 20:15:07 +0800
commit866e00474be3bfe0e7dac73b720af0b9ebf7109a (patch)
tree36c44e99352e2d582b4f2f1dbd4e9e672a54f2cf /source/modules/asura-core/graphics/binding/_shader.cpp
parentb5b43bac50ad58949e70bcd1a34b1e6c4765fd51 (diff)
*misc
Diffstat (limited to 'source/modules/asura-core/graphics/binding/_shader.cpp')
-rw-r--r--source/modules/asura-core/graphics/binding/_shader.cpp35
1 files changed, 34 insertions, 1 deletions
diff --git a/source/modules/asura-core/graphics/binding/_shader.cpp b/source/modules/asura-core/graphics/binding/_shader.cpp
index e0a6320..0484997 100644
--- a/source/modules/asura-core/graphics/binding/_shader.cpp
+++ b/source/modules/asura-core/graphics/binding/_shader.cpp
@@ -136,11 +136,16 @@ namespace AsuraEngine
return 0;
}
- // shader:SetAttribPosition()
+ // shader:SetAttribPosition(vbo, offseti, stridei, normalized)
LUAX_IMPL_METHOD(Shader, _SetAttribPosition)
{
LUAX_PREPARE(L, Shader);
+ VertexBuffer* vbo = state.CheckUserdata<VertexBuffer>(2);
+ uint offseti = state.GetValue<uint>(3, 0);
+ uint stridei = state.GetValue<uint>(4, 0);
+ bool normalized = state.GetValue<bool>(5, false);
+ self->SetAttribPosition(vbo, offseti, stridei, normalized);
return 0;
}
@@ -149,6 +154,10 @@ namespace AsuraEngine
{
LUAX_PREPARE(L, Shader);
+ VertexBuffer* vbo = state.CheckUserdata<VertexBuffer>(2);
+ uint offseti = state.GetValue<uint>(3, 0);
+ uint stridei = state.GetValue<uint>(4, 0);
+ self->SetAttribTangent(vbo, offseti, stridei);
return 0;
}
@@ -157,6 +166,10 @@ namespace AsuraEngine
{
LUAX_PREPARE(L, Shader);
+ VertexBuffer* vbo = state.CheckUserdata<VertexBuffer>(2);
+ uint offseti = state.GetValue<uint>(3, 0);
+ uint stridei = state.GetValue<uint>(4, 0);
+ self->SetAttribNormal(vbo, offseti, stridei);
return 0;
}
@@ -165,6 +178,10 @@ namespace AsuraEngine
{
LUAX_PREPARE(L, Shader);
+ VertexBuffer* vbo = state.CheckUserdata<VertexBuffer>(2);
+ uint offseti = state.GetValue<uint>(3, 0);
+ uint stridei = state.GetValue<uint>(4, 0);
+ self->SetAttribColor(vbo, offseti, stridei);
return 0;
}
@@ -173,6 +190,10 @@ namespace AsuraEngine
{
LUAX_PREPARE(L, Shader);
+ VertexBuffer* vbo = state.CheckUserdata<VertexBuffer>(2);
+ uint offseti = state.GetValue<uint>(3, 0);
+ uint stridei = state.GetValue<uint>(4, 0);
+ self->SetAttribPosition(vbo, offseti, stridei);
return 0;
}
@@ -181,6 +202,10 @@ namespace AsuraEngine
{
LUAX_PREPARE(L, Shader);
+ VertexBuffer* vbo = state.CheckUserdata<VertexBuffer>(2);
+ uint offseti = state.GetValue<uint>(3, 0);
+ uint stridei = state.GetValue<uint>(4, 0);
+ self->SetAttribPosition(vbo, offseti, stridei);
return 0;
}
@@ -189,6 +214,10 @@ namespace AsuraEngine
{
LUAX_PREPARE(L, Shader);
+ VertexBuffer* vbo = state.CheckUserdata<VertexBuffer>(2);
+ uint offseti = state.GetValue<uint>(3, 0);
+ uint stridei = state.GetValue<uint>(4, 0);
+ self->SetAttribPosition(vbo, offseti, stridei);
return 0;
}
@@ -197,6 +226,10 @@ namespace AsuraEngine
{
LUAX_PREPARE(L, Shader);
+ VertexBuffer* vbo = state.CheckUserdata<VertexBuffer>(2);
+ uint offseti = state.GetValue<uint>(3, 0);
+ uint stridei = state.GetValue<uint>(4, 0);
+ self->SetAttribPosition(vbo, offseti, stridei);
return 0;
}