0026672: Visualization, TKOpenGl - workaround mobile hardware with extremely low...
authorkgv <kgv@opencascade.com>
Wed, 9 Sep 2015 11:24:21 +0000 (14:24 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 10 Sep 2015 14:05:25 +0000 (17:05 +0300)
src/OpenGl/OpenGl_ShaderManager.cxx

index 842ce35..bd3635b 100644 (file)
@@ -1684,7 +1684,7 @@ Standard_Boolean OpenGl_ShaderManager::prepareStdProgramStereo (Handle(OpenGl_Sh
           EOL"{"
           EOL"  vec4 aColorL = occTexture2D (uLeftSampler,  TexCoord);"
           EOL"  vec4 aColorR = occTexture2D (uRightSampler, TexCoord);"
-          EOL"  if (int (mod (gl_FragCoord.y + 1.5, 2.0)) == 1)"
+          EOL"  if (int (mod (gl_FragCoord.y - 1023.5, 2.0)) != 1)"
           EOL"  {"
           EOL"    occFragColor = aColorL;"
           EOL"  }"
@@ -1707,7 +1707,7 @@ Standard_Boolean OpenGl_ShaderManager::prepareStdProgramStereo (Handle(OpenGl_Sh
           EOL"{"
           EOL"  vec4 aColorL = occTexture2D (uLeftSampler,  TexCoord);"
           EOL"  vec4 aColorR = occTexture2D (uRightSampler, TexCoord);"
-          EOL"  if (int (mod (gl_FragCoord.x + 1.5, 2.0)) != 1)"
+          EOL"  if (int (mod (gl_FragCoord.x - 1023.5, 2.0)) == 1)"
           EOL"  {"
           EOL"    occFragColor = aColorL;"
           EOL"  }"
@@ -1730,8 +1730,8 @@ Standard_Boolean OpenGl_ShaderManager::prepareStdProgramStereo (Handle(OpenGl_Sh
           EOL"{"
           EOL"  vec4 aColorL = occTexture2D (uLeftSampler,  TexCoord);"
           EOL"  vec4 aColorR = occTexture2D (uRightSampler, TexCoord);"
-          EOL"  bool isEvenX = int(mod(floor(gl_FragCoord.x + 1.5), 2.0)) == 1;"
-          EOL"  bool isEvenY = int(mod(floor(gl_FragCoord.y + 1.5), 2.0)) != 1;"
+          EOL"  bool isEvenX = int(mod(floor(gl_FragCoord.x - 1023.5), 2.0)) != 1;"
+          EOL"  bool isEvenY = int(mod(floor(gl_FragCoord.y - 1023.5), 2.0)) == 1;"
           EOL"  if ((isEvenX && isEvenY) || (!isEvenX && !isEvenY))"
           EOL"  {"
           EOL"    occFragColor = aColorL;"