From c78bd640228c0b6b9f7c294793c4f2f58b637c67 Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 5 Dec 2018 12:34:26 +0800 Subject: =?UTF-8?q?*=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/libjin/graphics/shaders/je_shader.cpp | 10 ++++------ src/libjin/graphics/shaders/je_shader.h | 12 ------------ 2 files changed, 4 insertions(+), 18 deletions(-) (limited to 'src/libjin/graphics/shaders') diff --git a/src/libjin/graphics/shaders/je_shader.cpp b/src/libjin/graphics/shaders/je_shader.cpp index 3748de6..b78c71c 100644 --- a/src/libjin/graphics/shaders/je_shader.cpp +++ b/src/libjin/graphics/shaders/je_shader.cpp @@ -6,6 +6,8 @@ #include "../../filesystem/je_buffer.h" #include "../../utils/je_macros.h" +#include "../je_gl.h" + #include "je_jsl_compiler.h" #include "je_shader.h" @@ -52,8 +54,6 @@ namespace JinEngine // const int DEFAULT_TEXTURE_UNIT = 0; - Shader* Shader::CurrentShader = nullptr; - Shader* Shader::createShader(const string& program) { Shader* shader = nullptr; @@ -77,7 +77,7 @@ namespace JinEngine Shader::~Shader() { - if (CurrentShader == this) + if (gl.getShader() == this) unuse(); // delete shader program glDeleteShader(mPID); @@ -130,14 +130,12 @@ if (success == GL_FALSE) \ void Shader::use() { glUseProgram(mPID); - CurrentShader = this; sendInt(SHADER_MAIN_TEXTURE, DEFAULT_TEXTURE_UNIT); } void Shader::unuse() { glUseProgram(0); - CurrentShader = nullptr; } GLint Shader::claimTextureUnit(const std::string& name) @@ -153,7 +151,7 @@ if (success == GL_FALSE) \ } #define checkJSL() \ - if (CurrentShader != this) \ + if (gl.getShader() != this) \ return void Shader::sendInt(const char* name, int value) diff --git a/src/libjin/graphics/shaders/je_shader.h b/src/libjin/graphics/shaders/je_shader.h index 36f3a40..bb7bee0 100644 --- a/src/libjin/graphics/shaders/je_shader.h +++ b/src/libjin/graphics/shaders/je_shader.h @@ -39,13 +39,6 @@ namespace JinEngine /// static Shader* createShader(const std::string& source); - /// - /// Get current shader. - /// - /// @return Current used shader program. - /// - static inline Shader* getCurrentShader() { return CurrentShader; } - /// /// Unuse current shader. /// @@ -162,11 +155,6 @@ namespace JinEngine inline GLuint getGLProgramID() { return mPID; }; protected: - /// - /// Reference of current used shader. - /// - static Shader* CurrentShader; - /// /// Get texture unit of the uniform texture. If not, assign one. /// -- cgit v1.1-26-g67d0