]> OCCT Git - occt.git/commitdiff
0032302: Visualization, TKOpenGles - do not use window buffer by default
authorkgv <kgv@opencascade.com>
Thu, 15 Apr 2021 08:27:38 +0000 (11:27 +0300)
committerbugmaster <bugmaster@opencascade.com>
Thu, 15 Apr 2021 16:11:43 +0000 (19:11 +0300)
OpenGl_Caps::useSystemBuffer is now set to FALSE on both OpenGL and OpenGL ES.
OpenGl_Caps::buffersNoSwap and OpenGl_Caps::buffersOpaqueAlpha are now set to TRUE by default on WebGL.

src/OpenGl/OpenGl_Caps.cxx

index b339c15d15401936fe3889c27d196c62b0c5f477..e7f23a2d8103882e45278638e67d5b2821cd2fe1 100755 (executable)
@@ -31,23 +31,14 @@ OpenGl_Caps::OpenGl_Caps()
   keepArrayData     (Standard_False),
   ffpEnable         (Standard_False),
   usePolygonMode    (Standard_False),
-#if !defined(GL_ES_VERSION_2_0)
   useSystemBuffer   (Standard_False),
-#else
-  useSystemBuffer   (Standard_True),
-#endif
   swapInterval      (1),
   useZeroToOneDepth (Standard_False),
   buffersNoSwap     (Standard_False),
   buffersOpaqueAlpha(Standard_False),
   contextStereo     (Standard_False),
-#ifdef OCCT_DEBUG
-  contextDebug      (Standard_True),
-  contextSyncDebug  (Standard_True),
-#else
   contextDebug      (Standard_False),
   contextSyncDebug  (Standard_False),
-#endif
   contextNoAccel    (Standard_False),
 #if !defined(GL_ES_VERSION_2_0)
   contextCompatible (Standard_True),
@@ -62,7 +53,14 @@ OpenGl_Caps::OpenGl_Caps()
   suppressExtraMsg  (Standard_True),
   glslDumpLevel     (OpenGl_ShaderProgramDumpLevel_Off)
 {
-  //
+#if defined(__EMSCRIPTEN__)
+  buffersNoSwap      = true; // swap has no effect in WebGL
+  buffersOpaqueAlpha = true; // avoid unexpected blending of canvas with page background
+#endif
+#ifdef OCCT_DEBUG
+  contextDebug     = true;
+  contextSyncDebug = true;
+#endif
 }
 
 // =======================================================================