0024307: TKOpenGl - efficient culling of large number of presentations
authorvpa <vpa@opencascade.com>
Fri, 20 Jun 2014 07:26:14 +0000 (11:26 +0400)
committerapn <apn@opencascade.com>
Thu, 26 Jun 2014 08:57:26 +0000 (12:57 +0400)
commitb7cd4ba79579b26f9be9de9a1ec08ea65201ceda
tree9fd8ff450922bdf0d7495739a52aff739f71bb36
parentc1c1aefa71718b1d5bd20479c643057f1b446001
0024307: TKOpenGl - efficient culling of large number of presentations

Implement SAT intersection tests and frustum culling algorithm using BVH trees.

New Draw command vfrustumculling to manage frustum culling.
Add test cases bugs/vis/bug24307_1 and bugs/vis/bug24307_2.
Remove CALL_DEF_BOUNDBOX and CALL_DEF_BOUNDS.
53 files changed:
src/BVH/BVH_PrimitiveSet.hxx
src/Graphic3d/FILES
src/Graphic3d/Graphic3d.cdl
src/Graphic3d/Graphic3d_BndBox4d.hxx [new file with mode: 0644]
src/Graphic3d/Graphic3d_BndBox4f.hxx [new file with mode: 0644]
src/Graphic3d/Graphic3d_CBounds.hxx [deleted file]
src/Graphic3d/Graphic3d_CStructure.cxx
src/Graphic3d/Graphic3d_CStructure.hxx
src/Graphic3d/Graphic3d_CView.hxx
src/Graphic3d/Graphic3d_GraphicDriver.cdl
src/Graphic3d/Graphic3d_Group.cdl
src/Graphic3d/Graphic3d_Group.cxx
src/Graphic3d/Graphic3d_Structure.cdl
src/Graphic3d/Graphic3d_Structure.cxx
src/InterfaceGraphic/InterfaceGraphic_Graphic3d.hxx
src/NCollection/NCollection_Vec4.hxx
src/OpenGl/FILES
src/OpenGl/OpenGl_BVHClipPrimitiveSet.cxx [new file with mode: 0644]
src/OpenGl/OpenGl_BVHClipPrimitiveSet.hxx [new file with mode: 0644]
src/OpenGl/OpenGl_BVHTreeSelector.cxx [new file with mode: 0644]
src/OpenGl/OpenGl_BVHTreeSelector.hxx [new file with mode: 0644]
src/OpenGl/OpenGl_GraphicDriver.hxx
src/OpenGl/OpenGl_GraphicDriver_4.cxx
src/OpenGl/OpenGl_GraphicDriver_7.cxx
src/OpenGl/OpenGl_LayerList.cxx
src/OpenGl/OpenGl_LayerList.hxx
src/OpenGl/OpenGl_PriorityList.cxx
src/OpenGl/OpenGl_PriorityList.hxx
src/OpenGl/OpenGl_SceneGeometry.cxx
src/OpenGl/OpenGl_SceneGeometry.hxx
src/OpenGl/OpenGl_Structure.cxx
src/OpenGl/OpenGl_Structure.hxx
src/OpenGl/OpenGl_View.hxx
src/OpenGl/OpenGl_View_2.cxx
src/OpenGl/OpenGl_Workspace.cxx
src/OpenGl/OpenGl_Workspace.hxx
src/OpenGl/OpenGl_Workspace_Raytrace.cxx
src/Prs3d/Prs3d_Presentation.cdl
src/Prs3d/Prs3d_Presentation.cxx
src/PrsMgr/PrsMgr_PresentableObject.cdl
src/PrsMgr/PrsMgr_PresentableObject.cxx
src/PrsMgr/PrsMgr_Presentation.cxx
src/Standard/Standard_Real.hxx
src/V3d/V3d_View.cdl
src/V3d/V3d_View.cxx
src/ViewerTest/ViewerTest.cxx
src/ViewerTest/ViewerTest_ObjectCommands.cxx
src/ViewerTest/ViewerTest_OpenGlCommands.cxx
src/ViewerTest/ViewerTest_ViewerCommands.cxx
src/Visual3d/Visual3d_View.cdl
src/Visual3d/Visual3d_View.cxx
tests/bugs/vis/bug24307_1 [new file with mode: 0644]
tests/bugs/vis/bug24307_2 [new file with mode: 0644]