0029874: Visualization - capping plane transparency does not work
authorkgv <kgv@opencascade.com>
Fri, 15 Jun 2018 16:39:31 +0000 (19:39 +0300)
committerbugmaster <bugmaster@opencascade.com>
Fri, 6 Jul 2018 12:56:08 +0000 (15:56 +0300)
commit1b661a81d561e4de7c9bbc8665ef0656eaf39eb4
treeb23a4ddcf7251553e9b5378090298fbeb2e198e1
parent14823c6f5ea2587c84c84b22631040f748baca2c
0029874: Visualization - capping plane transparency does not work

Interface OpenGl_RenderFilter and its implementations have been merged into OpenGl_Workspace.
This limits flexibility of interface, but simplifies logic.
- OpenGl_RenderFilter_FillModeOnly flag replaces OpenGl_CappingAlgoFilter;
- OpenGl_RenderFilter_NonRaytraceableOnly flag replaces OpenGl_RaytraceFilter;
- OpenGl_RenderFilter_OpaqueOnly flag replaces OpenGl_OpaqueFilter;
- OpenGl_RenderFilter_TransparentOnly flag replaces OpenGl_TransparentFilter.

OpenGl_CappingAlgo now:
- avoids redundant Stencil clearing when Layer contains at least one transparent Element;
- renders semitransparent capping plane within transparent elements pass.

vclipplane command has been extended by new argument -transparency.
15 files changed:
src/OpenGl/FILES
src/OpenGl/OpenGl_CappingAlgo.cxx
src/OpenGl/OpenGl_CappingAlgo.hxx
src/OpenGl/OpenGl_Element.hxx
src/OpenGl/OpenGl_Group.cxx
src/OpenGl/OpenGl_LayerList.cxx
src/OpenGl/OpenGl_LayerList.hxx
src/OpenGl/OpenGl_RenderFilter.cxx [deleted file]
src/OpenGl/OpenGl_RenderFilter.hxx
src/OpenGl/OpenGl_View.hxx
src/OpenGl/OpenGl_View_Redraw.cxx
src/OpenGl/OpenGl_Workspace.cxx
src/OpenGl/OpenGl_Workspace.hxx
src/ViewerTest/ViewerTest_ViewerCommands.cxx
tests/bugs/vis/bug29874 [new file with mode: 0644]