summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/Asura.Engine/Asura.h4
-rw-r--r--Source/Asura.Engine/Containers/Map.h4
-rw-r--r--Source/Asura.Engine/Containers/String.h4
-rw-r--r--Source/Asura.Engine/Containers/StringMap.hpp4
-rw-r--r--Source/Asura.Engine/Containers/Vector.hpp4
-rw-r--r--Source/Asura.Engine/Factory.h4
-rw-r--r--Source/Asura.Engine/FileSystem/Asset.h22
-rw-r--r--Source/Asura.Engine/FileSystem/Loader.h20
-rw-r--r--Source/Asura.Engine/Graphics/Canvas.h10
-rw-r--r--Source/Asura.Engine/Graphics/Color.h8
-rw-r--r--Source/Asura.Engine/Graphics/Image.h8
-rw-r--r--Source/Asura.Engine/Graphics/Mesh2D.h4
-rw-r--r--Source/Asura.Engine/Graphics/OpenGL.h4
-rw-r--r--Source/Asura.Engine/Graphics/Shader.h7
-rw-r--r--Source/Asura.Engine/Graphics/Texture.h5
-rw-r--r--Source/Asura.Engine/Graphics/Window.h4
-rw-r--r--Source/Asura.Engine/Manager.hpp4
-rw-r--r--Source/Asura.Engine/Math/Matrix44.h4
-rw-r--r--Source/Asura.Engine/Math/Vector2.h4
-rw-r--r--Source/Asura.Engine/Math/Vector3.h4
-rw-r--r--Source/Asura.Engine/Math/Vector4.h4
-rw-r--r--Source/Asura.Engine/Object.h4
-rw-r--r--Source/Asura.Engine/Physics/World.h4
-rw-r--r--Source/Asura.Engine/Scripting/Luax.hpp4
-rw-r--r--Source/Asura.Engine/Type.h4
-rw-r--r--Source/Asura.Framework/Filesystem/animation_loader.lua4
-rw-r--r--Source/Asura.Framework/Framework.lua1
-rw-r--r--Source/Asura.Framework/GUI/Button.lua5
-rw-r--r--Source/Asura.Framework/Graphics/Material.lua11
-rw-r--r--Source/Asura.Framework/Graphics/canvas_renderer.lua0
-rw-r--r--Source/Asura.Framework/compile.sh (renamed from Source/Asura.Engine/FileSystem/Asset.cpp)0
-rw-r--r--Source/Asura.Framework/filesystem/animation_loader.lua4
-rw-r--r--Source/Asura.Framework/filesystem/asset.lua7
-rw-r--r--Source/Asura.Framework/filesystem/image_loader.lua13
-rw-r--r--Source/Asura.Framework/filesystem/shader_loader.lua5
-rw-r--r--Source/Asura.Framework/framework.lua1
-rw-r--r--Source/Asura.Framework/game.lua0
-rw-r--r--Source/Asura.Framework/graphics/canvas.lua18
-rw-r--r--Source/Asura.Framework/graphics/canvas_renderer.lua0
-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.Engine/FileSystem/Loader.cpp)0
-rw-r--r--Source/Asura.Framework/graphics/shader.lua40
-rw-r--r--Source/Asura.Framework/graphics/shape.lua (renamed from Source/Asura.Framework/Game.lua)0
-rw-r--r--Source/Asura.Framework/graphics/sprite.lua10
-rw-r--r--Source/Asura.Framework/gui/button.lua5
46 files changed, 205 insertions, 119 deletions
diff --git a/Source/Asura.Engine/Asura.h b/Source/Asura.Engine/Asura.h
index dfa0fa5..ee9068c 100644
--- a/Source/Asura.Engine/Asura.h
+++ b/Source/Asura.Engine/Asura.h
@@ -1,5 +1,5 @@
-#ifndef __AE_H__
-#define __AE_H__
+#ifndef __ASURA_ENGINE_H__
+#define __ASURA_ENGINE_H__
diff --git a/Source/Asura.Engine/Containers/Map.h b/Source/Asura.Engine/Containers/Map.h
index 2caedef..999971c 100644
--- a/Source/Asura.Engine/Containers/Map.h
+++ b/Source/Asura.Engine/Containers/Map.h
@@ -1,5 +1,5 @@
-#ifndef __AE_MAP_H__
-#define __AE_MAP_H__
+#ifndef __ASURA_ENGINE_MAP_H__
+#define __ASURA_ENGINE_MAP_H__
#include <map>
diff --git a/Source/Asura.Engine/Containers/String.h b/Source/Asura.Engine/Containers/String.h
index 3c806fb..4739b44 100644
--- a/Source/Asura.Engine/Containers/String.h
+++ b/Source/Asura.Engine/Containers/String.h
@@ -1,5 +1,5 @@
-#ifndef __AE_STRING_H__
-#define __AE_STRING_H__
+#ifndef __ASURA_ENGINE_STRING_H__
+#define __ASURA_ENGINE_STRING_H__
#include <string>
diff --git a/Source/Asura.Engine/Containers/StringMap.hpp b/Source/Asura.Engine/Containers/StringMap.hpp
index 94858a7..208f16b 100644
--- a/Source/Asura.Engine/Containers/StringMap.hpp
+++ b/Source/Asura.Engine/Containers/StringMap.hpp
@@ -1,5 +1,5 @@
-#ifndef __AE_STRINGMAP_H__
-#define __AE_STRINGMAP_H__
+#ifndef __ASURA_ENGINE_STRINGMAP_H__
+#define __ASURA_ENGINE_STRINGMAP_H__
#include "String.h"
diff --git a/Source/Asura.Engine/Containers/Vector.hpp b/Source/Asura.Engine/Containers/Vector.hpp
index 9fbd52a..5824b57 100644
--- a/Source/Asura.Engine/Containers/Vector.hpp
+++ b/Source/Asura.Engine/Containers/Vector.hpp
@@ -1,5 +1,5 @@
-#ifndef __AE_VECTOR_HPP__
-#define __AE_VECTOR_HPP__
+#ifndef __ASURA_ENGINE_VECTOR_HPP__
+#define __ASURA_ENGINE_VECTOR_HPP__
#include <vector>
diff --git a/Source/Asura.Engine/Factory.h b/Source/Asura.Engine/Factory.h
index 0cccab2..bc536d7 100644
--- a/Source/Asura.Engine/Factory.h
+++ b/Source/Asura.Engine/Factory.h
@@ -1,5 +1,5 @@
-#ifndef __AE_FACTORY_H__
-#define __AE_FACTORY_H__
+#ifndef __ASURA_ENGINE_FACTORY_H__
+#define __ASURA_ENGINE_FACTORY_H__
namespace AsuraEngine
{
diff --git a/Source/Asura.Engine/FileSystem/Asset.h b/Source/Asura.Engine/FileSystem/Asset.h
deleted file mode 100644
index e96d36b..0000000
--- a/Source/Asura.Engine/FileSystem/Asset.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef __AE_ASSET_H__
-#define __AE_ASSET_H__
-
-#include "Object.h"
-
-namespace AsuraEngine
-{
- namespace Filesystem
- {
-
- ///
- /// AssetΪһassetļжȡ
- ///
- class Asset : public Object
- {
-
- };
-
- }
-}
-
-#endif \ No newline at end of file
diff --git a/Source/Asura.Engine/FileSystem/Loader.h b/Source/Asura.Engine/FileSystem/Loader.h
deleted file mode 100644
index 2846c69..0000000
--- a/Source/Asura.Engine/FileSystem/Loader.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __AE_LOADER_H__
-#define __AE_LOADER_H__
-
-namespace AsuraEngine
-{
- namespace Filesystem
- {
-
- ///
- /// Դloader
- ///
- class Loader
- {
-
- };
-
- }
-}
-
-#endif \ No newline at end of file
diff --git a/Source/Asura.Engine/Graphics/Canvas.h b/Source/Asura.Engine/Graphics/Canvas.h
index dbb274a..67d7a63 100644
--- a/Source/Asura.Engine/Graphics/Canvas.h
+++ b/Source/Asura.Engine/Graphics/Canvas.h
@@ -1,7 +1,6 @@
-#ifndef __AE_CANVAS_H__
-#define __AE_CANVAS_H__
+#ifndef __ASURA_ENGINE_CANVAS_H__
+#define __ASURA_ENGINE_CANVAS_H__
-#include "Component.h"
#include "Texture.h"
namespace AsuraEngine
@@ -9,7 +8,7 @@ namespace AsuraEngine
namespace Graphics
{
- class Canvas : public Texture, public Component
+ class Canvas : public Texture
{
public:
@@ -17,7 +16,8 @@ namespace AsuraEngine
private:
-
+ // AsuraEngine.SimCanvas
+ LUAX_DECL_FACTORY(SimCanvas);
};
diff --git a/Source/Asura.Engine/Graphics/Color.h b/Source/Asura.Engine/Graphics/Color.h
index f172156..40b55e4 100644
--- a/Source/Asura.Engine/Graphics/Color.h
+++ b/Source/Asura.Engine/Graphics/Color.h
@@ -1,5 +1,5 @@
-#ifndef __AE_COLOR_H__
-#define __AE_COLOR_H__
+#ifndef __ASURA_ENGINE_COLOR_H__
+#define __ASURA_ENGINE_COLOR_H__
#include "Type.h"
@@ -18,9 +18,11 @@ namespace AsuraEngine
Color(byte r, byte g, byte b, byte a);
~Color();
+ byte r, g, b, a;
+
private:
- byte mR, mG, mB, mA;
+ LUAX_DECL_FACTORY(Color);
};
diff --git a/Source/Asura.Engine/Graphics/Image.h b/Source/Asura.Engine/Graphics/Image.h
index fc013e3..e0715dc 100644
--- a/Source/Asura.Engine/Graphics/Image.h
+++ b/Source/Asura.Engine/Graphics/Image.h
@@ -1,6 +1,8 @@
-#ifndef __AE_IMAGE_H__
-#define __AE_IMAGE_H__
+#ifndef __ASURA_ENGINE_IMAGE_H__
+#define __ASURA_ENGINE_IMAGE_H__
+#include "Containers/Map.h"
+#include "Containers/StringMap.hpp"
#include "Containers/String.h"
#include "Math/Vector2.h"
#include "Manager.hpp"
@@ -19,7 +21,7 @@ namespace AsuraEngine
/// ImageͼƬڴ󣬶ȡϷ󱣴ĽһImageڴ桢ԴֻᱣһݣҪ
/// imageêλãźתǶȣʹspriteһֻࡣ
///
- class Image final : public Texture, public Filesystem::Asset
+ class Image final : public Texture
{
public:
diff --git a/Source/Asura.Engine/Graphics/Mesh2D.h b/Source/Asura.Engine/Graphics/Mesh2D.h
index a113f4c..632b04a 100644
--- a/Source/Asura.Engine/Graphics/Mesh2D.h
+++ b/Source/Asura.Engine/Graphics/Mesh2D.h
@@ -1,5 +1,5 @@
-#ifndef __AE_MESH2D_H__
-#define __AE_MESH2D_H__
+#ifndef __ASURA_ENGINE_MESH2D_H__
+#define __ASURA_ENGINE_MESH2D_H__
namespace AsuraEngine
{
diff --git a/Source/Asura.Engine/Graphics/OpenGL.h b/Source/Asura.Engine/Graphics/OpenGL.h
index f46497b..34d662b 100644
--- a/Source/Asura.Engine/Graphics/OpenGL.h
+++ b/Source/Asura.Engine/Graphics/OpenGL.h
@@ -1,5 +1,5 @@
-#ifndef __AE_OPENGL_H__
-#define __AE_OPENGL_H__
+#ifndef __ASURA_ENGINE_OPENGL_H__
+#define __ASURA_ENGINE_OPENGL_H__
namespace AsuraEngine
{
diff --git a/Source/Asura.Engine/Graphics/Shader.h b/Source/Asura.Engine/Graphics/Shader.h
index c3c67ad..aa5bd53 100644
--- a/Source/Asura.Engine/Graphics/Shader.h
+++ b/Source/Asura.Engine/Graphics/Shader.h
@@ -1,9 +1,8 @@
-#ifndef __AE_SHADER_H__
-#define __AE_SHADER_H__
+#ifndef __ASURA_ENGINE_SHADER_H__
+#define __ASURA_ENGINE_SHADER_H__
#include "luax/luax.h"
-#include "FileSystem/Asset.h"
#include "Containers/Map.h"
#include "Containers/StringMap.hpp"
#include "Object.h"
@@ -20,7 +19,7 @@ namespace AsuraEngine
///
/// һshaderһڲʼ乲ijShaderuniformsͶݣֻuniforms location
///
- class Shader final : public Filesystem::Asset
+ class Shader
{
public:
diff --git a/Source/Asura.Engine/Graphics/Texture.h b/Source/Asura.Engine/Graphics/Texture.h
index 8195fc9..b50467a 100644
--- a/Source/Asura.Engine/Graphics/Texture.h
+++ b/Source/Asura.Engine/Graphics/Texture.h
@@ -1,7 +1,8 @@
-#ifndef __AE_TEXTURE_H__
-#define __AE_TEXTURE_H__
+#ifndef __ASURA_ENGINE_TEXTURE_H__
+#define __ASURA_ENGINE_TEXTURE_H__
#include "Object.h"
+#include "Luax/luax.h"
namespace AsuraEngine
{
diff --git a/Source/Asura.Engine/Graphics/Window.h b/Source/Asura.Engine/Graphics/Window.h
index ab612fc..0f6ca92 100644
--- a/Source/Asura.Engine/Graphics/Window.h
+++ b/Source/Asura.Engine/Graphics/Window.h
@@ -1,5 +1,5 @@
-#ifndef __AE_WINDOW_H__
-#define __AE_WINDOW_H__
+#ifndef __ASURA_ENGINE_WINDOW_H__
+#define __ASURA_ENGINE_WINDOW_H__
namespace AsuraEngine
{
diff --git a/Source/Asura.Engine/Manager.hpp b/Source/Asura.Engine/Manager.hpp
index 5a94889..fb32491 100644
--- a/Source/Asura.Engine/Manager.hpp
+++ b/Source/Asura.Engine/Manager.hpp
@@ -1,5 +1,5 @@
-#ifndef __AE_MANAGER_H__
-#define __AE_MANAGER_H__
+#ifndef __ASURA_ENGINE_MANAGER_H__
+#define __ASURA_ENGINE_MANAGER_H__
namespace AsuraEngine
{
diff --git a/Source/Asura.Engine/Math/Matrix44.h b/Source/Asura.Engine/Math/Matrix44.h
index 5bc44e7..2741430 100644
--- a/Source/Asura.Engine/Math/Matrix44.h
+++ b/Source/Asura.Engine/Math/Matrix44.h
@@ -1,5 +1,5 @@
-#ifndef __AE_MATRIX44_H__
-#define __AE_MATRIX44_H__
+#ifndef __ASURA_ENGINE_MATRIX44_H__
+#define __ASURA_ENGINE_MATRIX44_H__
namespace AsuraEngine
{
diff --git a/Source/Asura.Engine/Math/Vector2.h b/Source/Asura.Engine/Math/Vector2.h
index d5f8739..99fe71b 100644
--- a/Source/Asura.Engine/Math/Vector2.h
+++ b/Source/Asura.Engine/Math/Vector2.h
@@ -1,5 +1,5 @@
-#ifndef __AE_VECTOR2_H__
-#define __AE_VECTOR2_H__
+#ifndef __ASURA_ENGINE_VECTOR2_H__
+#define __ASURA_ENGINE_VECTOR2_H__
namespace AsuraEngine
{
diff --git a/Source/Asura.Engine/Math/Vector3.h b/Source/Asura.Engine/Math/Vector3.h
index 14fdd88..f450527 100644
--- a/Source/Asura.Engine/Math/Vector3.h
+++ b/Source/Asura.Engine/Math/Vector3.h
@@ -1,5 +1,5 @@
-#ifndef __AE_VECTOR3_H__
-#define __AE_VECTOR3_H__
+#ifndef __ASURA_ENGINE_VECTOR3_H__
+#define __ASURA_ENGINE_VECTOR3_H__
namespace AsuraEngine
{
diff --git a/Source/Asura.Engine/Math/Vector4.h b/Source/Asura.Engine/Math/Vector4.h
index a6e8b38..818274e 100644
--- a/Source/Asura.Engine/Math/Vector4.h
+++ b/Source/Asura.Engine/Math/Vector4.h
@@ -1,5 +1,5 @@
-#ifndef __AE_VECTOR4_H__
-#define __AE_VECTOR4_H__
+#ifndef __ASURA_ENGINE_VECTOR4_H__
+#define __ASURA_ENGINE_VECTOR4_H__
namespace AsuraEngine
{
diff --git a/Source/Asura.Engine/Object.h b/Source/Asura.Engine/Object.h
index 3dace26..7efe74b 100644
--- a/Source/Asura.Engine/Object.h
+++ b/Source/Asura.Engine/Object.h
@@ -1,5 +1,5 @@
-#ifndef __AE_OBJECT_H__
-#define __AE_OBJECT_H__
+#ifndef __ASURA_ENGINE_OBJECT_H__
+#define __ASURA_ENGINE_OBJECT_H__
#include "Type.h"
diff --git a/Source/Asura.Engine/Physics/World.h b/Source/Asura.Engine/Physics/World.h
index 7000351..ffdc44b 100644
--- a/Source/Asura.Engine/Physics/World.h
+++ b/Source/Asura.Engine/Physics/World.h
@@ -1,5 +1,5 @@
-#ifndef __AE_WORLD_H__
-#define __AE_WORLD_H__
+#ifndef __ASURA_ENGINE_WORLD_H__
+#define __ASURA_ENGINE_WORLD_H__
namespace AsuraEngine
{
diff --git a/Source/Asura.Engine/Scripting/Luax.hpp b/Source/Asura.Engine/Scripting/Luax.hpp
index b371166..461d5bc 100644
--- a/Source/Asura.Engine/Scripting/Luax.hpp
+++ b/Source/Asura.Engine/Scripting/Luax.hpp
@@ -1,5 +1,5 @@
-#ifndef __AE_LUAX_H__
-#define __AE_LUAX_H__
+#ifndef __ASURA_ENGINE_LUAX_H__
+#define __ASURA_ENGINE_LUAX_H__
#include "Lua51/lua.h"
#include "Lua51/lauxlib.h"
diff --git a/Source/Asura.Engine/Type.h b/Source/Asura.Engine/Type.h
index 2a2bc70..36ee9e7 100644
--- a/Source/Asura.Engine/Type.h
+++ b/Source/Asura.Engine/Type.h
@@ -1,5 +1,5 @@
-#ifndef __AE_TYPE_H__
-#define __AE_TYPE_H__
+#ifndef __ASURA_ENGINE_TYPE_H__
+#define __ASURA_ENGINE_TYPE_H__
#include <stdint.h>
diff --git a/Source/Asura.Framework/Filesystem/animation_loader.lua b/Source/Asura.Framework/Filesystem/animation_loader.lua
index 4f989bd..c6808c0 100644
--- a/Source/Asura.Framework/Filesystem/animation_loader.lua
+++ b/Source/Asura.Framework/Filesystem/animation_loader.lua
@@ -6,7 +6,5 @@ local manager = AsuraEngine.AnimationManager
local Animation = AsuraEngine.Animation
function AnimationLoader.Load(asset)
-
- local animation = AsuraEngine.Class()
-
+ local animation = AsuraEngine.Class()
end \ No newline at end of file
diff --git a/Source/Asura.Framework/Framework.lua b/Source/Asura.Framework/Framework.lua
index 449cc4a..14e7b24 100644
--- a/Source/Asura.Framework/Framework.lua
+++ b/Source/Asura.Framework/Framework.lua
@@ -1 +1,2 @@
+--框架入口文件
require ""
diff --git a/Source/Asura.Framework/GUI/Button.lua b/Source/Asura.Framework/GUI/Button.lua
index a63cc01..260759b 100644
--- a/Source/Asura.Framework/GUI/Button.lua
+++ b/Source/Asura.Framework/GUI/Button.lua
@@ -1,6 +1,5 @@
--- Ϸimgui
-
-local Button = AsuraEngine.Component.Extend("Button")
+--
+local Button = AsuraEngine.Component.Sub("Button")
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/canvas_renderer.lua
deleted file mode 100644
index e69de29..0000000
--- a/Source/Asura.Framework/Graphics/canvas_renderer.lua
+++ /dev/null
diff --git a/Source/Asura.Engine/FileSystem/Asset.cpp b/Source/Asura.Framework/compile.sh
index e69de29..e69de29 100644
--- a/Source/Asura.Engine/FileSystem/Asset.cpp
+++ b/Source/Asura.Framework/compile.sh
diff --git a/Source/Asura.Framework/filesystem/animation_loader.lua b/Source/Asura.Framework/filesystem/animation_loader.lua
index 4f989bd..c6808c0 100644
--- a/Source/Asura.Framework/filesystem/animation_loader.lua
+++ b/Source/Asura.Framework/filesystem/animation_loader.lua
@@ -6,7 +6,5 @@ local manager = AsuraEngine.AnimationManager
local Animation = AsuraEngine.Animation
function AnimationLoader.Load(asset)
-
- local animation = AsuraEngine.Class()
-
+ local animation = AsuraEngine.Class()
end \ No newline at end of file
diff --git a/Source/Asura.Framework/filesystem/asset.lua b/Source/Asura.Framework/filesystem/asset.lua
new file mode 100644
index 0000000..09b4be3
--- /dev/null
+++ b/Source/Asura.Framework/filesystem/asset.lua
@@ -0,0 +1,7 @@
+local Asset = AsuraEngine.Class("Asset")
+AsuraEngine.Asset = Asset
+
+--获得资源编号
+function Asset.GetGUID(self)
+
+end
diff --git a/Source/Asura.Framework/filesystem/image_loader.lua b/Source/Asura.Framework/filesystem/image_loader.lua
new file mode 100644
index 0000000..174d837
--- /dev/null
+++ b/Source/Asura.Framework/filesystem/image_loader.lua
@@ -0,0 +1,13 @@
+require "graphics.image"
+local loader = AsuraEngine.Loader.New("image")
+
+function loader.Load(asset)
+ assert(asset ~= nil)
+ local path = asset.extern
+ local image = AusraEngine.Image.New(path)
+ if image == nil then
+ AsuraEngine.LogError("")
+ return
+ end
+ return image
+end \ No newline at end of file
diff --git a/Source/Asura.Framework/filesystem/shader_loader.lua b/Source/Asura.Framework/filesystem/shader_loader.lua
new file mode 100644
index 0000000..d488eb9
--- /dev/null
+++ b/Source/Asura.Framework/filesystem/shader_loader.lua
@@ -0,0 +1,5 @@
+local loader = AsuraEngine.Loader.New("shader")
+
+function loader.Load(asset)
+
+end \ No newline at end of file
diff --git a/Source/Asura.Framework/framework.lua b/Source/Asura.Framework/framework.lua
index 449cc4a..14e7b24 100644
--- a/Source/Asura.Framework/framework.lua
+++ b/Source/Asura.Framework/framework.lua
@@ -1 +1,2 @@
+--框架入口文件
require ""
diff --git a/Source/Asura.Framework/game.lua b/Source/Asura.Framework/game.lua
deleted file mode 100644
index e69de29..0000000
--- a/Source/Asura.Framework/game.lua
+++ /dev/null
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/canvas_renderer.lua b/Source/Asura.Framework/graphics/canvas_renderer.lua
deleted file mode 100644
index e69de29..0000000
--- a/Source/Asura.Framework/graphics/canvas_renderer.lua
+++ /dev/null
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.Engine/FileSystem/Loader.cpp b/Source/Asura.Framework/graphics/mesh2d.lua
index e69de29..e69de29 100644
--- a/Source/Asura.Engine/FileSystem/Loader.cpp
+++ 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/Game.lua b/Source/Asura.Framework/graphics/shape.lua
index e69de29..e69de29 100644
--- a/Source/Asura.Framework/Game.lua
+++ 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
diff --git a/Source/Asura.Framework/gui/button.lua b/Source/Asura.Framework/gui/button.lua
index a63cc01..260759b 100644
--- a/Source/Asura.Framework/gui/button.lua
+++ b/Source/Asura.Framework/gui/button.lua
@@ -1,6 +1,5 @@
--- Ϸimgui
-
-local Button = AsuraEngine.Component.Extend("Button")
+--
+local Button = AsuraEngine.Component.Sub("Button")