From 51a715ffe0b138960846e9f407a1290037931b33 Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 30 Jul 2019 22:08:14 +0800 Subject: =?UTF-8?q?*=E4=BF=AE=E6=94=B9=E6=88=90=E5=91=98=E5=8F=98=E9=87=8F?= =?UTF-8?q?=E5=89=8D=E7=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/modules/asura-core/graphics/shader.cpp | 60 +++++++++++++-------------- 1 file changed, 30 insertions(+), 30 deletions(-) (limited to 'source/modules/asura-core/graphics/shader.cpp') diff --git a/source/modules/asura-core/graphics/shader.cpp b/source/modules/asura-core/graphics/shader.cpp index 22b9ee3..8606e79 100644 --- a/source/modules/asura-core/graphics/shader.cpp +++ b/source/modules/asura-core/graphics/shader.cpp @@ -19,9 +19,9 @@ namespace AsuraEngine Shader::~Shader() { - if(mVertShader) glDeleteShader(mVertShader); - if(mFragShader) glDeleteShader(mFragShader); - if(mProgram) glDeleteProgram(mProgram); + if(m_VertShader) glDeleteShader(m_VertShader); + if(m_FragShader) glDeleteShader(m_FragShader); + if(m_Program) glDeleteProgram(m_Program); } void Shader::SetActive(Shader* shader) @@ -38,10 +38,10 @@ namespace AsuraEngine { string warnning = ""; - if (!mProgram) + if (!m_Program) { - mProgram = glCreateProgram(); - if (!mProgram) + m_Program = glCreateProgram(); + if (!m_Program) throw Exception("Cannot create OpenGL shader program."); } @@ -55,12 +55,12 @@ namespace AsuraEngine throw Exception("Compile fragment shader failed:%s", warnning); } - glAttachShader(mProgram, mVertShader); - glAttachShader(mProgram, mFragShader); + glAttachShader(m_Program, m_VertShader); + glAttachShader(m_Program, m_FragShader); - glLinkProgram(mProgram); + glLinkProgram(m_Program); GLint success; - glGetProgramiv(mProgram, GL_LINK_STATUS, &success); + glGetProgramiv(m_Program, GL_LINK_STATUS, &success); if (success == GL_FALSE) { warnning = GetProgramWarnings(); @@ -72,10 +72,10 @@ namespace AsuraEngine bool Shader::CompileVertexShader(const string& vert, string& outError) { - if (!mVertShader) + if (!m_VertShader) { - mVertShader = glCreateShader(GL_VERTEX_SHADER); - if (!mVertShader) + m_VertShader = glCreateShader(GL_VERTEX_SHADER); + if (!m_VertShader) { outError = "Cannot create OpenGL Vertex shader."; return false; @@ -85,12 +85,12 @@ namespace AsuraEngine const GLchar* source = vert.c_str(); GLint success; - glShaderSource(mVertShader, 1, &source, NULL); - glCompileShader(mVertShader); - glGetShaderiv(mVertShader, GL_COMPILE_STATUS, &success); + glShaderSource(m_VertShader, 1, &source, NULL); + glCompileShader(m_VertShader); + glGetShaderiv(m_VertShader, GL_COMPILE_STATUS, &success); if (success == GL_FALSE) { - outError = GetShaderWarnings(mVertShader); + outError = GetShaderWarnings(m_VertShader); return false; } @@ -99,10 +99,10 @@ namespace AsuraEngine bool Shader::CompileFragementShader(const string& frag, string& outError) { - if (!mFragShader) + if (!m_FragShader) { - mFragShader = glCreateShader(GL_FRAGMENT_SHADER); - if (!mFragShader) + m_FragShader = glCreateShader(GL_FRAGMENT_SHADER); + if (!m_FragShader) { outError = "Cannot create OpenGL fragment shader."; return false; @@ -113,12 +113,12 @@ namespace AsuraEngine GLint success; source = frag.c_str(); - glShaderSource(mFragShader, 1, &source, NULL); - glCompileShader(mFragShader); - glGetShaderiv(mFragShader, GL_COMPILE_STATUS, &success); + glShaderSource(m_FragShader, 1, &source, NULL); + glCompileShader(m_FragShader); + glGetShaderiv(m_FragShader, GL_COMPILE_STATUS, &success); if (success == GL_FALSE) { - outError = GetShaderWarnings(mFragShader); + outError = GetShaderWarnings(m_FragShader); return false; } @@ -142,19 +142,19 @@ namespace AsuraEngine uint Shader::GetUniformLocation(const std::string& uniform) { - GLint loc = glGetUniformLocation(mProgram, uniform.c_str()); + GLint loc = glGetUniformLocation(m_Program, uniform.c_str()); return loc; } bool Shader::HasUniform(const std::string& uniform) { - GLint loc = glGetUniformLocation(mProgram, uniform.c_str()); + GLint loc = glGetUniformLocation(m_Program, uniform.c_str()); return loc != -1; } GLuint Shader::GetGLProgram() { - return mProgram; + return m_Program; } void Shader::SetUniformFloat(uint loc, float value) @@ -222,7 +222,7 @@ namespace AsuraEngine std::string Shader::GetProgramWarnings() { GLint strsize, nullpos; - glGetProgramiv(mProgram, GL_INFO_LOG_LENGTH, &strsize); + glGetProgramiv(m_Program, GL_INFO_LOG_LENGTH, &strsize); if (strsize == 0) return ""; @@ -230,7 +230,7 @@ namespace AsuraEngine char *tempstr = new char[strsize]; memset(tempstr, '\0', strsize); - glGetProgramInfoLog(mProgram, strsize, &nullpos, tempstr); + glGetProgramInfoLog(m_Program, strsize, &nullpos, tempstr); tempstr[nullpos] = '\0'; std::string warnings(tempstr); @@ -271,7 +271,7 @@ namespace AsuraEngine int Shader::GetAttributeLocation(const std::string& attribute) { - int loc = glGetAttribLocation(mProgram, attribute.c_str()); + int loc = glGetAttribLocation(m_Program, attribute.c_str()); return loc; } -- cgit v1.1-26-g67d0