diff options
author | Brecht Van Lommel <brecht@blender.org> | 2020-11-04 17:50:32 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2020-11-04 17:51:39 +0300 |
commit | 4dddd543933ce9d5674b29ff408516022e67d23e (patch) | |
tree | 1ed0db5bbd7fbd0e09a899aeb0e716471efec3b4 | |
parent | 3ffa0452af9ac0a08b321e9504c9e080ab1ce47d (diff) |
Fix T82016: Cycles assert with empty OpenVDB volumes
-rw-r--r-- | intern/cycles/render/volume.cpp | 7 |
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 |