diff options
Diffstat (limited to 'Data/DefaultContent/Libraries')
3 files changed, 14 insertions, 5 deletions
diff --git a/Data/DefaultContent/Libraries/GameLab/Engine/Rendering/Material.lua b/Data/DefaultContent/Libraries/GameLab/Engine/Rendering/Material.lua new file mode 100644 index 0000000..872d7e1 --- /dev/null +++ b/Data/DefaultContent/Libraries/GameLab/Engine/Rendering/Material.lua @@ -0,0 +1,8 @@ +local Material = GameLab.Class("GameLab.Engine.Rendering.Material") + +Material.Ctor = function(self) + self.shader = nil -- 绑定的shader + self.uniforms = {} -- {name, value} +end + +return Material
\ No newline at end of file diff --git a/Data/DefaultContent/Libraries/GameLab/Engine/Rendering/Shader.lua b/Data/DefaultContent/Libraries/GameLab/Engine/Rendering/Shader.lua index c64d526..b3c8aeb 100644 --- a/Data/DefaultContent/Libraries/GameLab/Engine/Rendering/Shader.lua +++ b/Data/DefaultContent/Libraries/GameLab/Engine/Rendering/Shader.lua @@ -1,11 +1,11 @@ local Shader = GameLab.Engine.Rendering.Shader or {} --- @Shader.CreateFromFile --- 从文件中创建Shader --- @param path:string 路径 --- @return shader 创建的shader Shader.CreateFromFile = function( path ) - + local glsl = GameLab.IO.ReadFile(path, GameLab.IO.EFileMode.Text) + if glsl ~= nil then + local shader = Shader.New(glsl) + return shader + end end return Shader
\ No newline at end of file diff --git a/Data/DefaultContent/Libraries/GameLab/Engine/Rendering/init.lua b/Data/DefaultContent/Libraries/GameLab/Engine/Rendering/init.lua index caefccf..5469297 100644 --- a/Data/DefaultContent/Libraries/GameLab/Engine/Rendering/init.lua +++ b/Data/DefaultContent/Libraries/GameLab/Engine/Rendering/init.lua @@ -7,6 +7,7 @@ local Shader = GameLab.Engine.Rendering.Shader m.Color = import("Color") m.Color32 = import("Color32") +m.Shader = import("Shader") m.LoadTexture = function(path) |