diff options
author | chai <chaifix@163.com> | 2018-12-23 01:06:46 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-12-23 01:06:46 +0800 |
commit | 5b8b5c95589e615afda3f0d67db612b64297c2a0 (patch) | |
tree | 976de20f8a317c1dfb07ed1914ff8bebc4242005 /src/libjin/graphics/shaders/je_shader.cpp | |
parent | 6afaad9b9490d4b70a0bea4a8289cc637194abc7 (diff) |
*shader and time
Diffstat (limited to 'src/libjin/graphics/shaders/je_shader.cpp')
-rw-r--r-- | src/libjin/graphics/shaders/je_shader.cpp | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/libjin/graphics/shaders/je_shader.cpp b/src/libjin/graphics/shaders/je_shader.cpp index 0137978..5668168 100644 --- a/src/libjin/graphics/shaders/je_shader.cpp +++ b/src/libjin/graphics/shaders/je_shader.cpp @@ -3,6 +3,7 @@ #include <iostream> +#include "../../time/je_timer.h" #include "../../filesystem/je_buffer.h" #include "../../utils/je_macros.h" @@ -13,6 +14,7 @@ using namespace std; using namespace JinEngine::Filesystem; +using namespace JinEngine::Time; namespace JinEngine { @@ -71,9 +73,14 @@ namespace JinEngine glDeleteShader(mPID); } - void Shader::setDefaultUniform() + Shader& Shader::prepare() { + // Send uniforms. sendInt(SHADER_MAIN_TEXTURE, DEFAULT_TEXTURE_UNIT); + sendVec2(SHADER_TIME, Time::getSecond(), Time::getDeltaTime()); + // Reset attribute index. + mAttributeIndex = 0; + return *this; } bool Shader::compile(const string& program) @@ -86,7 +93,7 @@ namespace JinEngine return false; } - #define glsl(SHADER_MODE, SHADER, SRC) \ + #define glsl(SHADER_MODE, SHADER, SRC) \ do{ \ const GLchar* src = SRC.c_str(); \ glShaderSource(SHADER, 1, &src, NULL); \ @@ -103,6 +110,7 @@ namespace JinEngine // Compile fragment shader. GLuint fid = glCreateShader(GL_FRAGMENT_SHADER); glsl(GL_FRAGMENT_SHADER, fid, fragment_shader); + #undef glsl // Create OpenGL shader program. mPID = glCreateProgram(); @@ -269,18 +277,6 @@ namespace JinEngine return *this; } - Shader& Shader::beginUploadAttributes() - { - mAttributeIndex = 0; - return *this; - } - - Shader& Shader::endUploadAttributes() - { - mAttributeIndex = 0; - return *this; - } - Shader& Shader::uploadAttribute(const String& name, int n, GLenum type, GLsizei stride, const GLvoid * pointers, GLboolean normalized) { GLint loc = glGetAttribLocation(mPID, name); |