Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2020-11-04 17:50:32 +0300
committerBrecht Van Lommel <brecht@blender.org>2020-11-04 17:51:39 +0300
commit4dddd543933ce9d5674b29ff408516022e67d23e (patch)
tree1ed0db5bbd7fbd0e09a899aeb0e716471efec3b4
parent3ffa0452af9ac0a08b321e9504c9e080ab1ce47d (diff)
Fix T82016: Cycles assert with empty OpenVDB volumes
-rw-r--r--intern/cycles/render/volume.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/intern/cycles/render/volume.cpp b/intern/cycles/render/volume.cpp
index a8edc04f8a9..fcf33a5e50a 100644
--- a/intern/cycles/render/volume.cpp
+++ b/intern/cycles/render/volume.cpp
@@ -438,10 +438,15 @@ static openvdb::GridBase::ConstPtr openvdb_grid_from_device_texture(device_textu
image_memory->data_width - 1,
image_memory->data_height - 1,
image_memory->data_depth - 1);
+
+ typename GridType::Ptr sparse = GridType::create(ValueType(0.0f));
+ if (dense_bbox.empty()) {
+ return sparse;
+ }
+
openvdb::tools::Dense<ValueType, openvdb::tools::MemoryLayout::LayoutXYZ> dense(
dense_bbox, static_cast<ValueType *>(image_memory->host_pointer));
- typename GridType::Ptr sparse = GridType::create(ValueType(0.0f));
openvdb::tools::copyFromDense(dense, *sparse, ValueType(volume_clipping));
/* #copyFromDense will remove any leaf node that contains constant data and replace it with a