73f2056052
This is an initial implementation of BVH8 optimization structure and packated triangle intersection. The aim is to get faster ray to scene intersection checks. Scene BVH4 BVH8 barbershop_interior 10:24.94 10:10.74 bmw27 02:41.25 02:38.83 classroom 08:16.49 07:56.15 fishy_cat 04:24.56 04:17.29 koro 06:03.06 06:01.45 pavillon_barcelona 09:21.26 09:02.98 victor 23:39.65 22:53.71 As memory goes, peak usage raises by about 4.7% in a complex scenes. Note that BVH8 is disabled when using OSL, this is because OSL kernel does not get per-microarchitecture optimizations and hence always considers BVH3 is used. Original BVH8 patch from Anton Gavrikov. Batched triangles intersection from Victoria Zhislina. Extra work and tests and fixes from Maxym Dmytrychenko. |
||
---|---|---|
.. | ||
bvh2.cpp | ||
bvh2.h | ||
bvh4.cpp | ||
bvh4.h | ||
bvh8.cpp | ||
bvh8.h | ||
bvh_binning.cpp | ||
bvh_binning.h | ||
bvh_build.cpp | ||
bvh_build.h | ||
bvh_node.cpp | ||
bvh_node.h | ||
bvh_params.h | ||
bvh_sort.cpp | ||
bvh_sort.h | ||
bvh_split.cpp | ||
bvh_split.h | ||
bvh_unaligned.cpp | ||
bvh_unaligned.h | ||
bvh.cpp | ||
bvh.h | ||
CMakeLists.txt |