]> OCCT Git - occt.git/commitdiff
0026808: Visualization, TKOpenGl - specify GLSL 120 for point sprites program
authorkgv <kgv@opencascade.com>
Sat, 24 Oct 2015 11:40:09 +0000 (14:40 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 29 Oct 2015 12:06:53 +0000 (15:06 +0300)
src/OpenGl/OpenGl_ShaderManager.cxx

index 5eb6e537c2b8cc0b28c22dd68d3dc728547fb782..75b7d28a608eb030989169955f4385e8310dfdfc 100644 (file)
@@ -1171,6 +1171,10 @@ Standard_Boolean OpenGl_ShaderManager::prepareStdProgramFlat (Handle(OpenGl_Shad
       {
         aSrcGetAlpha = EOL"float getAlpha(void) { return occTexture2D(occActiveSampler, gl_PointCoord).r; }";
       }
+      else if (myContext->IsGlGreaterEqual (2, 1))
+      {
+        aProgramSrc->SetHeader ("#version 120"); // gl_PointCoord has been added since GLSL 1.2
+      }
     #endif
 
       aSrcFragGetColor = aSrcGetAlpha
@@ -1194,6 +1198,13 @@ Standard_Boolean OpenGl_ShaderManager::prepareStdProgramFlat (Handle(OpenGl_Shad
         EOL"  vec4 aColor = getColor();"
         EOL"  if (aColor.a <= 0.1) discard;"
         EOL"  occFragColor = aColor;";
+    #if !defined(GL_ES_VERSION_2_0)
+      if (myContext->core11 != NULL
+       && myContext->IsGlGreaterEqual (2, 1))
+      {
+        aProgramSrc->SetHeader ("#version 120"); // gl_PointCoord has been added since GLSL 1.2
+      }
+    #endif
     }
   }
   else
@@ -1440,6 +1451,13 @@ Standard_Boolean OpenGl_ShaderManager::prepareStdProgramGouraud (Handle(OpenGl_S
         EOL"  vec4 aColor = gl_FrontFacing ? FrontColor : BackColor;"
         EOL"  return occTexture2D(occActiveSampler, gl_PointCoord) * aColor;"
         EOL"}";
+    #if !defined(GL_ES_VERSION_2_0)
+      if (myContext->core11 != NULL
+       && myContext->IsGlGreaterEqual (2, 1))
+      {
+        aProgramSrc->SetHeader ("#version 120"); // gl_PointCoord has been added since GLSL 1.2
+      }
+    #endif
     }
   }
   else
@@ -1559,6 +1577,13 @@ Standard_Boolean OpenGl_ShaderManager::prepareStdProgramPhong (Handle(OpenGl_Sha
         EOL"  vec4 aColor = " thePhongCompLight ";"
         EOL"  return occTexture2D(occActiveSampler, gl_PointCoord) * aColor;"
         EOL"}";
+    #if !defined(GL_ES_VERSION_2_0)
+      if (myContext->core11 != NULL
+       && myContext->IsGlGreaterEqual (2, 1))
+      {
+        aProgramSrc->SetHeader ("#version 120"); // gl_PointCoord has been added since GLSL 1.2
+      }
+    #endif
     }
   }
   else