From: kgv Date: Wed, 14 Feb 2018 19:58:34 +0000 (+0300) Subject: 0029509: Visualization, TKOpenGl - Weighted OIT + MSAA shader compilation errors X-Git-Tag: V7_3_0_beta~83 X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=e3744452bb60730ebf3e00e366e961f17e9ca3ec;p=occt-copy.git 0029509: Visualization, TKOpenGl - Weighted OIT + MSAA shader compilation errors Fix implicit cast ivec2->vec2 and specify GLSL version to "320 es" on appropriate devices. --- diff --git a/src/OpenGl/OpenGl_ShaderManager.cxx b/src/OpenGl/OpenGl_ShaderManager.cxx index 1b6d056558..52f73682ad 100644 --- a/src/OpenGl/OpenGl_ShaderManager.cxx +++ b/src/OpenGl/OpenGl_ShaderManager.cxx @@ -1345,7 +1345,7 @@ Standard_Boolean OpenGl_ShaderManager::prepareStdProgramOitCompositing (const St EOL EOL"void main()" EOL"{" - EOL" ivec2 aTexel = ivec2 (textureSize (uAccumTexture) * TexCoord);" + EOL" ivec2 aTexel = ivec2 (vec2 (textureSize (uAccumTexture)) * TexCoord);" EOL" vec4 aAccum = texelFetch (uAccumTexture, aTexel, gl_SampleID);" EOL" float aWeight = texelFetch (uWeightTexture, aTexel, gl_SampleID).r;" EOL" occSetFragColor (vec4 (aAccum.rgb / max (aWeight, 0.00001), aAccum.a));" @@ -1356,9 +1356,13 @@ Standard_Boolean OpenGl_ShaderManager::prepareStdProgramOitCompositing (const St aProgramSrc->SetHeader ("#version 400"); } #else - if (myContext->IsGlGreaterEqual (3, 0)) + if (myContext->IsGlGreaterEqual (3, 2)) { - aProgramSrc->SetHeader ("#version 300 es"); + aProgramSrc->SetHeader ("#version 320 es"); + } + else if (myContext->IsGlGreaterEqual (3, 0)) + { + aProgramSrc->SetHeader ("#version 300 es"); // with GL_OES_sample_variables extension } #endif }