aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/graphics/shaders/je_shader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/graphics/shaders/je_shader.cpp')
-rw-r--r--src/libjin/graphics/shaders/je_shader.cpp10
1 files changed, 4 insertions, 6 deletions
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)