Name Description Size Coverage
bvh.cpp print statistics 5416 -
bvh.h include all node types 8491 -
bvh_builder.cpp 2719 -
bvh_builder.h / /*********************************************************************************** 4770 -
bvh_builder_hair.cpp if we use the primrefarray for allocations we have to take it back from the BVH 5127 -
bvh_builder_hair_mb.cpp FIXME: add fast path for single-segment motion blur 4227 -
bvh_builder_morton.cpp allocate leaf node 20812 -
bvh_builder_sah.cpp / /*********************************************************************************** 26363 -
bvh_builder_sah_mb.cpp Motion blur BVH with 4D nodes and internal time splits 30891 -
bvh_builder_sah_spatial.cpp we reset the allocator when the mesh size changed 8946 -
bvh_builder_subdiv.cpp skip build for empty scene 15872 -
bvh_builder_twolevel.cpp delete some objects 13948 -
bvh_builder_twolevel.h new open/merge builder 8839 -
bvh_builder_twolevel_internal.h 15925 -
bvh_collider.cpp special culling for scene intersection with itself 16555 -
bvh_collider.h 2238 -
bvh_factory.h ! BVH instantiations 460 -
bvh_intersector_hybrid.cpp stack state 35615 -
bvh_intersector_hybrid.h ! BVH hybrid packet intersector. Switches between packet and single ray traversal (optional). 2493 -
bvh_intersector_hybrid4_bvh4.cpp 7281 -
bvh_intersector_hybrid4_bvh8.cpp 6193 -
bvh_intersector_hybrid8_bvh4.cpp 6736 -
bvh_intersector_hybrid8_bvh8.cpp 6177 -
bvh_intersector_hybrid16_bvh4.cpp 6870 -
bvh_intersector_hybrid16_bvh8.cpp 6307 -
bvh_intersector_stream.cpp we may traverse an empty BVH in case all geometry was invalid 22062 -
bvh_intersector_stream.h ! BVH ray stream intersector. 12968 -
bvh_intersector_stream_bvh4.cpp 2879 -
bvh_intersector_stream_bvh8.cpp 2883 -
bvh_intersector_stream_filters.cpp use fast path for coherent ray mode 24301 -
bvh_intersector_stream_filters.h 1767 -
bvh_intersector1.cpp we may traverse an empty BVH in case all geometry was invalid 12292 -
bvh_intersector1.h ! BVH single ray intersector. 1160 -
bvh_intersector1_bvh4.cpp 5972 -
bvh_intersector1_bvh8.cpp 5793 -
bvh_node_aabb.h ! BVHN AABBNode 8342 -
bvh_node_aabb_mb.h ! Motion Blur AABBNode 9783 -
bvh_node_aabb_mb4d.h ! Aligned 4D Motion Blur Node 4018 -
bvh_node_base.h ! BVHN Base Node 1044 -
bvh_node_obb.h ! Node with unaligned bounds 2987 -
bvh_node_obb_mb.h ! Clears the node. 3316 -
bvh_node_qaabb.h ! BVHN Quantized Node 12183 -
bvh_node_ref.h BVH node reference with bounds 9671 -
bvh_refit.cpp set new bounds 10294 -
bvh_refit.h ! Type shortcuts 2652 -
bvh_rotate.cpp ! Computes half surface area of box. 5287 -
bvh_rotate.h BVH4 tree rotations 772 -
bvh_statistics.cpp 6949 -
bvh_statistics.h 10273 -
bvh_traverser_stream.h ! one child is hit, continue with that child 4756 -
bvh_traverser1.h ! BVH regular node traversal for single rays. 17775 -
bvh4_factory.cpp 72509 -
bvh4_factory.h ! BVH4 instantiations 18482 -
bvh8_factory.cpp 60618 -
bvh8_factory.h ! BVH8 instantiations 16619 -
node_intersector.h 693 -
node_intersector_frustum.h Optimized frustum test. We calculate t=(p-org)/dir in ray/box intersection. We assume the rays are split by octant, thus dir intervals are either positive or negative in each dimension. Case 1: dir.min >= 0 && dir.max >= 0: t_min = (p_min - org_max) / dir_max = (p_min - org_max)*rdir_min = p_min*rdir_min - org_max*rdir_min t_max = (p_max - org_min) / dir_min = (p_max - org_min)*rdir_max = p_max*rdir_max - org_min*rdir_max Case 2: dir.min < 0 && dir.max < 0: t_min = (p_max - org_min) / dir_min = (p_max - org_min)*rdir_max = p_max*rdir_max - org_min*rdir_max t_max = (p_min - org_max) / dir_max = (p_min - org_max)*rdir_min = p_min*rdir_min - org_max*rdir_min 11157 -
node_intersector_packet.h Fast variant 39011 -
node_intersector_packet_stream.h Fast variant 8631 -
node_intersector1.h Base (without tnear and tfar) 68454 -