diff --git a/src/game/Core/Renderer.cpp b/src/game/Core/Renderer.cpp index 6abf221..41a4074 100755 --- a/src/game/Core/Renderer.cpp +++ b/src/game/Core/Renderer.cpp @@ -442,7 +442,7 @@ void dd::Renderer::DrawScene(RenderQueue &objects, ShaderProgram &program) glUniformMatrix4fv(glGetUniformLocation(shaderProgramHandle, "MVP"), 1, GL_FALSE, glm::value_ptr(MVP)); glUniformMatrix4fv(glGetUniformLocation(shaderProgramHandle, "M"), 1, GL_FALSE, glm::value_ptr(modelMatrix)); glUniformMatrix4fv(glGetUniformLocation(shaderProgramHandle, "V"), 1, GL_FALSE, glm::value_ptr(viewMatrix)); - glUniform4fv(glGetUniformLocation(shaderProgramHandle, "Color"), 1, glm::value_ptr(modelJob->Color)); + glUniform4fv(glGetUniformLocation(shaderProgramHandle, "Color"), 1, glm::value_ptr(spriteJob->Color)); glActiveTexture(GL_TEXTURE0); @@ -668,6 +668,7 @@ void dd::Renderer::DrawGUI(dd::RenderQueue& rq) glUniformMatrix4fv(glGetUniformLocation(*m_SpScreen, "MVP"), 1, GL_FALSE, glm::value_ptr(MVP)); glUniformMatrix4fv(glGetUniformLocation(*m_SpScreen, "M"), 1, GL_FALSE, glm::value_ptr(modelMatrix)); glUniformMatrix4fv(glGetUniformLocation(*m_SpScreen, "V"), 1, GL_FALSE, glm::value_ptr(viewMatrix)); + glUniform4fv(glGetUniformLocation(*m_SpScreen, "Color"), 1, glm::value_ptr(frameJob->Color)); glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, frameJob->DiffuseTexture); diff --git a/src/game/Core/Shaders/Screen/Fragment.glsl b/src/game/Core/Shaders/Screen/Fragment.glsl index 5f9786e..f656e91 100644 --- a/src/game/Core/Shaders/Screen/Fragment.glsl +++ b/src/game/Core/Shaders/Screen/Fragment.glsl @@ -20,11 +20,13 @@ layout (binding=0) uniform sampler2D DiffuseTexture; +uniform vec4 Color; + in vec2 TextureCoord; out vec4 FragmentColor; void main() { - FragmentColor = texture(DiffuseTexture, TextureCoord); + FragmentColor = texture(DiffuseTexture, TextureCoord) * Color; } \ No newline at end of file