aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/graphics/shaders
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/graphics/shaders')
-rw-r--r--src/libjin/graphics/shaders/je_shader.cpp10
-rw-r--r--src/libjin/graphics/shaders/je_shader.h12
2 files changed, 4 insertions, 18 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)
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
@@ -40,13 +40,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.
///
static void unuse();
@@ -163,11 +156,6 @@ namespace JinEngine
protected:
///
- /// Reference of current used shader.
- ///
- static Shader* CurrentShader;
-
- ///
/// Get texture unit of the uniform texture. If not, assign one.
///
/// @param name Name of the texture uniform variable.