From bb6e491eed5e5a5e256c42d6f30b849b3f2b0014 Mon Sep 17 00:00:00 2001 From: Teejoon Date: Thu, 25 Feb 2016 16:00:27 +0100 Subject: [PATCH] Fix for GLERROR in DrawModelRenderQueues --- src/Engine/Rendering/DrawFinalPass.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/Engine/Rendering/DrawFinalPass.cpp b/src/Engine/Rendering/DrawFinalPass.cpp index 6cd2c1f1..9b85cf98 100644 --- a/src/Engine/Rendering/DrawFinalPass.cpp +++ b/src/Engine/Rendering/DrawFinalPass.cpp @@ -383,7 +383,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& BindExplosionTextures(explosionSkinnedHandle, explosionEffectJob); glActiveTexture(GL_TEXTURE5); glBindTexture(GL_TEXTURE_CUBE_MAP, m_CubeMapPass->m_CubeMapTexture); - glUniform3fv(glGetUniformLocation(forwardHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); + glUniform3fv(glGetUniformLocation(explosionSkinnedHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); std::vector frameBones; if (explosionEffectJob->AnimationOffset.animation != nullptr) { @@ -401,7 +401,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& BindExplosionTextures(explosionHandle, explosionEffectJob); glActiveTexture(GL_TEXTURE5); glBindTexture(GL_TEXTURE_CUBE_MAP, m_CubeMapPass->m_CubeMapTexture); - glUniform3fv(glGetUniformLocation(forwardHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); + glUniform3fv(glGetUniformLocation(explosionHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); } break; @@ -459,12 +459,16 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& GLERROR("Bind ForwardPlusSkinnedProgram"); //bind uniforms BindModelUniforms(forwardSkinnedHandle, modelJob, scene); + GLERROR("Basic/SingleTextures BindModelUniforms"); //bind textures BindModelTextures(forwardSkinnedHandle, modelJob); + GLERROR("Basic/SingleTextures BindModelTextures"); glActiveTexture(GL_TEXTURE5); - glBindTexture(GL_TEXTURE_CUBE_MAP, m_CubeMapPass->m_CubeMapTexture); - glUniform3fv(glGetUniformLocation(forwardHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); - + GLERROR("Basic/SingleTextures CameraPosition1"); + glBindTexture(GL_TEXTURE_CUBE_MAP, m_CubeMapPass->m_CubeMapTexture); + GLERROR("Basic/SingleTextures CameraPosition2"); + glUniform3fv(glGetUniformLocation(forwardSkinnedHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); + GLERROR("Basic/SingleTextures CameraPosition3"); std::vector frameBones; if (modelJob->AnimationOffset.animation != nullptr) { frameBones = modelJob->Skeleton->GetFrameBones(modelJob->Animations, modelJob->AnimationOffset); @@ -472,7 +476,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& frameBones = modelJob->Skeleton->GetFrameBones(modelJob->Animations); } glUniformMatrix4fv(glGetUniformLocation(forwardSkinnedHandle, "Bones"), frameBones.size(), GL_FALSE, glm::value_ptr(frameBones[0])); - + GLERROR("Basic/SingleTextures skinned end"); } else { m_ForwardPlusProgram->Bind(); GLERROR("Bind ForwardPlusProgram"); @@ -483,6 +487,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& glActiveTexture(GL_TEXTURE5); glBindTexture(GL_TEXTURE_CUBE_MAP, m_CubeMapPass->m_CubeMapTexture); glUniform3fv(glGetUniformLocation(forwardHandle, "CameraPosition"), 1, glm::value_ptr(scene.Camera->Position())); + GLERROR("Basic/SingleTextures end"); } break; } @@ -495,7 +500,6 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& BindModelUniforms(forwardSplatMapSkinnedHandle, modelJob, scene); //bind textures BindModelTextures(forwardSplatMapSkinnedHandle, modelJob); - GLERROR("asdasd"); std::vector frameBones; if (modelJob->AnimationOffset.animation != nullptr) { frameBones = modelJob->Skeleton->GetFrameBones(modelJob->Animations, modelJob->AnimationOffset); @@ -503,7 +507,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& frameBones = modelJob->Skeleton->GetFrameBones(modelJob->Animations); } glUniformMatrix4fv(glGetUniformLocation(forwardSplatMapSkinnedHandle, "Bones"), frameBones.size(), GL_FALSE, glm::value_ptr(frameBones[0])); - + GLERROR("SplatMapping skinned end"); } else { m_ForwardPlusSplatMapProgram->Bind(); GLERROR("Bind SplatMap program"); @@ -511,7 +515,7 @@ void DrawFinalPass::DrawModelRenderQueues(std::list>& BindModelUniforms(forwardSplatHandle, modelJob, scene); //bind textures BindModelTextures(forwardSplatHandle, modelJob); - GLERROR("asdasd"); + GLERROR("SplatMapping end"); } break; }