mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
0032143: Visualization - add option excluding transparent object from sorting
Added option Graphic3d_AlphaMode_MaskBlend combining Mask (no sorting) and Blend (enable blending with background) behavior.
This commit is contained in:
@@ -51,6 +51,7 @@ static const char* alphaModeToString (Graphic3d_AlphaMode theMode)
|
||||
case Graphic3d_AlphaMode_Opaque: return "Opaque";
|
||||
case Graphic3d_AlphaMode_Mask: return "Mask";
|
||||
case Graphic3d_AlphaMode_Blend: return "Blend";
|
||||
case Graphic3d_AlphaMode_MaskBlend: return "MaskBlend";
|
||||
case Graphic3d_AlphaMode_BlendAuto: return "Auto";
|
||||
}
|
||||
return "Auto";
|
||||
@@ -59,12 +60,25 @@ static const char* alphaModeToString (Graphic3d_AlphaMode theMode)
|
||||
//! Decode alpha mode from string.
|
||||
static Graphic3d_AlphaMode alphaModeFromString (const char* theMode)
|
||||
{
|
||||
switch (*theMode)
|
||||
if (strcasecmp (theMode, "Opaque") == 0)
|
||||
{
|
||||
case 'O': return Graphic3d_AlphaMode_Opaque;
|
||||
case 'M': return Graphic3d_AlphaMode_Mask;
|
||||
case 'B': return Graphic3d_AlphaMode_Blend;
|
||||
case 'A': return Graphic3d_AlphaMode_BlendAuto;
|
||||
return Graphic3d_AlphaMode_Opaque;
|
||||
}
|
||||
else if (strcasecmp (theMode, "Mask") == 0)
|
||||
{
|
||||
return Graphic3d_AlphaMode_Mask;
|
||||
}
|
||||
else if (strcasecmp (theMode, "Blend") == 0)
|
||||
{
|
||||
return Graphic3d_AlphaMode_Blend;
|
||||
}
|
||||
else if (strcasecmp (theMode, "MaskBlend") == 0)
|
||||
{
|
||||
return Graphic3d_AlphaMode_MaskBlend;
|
||||
}
|
||||
else if (strcasecmp (theMode, "Auto") == 0)
|
||||
{
|
||||
return Graphic3d_AlphaMode_BlendAuto;
|
||||
}
|
||||
return Graphic3d_AlphaMode_BlendAuto;
|
||||
}
|
||||
|
Reference in New Issue
Block a user