Blender Git Loki

Git Commits -> Revision b3def11

Revision b3def11 by Thomas Dinges (master)
April 29, 2015, 21:31 (GMT)
Cycles: Record all possible volume intersections for SSS and camera checks

This replaces sequential ray moving followed with scene intersection with
single BVH traversal, which gives us all possible intersections.

Only implemented for CPU, due to qsort and a bigger memory usage on GPU
which we rather avoid. GPU still uses the regular bvh volume intersection code, while CPU now uses the new code.

This improves render performance for scenes with:
a) Camera inside volume mesh
b) SSS mesh intersecting a volume mesh/domain

In simple volume files (not much geometry) performance is roughly the same
(slightly faster). In files with a lot of geometry, the performance
increase is larger. bmps.blend with a volume shader and camera inside the
mesh, it renders ~10% faster here.

Patch by Sergey and myself.

Differential Revision: https://developer.blender.org/D1264

Commit Details:

Full Hash: b3def11f5b751ead0bc8bcf100ff4ab3f2b10981
Parent Commit: e9dcb06
Lines Changed: +1043, -14

2 Added Paths:

/intern/cycles/kernel/geom/geom_bvh_volume_all.h (+454, -0) (View)
/intern/cycles/kernel/geom/geom_qbvh_volume_all.h (+446, -0) (View)

5 Modified Paths:

/intern/cycles/kernel/CMakeLists.txt (+2, -0) (Diff)
/intern/cycles/kernel/geom/geom_bvh.h (+76, -0) (Diff)
/intern/cycles/kernel/kernel_shadow.h (+1, -14) (Diff)
/intern/cycles/kernel/kernel_types.h (+1, -0) (Diff)
/intern/cycles/kernel/kernel_volume.h (+63, -0) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021