diff --git a/MG/MG_UTIL/Program/GLSLTool.cpp b/MG/MG_UTIL/Program/GLSLTool.cpp index f0d861e1..b8356b76 100644 --- a/MG/MG_UTIL/Program/GLSLTool.cpp +++ b/MG/MG_UTIL/Program/GLSLTool.cpp @@ -111,8 +111,12 @@ namespace MG_Util::Program { // TODO: Use other methods to implement clip space fixing. size_t pos = output_glsl.find("\n gl_Position.y = -gl_Position.y;\n}"); + size_t blur_pos = output_glsl.find("BlurDir"); // TODO: Fix this really hacky way of fixing blur shader... if (pos != std::string::npos) { - output_glsl.replace(pos, strlen("\n gl_Position.y = -gl_Position.y;\n}"), "\n gl_Position.y = -gl_Position.y;\n gl_Position.z = (gl_Position.z + gl_Position.w) * 0.5;\n}"); + if (blur_pos != std::string::npos) { + output_glsl.replace(pos, strlen("\n gl_Position.y = -gl_Position.y;\n}"), "\n}"); + } else + output_glsl.replace(pos, strlen("\n gl_Position.y = -gl_Position.y;\n}"), "\n gl_Position.y = -gl_Position.y;\n gl_Position.z = (gl_Position.z + gl_Position.w) * 0.5;\n}"); } return output_glsl; }