From 4dddd543933ce9d5674b29ff408516022e67d23e Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 4 Nov 2020 15:50:32 +0100 Subject: Fix T82016: Cycles assert with empty OpenVDB volumes --- intern/cycles/render/volume.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 dense( dense_bbox, static_cast(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 -- cgit v1.2.3