| 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 |
- |