]> OCCT Git - occt.git/commitdiff
0033729: Visualization - Fixed transparency for capping in 'Graphic3d_RTM_BLEND_OIT...
authorVitaut Tryputsin <vitaut.tryputsin@opencascade.com>
Thu, 30 May 2024 10:26:24 +0000 (13:26 +0300)
committerdpasukhi <dpasukhi@opencascade.com>
Wed, 17 Jul 2024 11:51:03 +0000 (12:51 +0100)
Added changes connected with restoring of color mask (if we store and restore only rgb part, we can miss transparency)

src/OpenGl/OpenGl_CappingAlgo.cxx

index 93a9b4c9d3a88d2ca8b7f34f7baddc8e39e84b52..40b89d11427f60ade4c62fd8835624f03e5156c2 100755 (executable)
@@ -121,8 +121,8 @@ namespace
       aContext->ShaderManager()->UpdateClippingState();
 
       aContext->core11fwd->glClear (GL_STENCIL_BUFFER_BIT);
-      const bool aColorMaskBack = aContext->SetColorMask (false);
-
+      const NCollection_Vec4<bool> aColorMaskBack = aContext->ColorMaskRGBA();
+      aContext->SetColorMask (false);
       // override aspects, disable culling
       theWorkspace->SetAspects (&theWorkspace->NoneCulling());
       theWorkspace->ApplyAspects();
@@ -164,7 +164,7 @@ namespace
       aContext->ShaderManager()->UpdateClippingState();
 
       // render capping plane using the generated stencil mask
-      aContext->SetColorMask (aColorMaskBack);
+      aContext->SetColorMaskRGBA (aColorMaskBack);
       if (theWorkspace->UseDepthWrite())
       {
         aContext->core11fwd->glDepthMask (GL_TRUE);