summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-01-14 08:34:29 +0800
committerchai <chaifix@163.com>2019-01-14 08:34:29 +0800
commitb3b6d64ae9ebf07268b5b931ce9cca5ed5860cfd (patch)
treeda1141d3c52ee92b516c0e0ab4b84614e72cd4fd /Source
parent2fb6b09dcf2ceb09cf021adb4a89f4c1255d5558 (diff)
*材质
Diffstat (limited to 'Source')
-rw-r--r--Source/Asura/Graphics/Material.cpp18
-rw-r--r--Source/Asura/Graphics/Material.h29
-rw-r--r--Source/Asura/Graphics/Renderer.cpp0
-rw-r--r--Source/Asura/Graphics/Renderer.h27
4 files changed, 65 insertions, 9 deletions
diff --git a/Source/Asura/Graphics/Material.cpp b/Source/Asura/Graphics/Material.cpp
index e69de29..eaf9742 100644
--- a/Source/Asura/Graphics/Material.cpp
+++ b/Source/Asura/Graphics/Material.cpp
@@ -0,0 +1,18 @@
+#include "Material.h"
+
+namespace AsuraEngine
+{
+ namespace Graphics
+ {
+
+
+
+ //--------------------------------------------------------------------------------------------------------
+
+ int Material::l_SetColor(lua_State* L)
+ {
+
+ }
+
+ }
+}
diff --git a/Source/Asura/Graphics/Material.h b/Source/Asura/Graphics/Material.h
index 538e651..6093d18 100644
--- a/Source/Asura/Graphics/Material.h
+++ b/Source/Asura/Graphics/Material.h
@@ -2,6 +2,7 @@
#define __AE_MATERIAL_H__
#include "Containers/Vector.hpp"
+#include "Containers/String.h"
#include "Math/Vector2.h"
#include "Math/Vector3.h"
#include "Math/Vector4.h"
@@ -24,8 +25,16 @@ namespace AsuraEngine
class Material : public Object
{
public:
+ Material();
+ Material(const Material& srcMat);
+ ~Material();
+
+ Material* Clone();
+
// Uniform
+ static int GetUniformID(const Containers::String& name);
+
void SetTexture(int ID, Texture* texture);
void SetVector2(int ID, Math::Vector2* vector2);
void SetVector3(int ID, Math::Vector3* vector3);
@@ -41,15 +50,17 @@ namespace AsuraEngine
//----------------------------------------------------------------------------------------------------
- LUAX_DECL_METHOD( _SetTexture );
- LUAX_DECL_METHOD( _SetVector2 );
- LUAX_DECL_METHOD( _SetVector3 );
- LUAX_DECL_METHOD( _SetVector4 );
- LUAX_DECL_METHOD( _SetMatrix44 );
- LUAX_DECL_METHOD( _SetFloat );
- LUAX_DECL_METHOD( _SetInteger );
- LUAX_DECL_METHOD( _SetColor );
- LUAX_DECL_METHOD( _SetVertexAttributes );
+ LUAX_DECL_FACTORY( Material );
+
+ LUAX_DECL_METHOD( l_SetTexture );
+ LUAX_DECL_METHOD( l_SetVector2 );
+ LUAX_DECL_METHOD( l_SetVector3 );
+ LUAX_DECL_METHOD( l_SetVector4 );
+ LUAX_DECL_METHOD( l_SetMatrix44 );
+ LUAX_DECL_METHOD( l_SetFloat );
+ LUAX_DECL_METHOD( l_SetInteger );
+ LUAX_DECL_METHOD( l_SetColor );
+ LUAX_DECL_METHOD( l_SetVertexAttributes );
private:
//Color mColor;
diff --git a/Source/Asura/Graphics/Renderer.cpp b/Source/Asura/Graphics/Renderer.cpp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Source/Asura/Graphics/Renderer.cpp
diff --git a/Source/Asura/Graphics/Renderer.h b/Source/Asura/Graphics/Renderer.h
new file mode 100644
index 0000000..004bbe4
--- /dev/null
+++ b/Source/Asura/Graphics/Renderer.h
@@ -0,0 +1,27 @@
+#ifndef __AE_RENDERER_H__
+#define __AE_RENDERER_H__
+
+#include "Material.h"
+
+namespace AsuraEngine
+{
+ namespace Graphics
+ {
+
+ class Renderer
+ {
+ public:
+ ///
+ ///
+ ///
+ Material* GetMaterial();
+
+ private:
+ Material* mMaterial;
+
+ };
+
+ }
+}
+
+#endif \ No newline at end of file