summaryrefslogtreecommitdiff
path: root/Source/Asura.Framework/scripts/graphics/shader.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Asura.Framework/scripts/graphics/shader.lua')
-rw-r--r--Source/Asura.Framework/scripts/graphics/shader.lua14
1 files changed, 11 insertions, 3 deletions
diff --git a/Source/Asura.Framework/scripts/graphics/shader.lua b/Source/Asura.Framework/scripts/graphics/shader.lua
index a886481..728ab34 100644
--- a/Source/Asura.Framework/scripts/graphics/shader.lua
+++ b/Source/Asura.Framework/scripts/graphics/shader.lua
@@ -3,13 +3,21 @@ AsuraEngine.Shader = AsuraEngine.Asset.Sub("Shader")
local Shader = AsuraEngine.Shader
function Shader.Ctor(self, vert, frag)
- local simShader = AsuraEngine.simShader(vert, frag)
- self.simShader = shader
+ self.simShader = AsuraEngine.SimShader.New(vert, frag)
+ self.uniforms = {} -- 映射uniform name到location
+end
+function Shader.GetUniformLocation(self, name)
+ if self.uniforms then
+ local id = self.uniforms[name]
+ return id
+ end
+ return 0
end
function Shader.SendVec2(self, name, vec2)
-
+ local id = self:GetUniformLocation(name)
+ self.simShader:SendUniformVector2(name, vec2)
end
function Shader.SendVec3(self, name, vec3)