diff options
author | Thomas Dinges <blender@dingto.org> | 2016-05-09 13:51:42 +0300 |
---|---|---|
committer | Thomas Dinges <blender@dingto.org> | 2016-05-11 22:58:34 +0300 |
commit | 4a4f043bc4235c046d2b58e00f2b80665ded11bf (patch) | |
tree | 58f68254573aece49f2b6ab67ffcb8ba1fc9c08f /intern/cycles/kernel/kernel_globals.h | |
parent | 544b76ac9cf79bcc64b9f8248984f1d408d32eb8 (diff) |
Cycles: Add support for single channel float textures on CPU.
Until now, single channel textures were packed into a float4, wasting 3 floats per pixel. Memory usage of such textures is now reduced by 3/4.
Voxel Attributes such as density, flame and heat benefit from this, but also Bumpmaps with one channel.
This commit also includes some cleanup and code deduplication for image loading.
Example Smoke render from Cosmos Laundromat: http://www.pasteall.org/pic/show.php?id=102972
Memory here went down from ~600MB to ~300MB.
Reviewers: #cycles, brecht
Differential Revision: https://developer.blender.org/D1981
Diffstat (limited to 'intern/cycles/kernel/kernel_globals.h')
-rw-r--r-- | intern/cycles/kernel/kernel_globals.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/intern/cycles/kernel/kernel_globals.h b/intern/cycles/kernel/kernel_globals.h index b08d8924dc7..3af44e06179 100644 --- a/intern/cycles/kernel/kernel_globals.h +++ b/intern/cycles/kernel/kernel_globals.h @@ -34,6 +34,7 @@ struct OSLShadingSystem; typedef struct KernelGlobals { texture_image_uchar4 texture_byte4_images[TEX_NUM_BYTE4_IMAGES_CPU]; texture_image_float4 texture_float4_images[TEX_NUM_FLOAT4_IMAGES_CPU]; + texture_image_float texture_float_images[TEX_NUM_FLOAT_IMAGES_CPU]; # define KERNEL_TEX(type, ttype, name) ttype name; # define KERNEL_IMAGE_TEX(type, ttype, name) |