Blender Git Loki

Git Commits -> Revision 0e393a3

Revision 0e393a3 by Sergey Sharybin (cycles_bvh)
June 10, 2016, 08:27 (GMT)
Cycles: Support visibility check for inner nodes of QBVH

It was initially unsupported because initial idea of checking visibility
of all children was slowing scenes down a lot. Now the idea has changed
and we only perform visibility check of current node. This avoids huge
slowdown (from tests here it seems to be withing 1-2%, but more tests
would never hurt) and gives nice speedup of ray traversal for complex
scenes which utilized ray visibility.

Here's timing of koro.blend:

Without visibility check With visibility check
Original file 4min 20sec 4min 23sec
Camera rays only 1min 43 sec 55sec

Unfortunately, this doesn't come for free and requires extra data in
BVH node, which increases memory usage of BVH nodes by 15%. This we
can solve with some future trickery of avoiding __tri_storage created
for curve segments.

Commit Details:

Full Hash: 0e393a37a2cd4850b855aa2b9c171156d27911ae
Parent Commit: 54343b8
Lines Changed: +87, -36

9 Modified Paths:

/intern/cycles/bvh/bvh.cpp (+32, -25) (Diff)
/intern/cycles/bvh/bvh.h (+1, -1) (Diff)
/intern/cycles/kernel/geom/geom.h (+1, -1) (Diff)
/intern/cycles/kernel/geom/geom_qbvh.h (+2, -2) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_shadow.h (+13, -1) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_subsurface.h (+2, -1) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_traversal.h (+12, -3) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_volume.h (+12, -1) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_volume_all.h (+12, -1) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021