]> OCCT Git - occt.git/commit
0033607: Visualization - Implementation of hardware occlusion queries
authorhossamali <Hossam.Ali@opencascade.com>
Fri, 23 Feb 2024 11:45:34 +0000 (11:45 +0000)
committerhossamali <Hossam.Ali@opencascade.com>
Fri, 8 Mar 2024 10:54:00 +0000 (10:54 +0000)
commit0c44ae5c8a9aa49368d46eca0125f17315773488
tree8b802f49716dfe3c2f2d416851bf504ea777cc1d
parentf286953d85c4177f5b62c8ce135a54d1e69e14f5
0033607: Visualization - Implementation of hardware occlusion queries

Hardware occlusion queries provides mechanism to answer whether or not
any pixels would be drawn. as instance it can be used as visibility filter
or acceleration for rendering complex scenes, by skipping occluded objects.

Graphic3d_ViewOcclusionMask : Provide way to access occlusion test results
for every graphical presentation per each defined view of the viewer

Graphic3d_OcclusionQuery : provides generic access to occlusion query
functionality.

OpenGl_OcclusionQuery: provides OpenGL implementation for occlusion query

Graphic3d_RenderingParams:  provides way to enable or disable occlusion query

AIS_InteractiveContext : reset view occlusion mask in new loaded objects

Each view invalidate its occlusion query results if camera has changed.
28 files changed:
src/AIS/AIS_InteractiveContext.cxx
src/Graphic3d/FILES
src/Graphic3d/Graphic3d_CStructure.hxx
src/Graphic3d/Graphic3d_CView.cxx
src/Graphic3d/Graphic3d_CView.hxx
src/Graphic3d/Graphic3d_FrameStatsTimer.hxx
src/Graphic3d/Graphic3d_OcclusionQuery.cxx [new file with mode: 0644]
src/Graphic3d/Graphic3d_OcclusionQuery.hxx [new file with mode: 0644]
src/Graphic3d/Graphic3d_RenderingParams.cxx
src/Graphic3d/Graphic3d_RenderingParams.hxx
src/Graphic3d/Graphic3d_ViewOcclusionMask.cxx [new file with mode: 0644]
src/Graphic3d/Graphic3d_ViewOcclusionMask.hxx [new file with mode: 0644]
src/OpenGl/FILES
src/OpenGl/OpenGl_LayerList.cxx
src/OpenGl/OpenGl_LayerList.hxx
src/OpenGl/OpenGl_OcclusionQuery.cxx [new file with mode: 0644]
src/OpenGl/OpenGl_OcclusionQuery.hxx [new file with mode: 0644]
src/OpenGl/OpenGl_Structure.cxx
src/OpenGl/OpenGl_Structure.hxx
src/OpenGl/OpenGl_View.cxx
src/OpenGl/OpenGl_View.hxx
src/PrsMgr/PrsMgr_PresentableObject.cxx
src/PrsMgr/PrsMgr_PresentableObject.hxx
src/PrsMgr/PrsMgr_PresentationManager.cxx
src/V3d/V3d_Trihedron.cxx
src/V3d/V3d_Viewer.cxx
src/ViewerTest/ViewerTest_ViewerCommands.cxx
tests/v3d/occlusion/boxes [new file with mode: 0644]