diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2020-03-16 16:42:56 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2020-03-18 13:23:05 +0300 |
commit | 7537cad5761e4778da7aed02410c5811114c24e5 (patch) | |
tree | 94b0187257e08ecaeaad5cef9eaaa4ec49aa04fd /intern/cycles/kernel/geom | |
parent | 1162ba206dd7792414d3ae716877ba1383de8dab (diff) |
Volumes: add render settings for volume datablock
* Space: volume density and step size in object or world space
* Step Size: override automatic step size
* Clipping: values below this are ignored for tighter volume bounds
The last two are Cycles only currently.
Ref T73201
Diffstat (limited to 'intern/cycles/kernel/geom')
-rw-r--r-- | intern/cycles/kernel/geom/geom_object.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/intern/cycles/kernel/geom/geom_object.h b/intern/cycles/kernel/geom/geom_object.h index c6d02ed9702..3aa68e1f84e 100644 --- a/intern/cycles/kernel/geom/geom_object.h +++ b/intern/cycles/kernel/geom/geom_object.h @@ -322,6 +322,15 @@ ccl_device_inline uint object_patch_map_offset(KernelGlobals *kg, int object) /* Volume step size */ +ccl_device_inline float object_volume_density(KernelGlobals *kg, int object) +{ + if (object == OBJECT_NONE) { + return 1.0f; + } + + return kernel_tex_fetch(__objects, object).surface_area; +} + ccl_device_inline float object_volume_step_size(KernelGlobals *kg, int object) { if (object == OBJECT_NONE) { |