0029076: Visualization - implement element shrinking Shader IR-2019-02-22
authormnv <mnv@opencascade.com>
Wed, 1 Aug 2018 15:09:37 +0000 (18:09 +0300)
committerapn <apn@opencascade.com>
Fri, 22 Feb 2019 13:23:35 +0000 (16:23 +0300)
commit2a33274558d445eeadcd0764358664a5d01ba840
tree7ef6814c4d1ecb9542ab2345ede0aeeeda6152c1
parent4efe27fc4e23953262dd9979e680ac54504abd8d
0029076: Visualization - implement element shrinking Shader

Aspect_IS_HOLLOW now an alias to Aspect_IS_EMPTY and Aspect_IS_HIDDENLINE does not implicitly enables mesh edges,
so that Graphic3d_AspectFillArea3d::SetDrawEdges() should be set independently.

OpenGl_ShaderManager now provides built-in GLSL programs for drawing mesh edges
in single pass (and on OpenGL ES which does not provide glPolygonMode()).

Graphic3d_RenderingParams::ToEnableAlphaToCoverage is now enabled by default
and properly handled at TKOpenGl level - enables coverage for Graphic3d_AlphaMode_Mask primitives.

OpenGl_PrimitiveArray now uses GLSL programs instead of glPolygonMode() by default,
which can be managed by OpenGl_Caps::usePolygonMode flag (desktop OpenGL only).
glPolygonMode() is also used as fallback regardless OpenGl_Caps::usePolygonMode flag
when GLSL programs are not supported (Geometry Shaders are required)
or stipple line style is required (not implemented within Face GLSL).

vaspects command has been extended by -setInterior -setDrawEdges -setEdgeColor -setEdgeType -setEdgeWidth
arguments replacing vsetinteriorstyle/vsetedgetype/vunsetedgetype commands.
vaspects now accepts arguments without "set" prefix.
ViewerTest::ParseColor() now parses RGBA color.

Redundant command BUC60738 has been removed.
AIS_ColorScale - fixed usage of uninitialized FillArea aspects.
48 files changed:
dox/dev_guides/upgrade/upgrade.md
dox/user_guides/visualization/visualization.md
src/AIS/AIS_ColorScale.cxx
src/AIS/AIS_ColorScale.hxx
src/AIS/AIS_Shape.cxx
src/AIS/AIS_Shape.hxx
src/Aspect/Aspect_InteriorStyle.hxx
src/Graphic3d/Graphic3d_AspectFillArea3d.cxx
src/Graphic3d/Graphic3d_AspectFillArea3d.hxx
src/Graphic3d/Graphic3d_RenderingParams.hxx
src/Graphic3d/Graphic3d_TypeOfLimit.hxx
src/OpenGl/OpenGl_Caps.cxx
src/OpenGl/OpenGl_Caps.hxx
src/OpenGl/OpenGl_Context.cxx
src/OpenGl/OpenGl_Context.hxx
src/OpenGl/OpenGl_GraphicDriver.cxx
src/OpenGl/OpenGl_LineAttributes.cxx
src/OpenGl/OpenGl_MaterialState.hxx
src/OpenGl/OpenGl_PrimitiveArray.cxx
src/OpenGl/OpenGl_SetOfShaderPrograms.hxx
src/OpenGl/OpenGl_ShaderManager.cxx
src/OpenGl/OpenGl_ShaderManager.hxx
src/OpenGl/OpenGl_ShaderObject.cxx
src/OpenGl/OpenGl_ShaderProgram.cxx
src/OpenGl/OpenGl_ShaderProgram.hxx
src/OpenGl/OpenGl_Text.cxx
src/OpenGl/OpenGl_View_Redraw.cxx
src/OpenGl/OpenGl_Workspace.cxx
src/Prs3d/Prs3d_Drawer.cxx
src/Prs3d/Prs3d_Drawer.hxx
src/QABugs/FILES
src/QABugs/QABugs.cxx
src/QABugs/QABugs.hxx
src/QABugs/QABugs_4.cxx [deleted file]
src/ViewerTest/ViewerTest.cxx
src/ViewerTest/ViewerTest.hxx
src/ViewerTest/ViewerTest_ObjectCommands.cxx
src/ViewerTest/ViewerTest_ViewerCommands.cxx
tests/bugs/mesh/bug29751
tests/bugs/vis/buc60738
tests/bugs/vis/bug23363
tests/bugs/vis/bug28306
tests/bugs/vis/bug6897_1
tests/bugs/vis/bug6897_2 [deleted file]
tests/v3d/begin
tests/v3d/glsl/alpha_mask
tests/v3d/glsl/interior1 [new file with mode: 0644]
tests/v3d/glsl/interior2 [new file with mode: 0644]