summaryrefslogtreecommitdiff
path: root/Source/Asura.Framework/scripts/graphics/shader.lua
blob: 728ab34f78b2a15d7d2b08acbc07f4b1ac98d1a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
AsuraEngine.Shader = AsuraEngine.Asset.Sub("Shader")

local Shader = AsuraEngine.Shader

function Shader.Ctor(self, vert, frag)
	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)

end

function Shader.SendVec4(self, name, vec4)

end 

function Shader.SendTexture(self, name, tex)

end

function Shader.SendFloat(self, name, number)

end

function Shader.SendInteger(self, name, integer)

end

function Shader.SendColor(self, name, color)

end

function Shader.SendMat44(self, name, mat44)

end

return Shader