summaryrefslogtreecommitdiff
path: root/Source/Asura.Framework/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Asura.Framework/graphics')
-rw-r--r--Source/Asura.Framework/graphics/canvas.lua18
-rw-r--r--Source/Asura.Framework/graphics/image.lua37
-rw-r--r--Source/Asura.Framework/graphics/material.lua11
-rw-r--r--Source/Asura.Framework/graphics/mesh2d.lua (renamed from Source/Asura.Framework/graphics/canvas_renderer.lua)0
-rw-r--r--Source/Asura.Framework/graphics/shader.lua40
-rw-r--r--Source/Asura.Framework/graphics/shape.lua0
-rw-r--r--Source/Asura.Framework/graphics/sprite.lua10
7 files changed, 110 insertions, 6 deletions
diff --git a/Source/Asura.Framework/graphics/canvas.lua b/Source/Asura.Framework/graphics/canvas.lua
new file mode 100644
index 0000000..b0a2cfb
--- /dev/null
+++ b/Source/Asura.Framework/graphics/canvas.lua
@@ -0,0 +1,18 @@
+local Canvas = AsuraEngine.Component.Sub("Canvas")
+AsuraEngine.Canvas = Canvas
+
+function Canvas.Ctor(self, width, height)
+ self.simCanvas = AsuraEngine.SimCanvas.New(width, height)
+ self.width = width
+ self.height = height
+end
+
+function Canvas.OnEnable(self)
+
+end
+
+function Canvas.OnDisable(self)
+
+end
+
+
diff --git a/Source/Asura.Framework/graphics/image.lua b/Source/Asura.Framework/graphics/image.lua
new file mode 100644
index 0000000..ad2e1a9
--- /dev/null
+++ b/Source/Asura.Framework/graphics/image.lua
@@ -0,0 +1,37 @@
+-- 图片资源
+local Image = AsuraEngine.Asset.Sub("Image")
+AsuraEngine.Image = Image
+
+function Image.Ctor(self, path)
+ local simImage = AsuraEngine.SimImage.New(path)
+ local w, h = simImage:GetSize()
+ self.simImage = simImage
+ self.width = w
+ self.height = h
+end
+
+function Image.GetWidth(self)
+ return self.simImage.GetWidth()
+end
+
+function Image.GetHeight(self)
+ return self.simImage.GetHeight()
+end
+
+function Image.GetSize(self)
+ return self.simImage.GetSize()
+end
+
+--获得x,y位置的颜色值
+function Image.GetColor(self, x, y)
+ return self.simImage.GetColor(x, y)
+end
+
+--获得所有像素,返回到一个table里
+function Image.GetPixels(self)
+ return self.simImage:GetPixels()
+end
+
+--image不可再编辑器编辑,所以没有ToAsset方法
+--function Image.ToAsset()
+--end
diff --git a/Source/Asura.Framework/graphics/material.lua b/Source/Asura.Framework/graphics/material.lua
index 0ba970c..e50b273 100644
--- a/Source/Asura.Framework/graphics/material.lua
+++ b/Source/Asura.Framework/graphics/material.lua
@@ -1,10 +1,9 @@
---[[
-material是shader的代理
-]]
-local Material = AsuraEngine.Class()
+--material是shader的代理
+local Material = AsuraEngine.Asset.Sub("Material")
function Material:Ctor()
-
+ self.uniforms = {} --uniform变量和值
+ self.isShared = false
end
function Material:ToAsset()
@@ -15,7 +14,7 @@ function Material:GetUniform(name)
end
-function Material:SendFloat()
+function Material:SetFloat()
end
diff --git a/Source/Asura.Framework/graphics/canvas_renderer.lua b/Source/Asura.Framework/graphics/mesh2d.lua
index e69de29..e69de29 100644
--- a/Source/Asura.Framework/graphics/canvas_renderer.lua
+++ b/Source/Asura.Framework/graphics/mesh2d.lua
diff --git a/Source/Asura.Framework/graphics/shader.lua b/Source/Asura.Framework/graphics/shader.lua
new file mode 100644
index 0000000..d381575
--- /dev/null
+++ b/Source/Asura.Framework/graphics/shader.lua
@@ -0,0 +1,40 @@
+local Shader = AsuraEngine.Asset.Sub("Shader")
+AsuraEngine.Shader = Shader
+
+function Shader.Ctor(self, vert, frag)
+ local simShader = AsuraEngine.simShader(vert, frag)
+ self.simShader = shader
+
+end
+
+function Shader.SendVec2(self, 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
diff --git a/Source/Asura.Framework/graphics/shape.lua b/Source/Asura.Framework/graphics/shape.lua
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Source/Asura.Framework/graphics/shape.lua
diff --git a/Source/Asura.Framework/graphics/sprite.lua b/Source/Asura.Framework/graphics/sprite.lua
new file mode 100644
index 0000000..745138e
--- /dev/null
+++ b/Source/Asura.Framework/graphics/sprite.lua
@@ -0,0 +1,10 @@
+local Sprite = AsuraEngine.Asset.Sub("Sprite")
+AsuraEngine.Sprite = Sprite
+
+function Sprite.Ctor(self, image)
+ self.image = image
+end
+
+function Sprite.ToAsset(self)
+
+end \ No newline at end of file