diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2020-10-31 19:21:07 +0300 |
---|---|---|
committer | Alexander Gavrilov <angavrilov@gmail.com> | 2020-11-03 16:35:43 +0300 |
commit | 91d320edc3cfb30443af4adbcb09bc3d7a609e1d (patch) | |
tree | 5fa112217c986e516ff30e3ba95556bc2b94d7ce /intern/cycles/blender/blender_volume.cpp | |
parent | 9bc177d8ded4ba498762813a0d5106005fef0e67 (diff) |
Cycles: immediately store the used_shader list in Blender interface.
Uniform attributes require immediate access to the shader list
in object update code, so setting the field can't be deferred
to a background task. This required adding a parameter to the
clear method of Geometry.
Ref D2057
Diffstat (limited to 'intern/cycles/blender/blender_volume.cpp')
-rw-r--r-- | intern/cycles/blender/blender_volume.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/intern/cycles/blender/blender_volume.cpp b/intern/cycles/blender/blender_volume.cpp index e039d8a4895..7ecfd3583d6 100644 --- a/intern/cycles/blender/blender_volume.cpp +++ b/intern/cycles/blender/blender_volume.cpp @@ -320,14 +320,11 @@ static vector<int> get_voxel_image_slots(Mesh *mesh) return slots; } -void BlenderSync::sync_volume(BL::Object &b_ob, - Volume *volume, - const vector<Shader *> &used_shaders) +void BlenderSync::sync_volume(BL::Object &b_ob, Volume *volume) { vector<int> old_voxel_slots = get_voxel_image_slots(volume); - volume->clear(); - volume->used_shaders = used_shaders; + volume->clear(true); if (view_layer.use_volumes) { if (b_ob.type() == BL::Object::type_VOLUME) { |