From ca0c5a4074eebe646bec60585a16d9765b704ba6 Mon Sep 17 00:00:00 2001 From: Vitaut Tryputsin Date: Thu, 30 May 2024 13:26:24 +0300 Subject: [PATCH] 0033729: Visualization - Fixed transparency for capping in 'Graphic3d_RTM_BLEND_OIT' mode 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 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/OpenGl/OpenGl_CappingAlgo.cxx b/src/OpenGl/OpenGl_CappingAlgo.cxx index 93a9b4c9d3..40b89d1142 100755 --- a/src/OpenGl/OpenGl_CappingAlgo.cxx +++ b/src/OpenGl/OpenGl_CappingAlgo.cxx @@ -121,8 +121,8 @@ namespace aContext->ShaderManager()->UpdateClippingState(); aContext->core11fwd->glClear (GL_STENCIL_BUFFER_BIT); - const bool aColorMaskBack = aContext->SetColorMask (false); - + const NCollection_Vec4 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);