Cycles: Implement preliminary test for volume stack update from SSS
authorSergey Sharybin <sergey.vfx@gmail.com>
Fri, 3 Oct 2014 08:52:04 +0000 (10:52 +0200)
committerSergey Sharybin <sergey.vfx@gmail.com>
Fri, 3 Oct 2014 08:52:04 +0000 (10:52 +0200)
commita65451235637514abaaf2b04c5a89f14a6edd96f
tree434aa96d50837b2a08992230ddb46f9ab1995be4
parentb86f199a98fe77b634ea7f686d3d664d9791562b
Cycles: Implement preliminary test for volume stack update from SSS

This adds an AABB collision check for objects with volumes and if there's a
collision detected then the object will have SD_OBJECT_INTERSECTS_VOLUME flag.

This solves a speed regression introduced by the fix for T39823 by skipping
volume stack update in cases no volumes intersects the current SSS object.
intern/cycles/device/device_memory.h
intern/cycles/kernel/kernel_path.h
intern/cycles/kernel/kernel_types.h
intern/cycles/render/mesh.cpp
intern/cycles/render/object.cpp