From 88b882ed0b432c6aff2063213e2f793a36dd25f7 Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 6 Jun 2019 00:11:18 +0800 Subject: *misc --- source/modules/asura-core/graphics/shader.h | 37 ++++++++++------------------- 1 file changed, 13 insertions(+), 24 deletions(-) (limited to 'source/modules/asura-core/graphics/shader.h') diff --git a/source/modules/asura-core/graphics/shader.h b/source/modules/asura-core/graphics/shader.h index 913332b..b5d866e 100644 --- a/source/modules/asura-core/graphics/shader.h +++ b/source/modules/asura-core/graphics/shader.h @@ -14,7 +14,7 @@ #include #include -#include "gl.h" +#include "gfx_device.h" #include "color.h" #include "texture.h" #include "vertex_buffer.h" @@ -45,18 +45,12 @@ namespace AsuraEngine void OnUse(); void OnUnuse(); - /// - /// 设置顶点属性,这些值在framework的renderer里面被设置,而不是Image、Mesh2D这些“数据源“ - /// 如果normalized为true,输入的数据会在给定buffer的类型下归一化,如255的颜色归一化到 - /// 0~1。 - /// + /// 顶点数据 void SetAttribute(int loc, VertexBuffer* vbo, uint offseti = 0, uint stridei = 0, bool normalized = false); int GetAttributeLocation(const std::string& attribute); void DisableAttribute(int loc); - /// - /// 设置uniform变量 - /// + /// Uniform变量 bool HasUniform(const std::string& uniform); uint GetUniformLocation(const std::string& uniform); void SetUniformFloat(uint loc, float value); @@ -67,14 +61,11 @@ namespace AsuraEngine void SetUniformMatrix44(uint loc, const Math::Matrix44& mat44); bool SetUniformTexture(uint loc, const Texture& texture); - /// - /// 设置内置变量 - /// - void SetBuiltInModelMatrix(uint loc); - void SetBuiltInViewMatrix(uint loc); - void SetBuiltInProjectionMatrix(uint loc); - void SetBuiltInMVPMatrix(uint loc); - void SetBuiltInDrawColor(uint loc); + float GetUniformFloat(uint loc); + AEMath::Vector2f GetUniformVector2(uint loc); + AEMath::Vector3f GetUniformVector3(uint loc); + AEMath::Vector4f GetUniformVector4s(uint loc); + AEMath::Matrix44 GetUniformMatrix44(uint loc); GLuint GetGLProgram(); @@ -97,16 +88,12 @@ namespace AsuraEngine LUAX_DECL_METHOD(_SetUniformVector3); LUAX_DECL_METHOD(_SetUniformVector4); LUAX_DECL_METHOD(_SetUniformColor); - // 设置vertex attributes + /// 设置vertex attributes LUAX_DECL_METHOD(_GetAttributeLocation); LUAX_DECL_METHOD(_SetAttribute); LUAX_DECL_METHOD(_DisableAttribute); - // 设置内置uniform变量 - LUAX_DECL_METHOD(_SetBuiltInModelMatrix); - LUAX_DECL_METHOD(_SetBuiltInViewMatrix); - LUAX_DECL_METHOD(_SetBuiltInProjectionMatrix); - LUAX_DECL_METHOD(_SetBuiltInMVPMatrix); - LUAX_DECL_METHOD(_SetBuiltInDrawColor); + /// 设置内置uniform变量 + LUAX_DECL_METHOD(_SetBuiltInUniforms); //----------------------------------------------------------------------------// @@ -118,6 +105,8 @@ namespace AsuraEngine GLuint mFragShader; }; + + typedef Shader GpuProgram; } } -- cgit v1.1-26-g67d0