occt: master f2474958

Author Committer Branch Timestamp Parent
dbp bugmaster master 2016-06-20 16:43:44 master 9cc4e7e2
Affected Issues  0027590: Visualization, Ray Tracing - port to quad BVH trees (QBVH)
Changeset 0027590: Visualization, Ray Tracing - port to quad BVH trees (QBVH)

In frames of this issue binary BVH tree produced by building algorithms was collapsed into 4-ary BVH (QBVH).
The BVH traversal code in GLSL was modified to process such trees correctly.
This allows to implore thread coherence, decrease BVH memory consumption (~2 times), and use traversal stack of the half size.
As a result, ray tracing scalability is improved, as well as rendering performance. For various setups, speedup is 12-18%.
add - src/BVH/BVH_BinaryTree.hxx Diff File
add - src/BVH/BVH_BinaryTree.lxx Diff File
mod - src/BVH/BVH_Builder.hxx Diff File
mod - src/BVH/BVH_DistanceField.lxx Diff File
add - src/BVH/BVH_QuadTree.hxx Diff File
add - src/BVH/BVH_QuadTree.lxx Diff File
mod - src/BVH/BVH_QueueBuilder.lxx Diff File
mod - src/BVH/BVH_Tree.hxx Diff File
mod - src/BVH/BVH_Tree.lxx Diff File
mod - src/BVH/FILES Diff File
mod - src/OpenGl/OpenGl_Layer.cxx Diff File
mod - src/OpenGl/OpenGl_SceneGeometry.cxx Diff File
mod - src/OpenGl/OpenGl_SceneGeometry.hxx Diff File
mod - src/OpenGl/OpenGl_View.hxx Diff File
mod - src/OpenGl/OpenGl_View_Raytrace.cxx Diff File
mod - src/Select3D/Select3D_SensitiveSet.cxx Diff File
mod - src/SelectMgr/SelectMgr_ViewerSelector.cxx Diff File
mod - src/Shaders/RaytraceBase.fs Diff File
mod - src/Shaders/RaytraceRender.fs Diff File