Cycles: Initial support of 3D textures for CUDA rendering
authorSergey Sharybin <sergey.vfx@gmail.com>
Mon, 15 Feb 2016 14:40:39 +0000 (15:40 +0100)
committerSergey Sharybin <sergey.vfx@gmail.com>
Mon, 15 Feb 2016 20:26:29 +0000 (21:26 +0100)
commit1c4f21f85e17ac557c9867a7764a31d5ebe74eb0
tree72ea537d6624e43e452ce7465f25f92832b88e4f
parentb5171e250c6816ecce26227615d53cf6f6339892
Cycles: Initial support of 3D textures for CUDA rendering

Supports both smoke/fire and point density textures now.

Reduces number of textures available for sm_20 and sm_21, but you have
to compromise somewhere on such a limited hardware.

Currently limited to linear interpolation only, and decoupled ray
marching is not supported yet. Think those could be considered just a
further improvement.

Some quick example:

  https://developer.blender.org/F282934

Code is minimal and we can fully consider it a fix for missing
support of 3D textures with CUDA.

Reviewers: lukasstockner97, brecht, juicyfruit, dingto

Reviewed By: brecht, juicyfruit, dingto

Subscribers: mib2berlin

Differential Revision: https://developer.blender.org/D1806
intern/cycles/device/device_cuda.cpp
intern/cycles/kernel/geom/geom_volume.h
intern/cycles/kernel/kernel_compat_cuda.h
intern/cycles/kernel/kernel_textures.h
intern/cycles/kernel/svm/svm.h
intern/cycles/kernel/svm/svm_image.h
intern/cycles/kernel/svm/svm_voxel.h
intern/cycles/render/image.h