From d8aa613d94caf6a3d82a8f4e9e90b9b8f5c61a7d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 8 Mar 2020 10:42:11 +0100 Subject: Cleanup: add ImageHandle to centralize image ownership logic --- intern/cycles/blender/blender_shader.cpp | 25 ++----------------------- intern/cycles/blender/blender_volume.cpp | 5 +---- 2 files changed, 3 insertions(+), 27 deletions(-) (limited to 'intern/cycles/blender') diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp index 25e1d60f84d..64367d5fcd0 100644 --- a/intern/cycles/blender/blender_shader.cpp +++ b/intern/cycles/blender/blender_shader.cpp @@ -686,14 +686,6 @@ static ShaderNode *add_node(Scene *scene, for (b_image.tiles.begin(b_iter); b_iter != b_image.tiles.end(); ++b_iter) { image->tiles.push_back(b_iter->number()); } - - /* TODO: restore */ - /* TODO(sergey): Does not work properly when we change builtin type. */ -#if 0 - if (b_image.is_updated()) { - scene->image_manager->tag_reload_image(image->image_key()); - } -#endif } node = image; } @@ -730,14 +722,6 @@ static ShaderNode *add_node(Scene *scene, env->animated = b_env_node.image_user().use_auto_refresh(); env->alpha_type = get_image_alpha_type(b_image); - - /* TODO: restore */ - /* TODO(sergey): Does not work properly when we change builtin type. */ -#if 0 - if (b_image.is_updated()) { - scene->image_manager->tag_reload_image(env->image_key()); - } -#endif } node = env; } @@ -885,14 +869,9 @@ static ShaderNode *add_node(Scene *scene, point_density->space = (NodeTexVoxelSpace)b_point_density_node.space(); point_density->interpolation = get_image_interpolation(b_point_density_node); point_density->builtin_data = b_point_density_node.ptr.data; - point_density->image_manager = scene->image_manager; - /* TODO(sergey): Use more proper update flag. */ - if (true) { - point_density->add_image(); - b_point_density_node.cache_point_density(b_depsgraph); - scene->image_manager->tag_reload_image(point_density->image_key()); - } + point_density->add_image(scene->image_manager); + b_point_density_node.cache_point_density(b_depsgraph); node = point_density; /* Transformation form world space to texture space. diff --git a/intern/cycles/blender/blender_volume.cpp b/intern/cycles/blender/blender_volume.cpp index 4dab60088bb..e11cc4ab18f 100644 --- a/intern/cycles/blender/blender_volume.cpp +++ b/intern/cycles/blender/blender_volume.cpp @@ -48,15 +48,12 @@ static void sync_smoke_volume(Scene *scene, BL::Object &b_ob, Mesh *mesh, float mesh->volume_isovalue = b_domain.clipping(); Attribute *attr = mesh->attributes.add(std); - VoxelAttribute *volume_data = attr->data_voxel(); - ImageMetaData metadata; ImageKey key; key.filename = Attribute::standard_name(std); key.builtin_data = b_ob.ptr.data; - volume_data->manager = image_manager; - volume_data->slot = image_manager->add_image(key, frame, metadata); + attr->add(image_manager->add_image(key, frame)); } /* Create a matrix to transform from object space to mesh texture space. -- cgit v1.2.3