diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2020-03-17 18:48:00 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2020-03-18 13:23:05 +0300 |
commit | 006025ead0b89de671363816cd0e962f10d21c50 (patch) | |
tree | 7126736cb18cbfef6239cdaff1894171252a5d44 /intern/cycles/render/image.cpp | |
parent | fd53b72871e045dfebfb9ddbe2b3c491491aa913 (diff) |
Cycles: support for different 3D transform per volume grid
This is not yet fully supported by automatic volume bounds but works fine in
most cases that will have mostly matching bounds.
Ref T73201
Diffstat (limited to 'intern/cycles/render/image.cpp')
-rw-r--r-- | intern/cycles/render/image.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/intern/cycles/render/image.cpp b/intern/cycles/render/image.cpp index df8226fb79f..23f97ba5aa3 100644 --- a/intern/cycles/render/image.cpp +++ b/intern/cycles/render/image.cpp @@ -183,6 +183,7 @@ ImageMetaData::ImageMetaData() type(IMAGE_DATA_NUM_TYPES), colorspace(u_colorspace_raw), colorspace_file_format(""), + use_transform_3d(false), compress_as_srgb(false) { } @@ -190,8 +191,9 @@ ImageMetaData::ImageMetaData() bool ImageMetaData::operator==(const ImageMetaData &other) const { return channels == other.channels && width == other.width && height == other.height && - depth == other.depth && type == other.type && colorspace == other.colorspace && - compress_as_srgb == other.compress_as_srgb; + depth == other.depth && use_transform_3d == other.use_transform_3d && + (!use_transform_3d || transform_3d == other.transform_3d) && type == other.type && + colorspace == other.colorspace && compress_as_srgb == other.compress_as_srgb; } bool ImageMetaData::is_float() const @@ -626,6 +628,8 @@ void ImageManager::device_load_image(Device *device, Scene *scene, int slot, Pro img->mem = new device_texture( device, img->mem_name.c_str(), slot, type, img->params.interpolation, img->params.extension); + img->mem->info.use_transform_3d = img->metadata.use_transform_3d; + img->mem->info.transform_3d = img->metadata.transform_3d; /* Create new texture. */ if (type == IMAGE_DATA_TYPE_FLOAT4) { |