Cycles: Use dedicated BVH for subsurface ray casting
authorSergey Sharybin <sergey.vfx@gmail.com>
Thu, 25 Feb 2016 14:12:11 +0000 (15:12 +0100)
committerSergey Sharybin <sergey.vfx@gmail.com>
Fri, 25 Mar 2016 12:42:13 +0000 (13:42 +0100)
commit0e47e0cc9e9b19a30717042d97cb3b8fb50132ff
treee735d1d52faf96df09e292e5338f4a4af1499de3
parent712a2579944fb9ee00fe3c6c34f07f2800361396
Cycles: Use dedicated BVH for subsurface ray casting

This commit makes it so casting subsurface rays will totally ignore all
the BVH nodes and primitives which do not belong to a current object,
making it much simpler traversal code and reduces number of intersection
tests.

Reviewers: brecht, juicyfruit, dingto, lukasstockner97

Differential Revision: https://developer.blender.org/D1823
intern/cycles/bvh/bvh.cpp
intern/cycles/bvh/bvh_build.cpp
intern/cycles/kernel/geom/geom_bvh.h
intern/cycles/kernel/geom/geom_bvh_subsurface.h
intern/cycles/kernel/geom/geom_qbvh_subsurface.h
intern/cycles/render/mesh.cpp
intern/cycles/render/mesh.h
intern/cycles/render/object.cpp