diff options
Diffstat (limited to 'intern/cycles/blender')
-rw-r--r-- | intern/cycles/blender/addon/properties.py | 2 | ||||
-rw-r--r-- | intern/cycles/blender/addon/ui.py | 4 | ||||
-rw-r--r-- | intern/cycles/blender/blender_image.cpp | 6 | ||||
-rw-r--r-- | intern/cycles/blender/blender_object.cpp | 12 | ||||
-rw-r--r-- | intern/cycles/blender/blender_sync.cpp | 16 | ||||
-rw-r--r-- | intern/cycles/blender/blender_viewport.cpp | 4 |
6 files changed, 21 insertions, 23 deletions
diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py index 71e2f9fc3a5..b014811211f 100644 --- a/intern/cycles/blender/addon/properties.py +++ b/intern/cycles/blender/addon/properties.py @@ -482,7 +482,7 @@ class CyclesRenderSettings(bpy.types.PropertyGroup): transparent_max_bounces: IntProperty( name="Transparent Max Bounces", - description="Maximum number of transparent bounces", + description="Maximum number of transparent bounces. This is independent of maximum number of other bounces ", min=0, max=1024, default=8, ) diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py index 3d990467f04..30892cdbbc0 100644 --- a/intern/cycles/blender/addon/ui.py +++ b/intern/cycles/blender/addon/ui.py @@ -485,10 +485,12 @@ class CYCLES_RENDER_PT_light_paths_max_bounces(CyclesButtonsPanel, Panel): col = layout.column(align=True) col.prop(cscene, "diffuse_bounces", text="Diffuse") col.prop(cscene, "glossy_bounces", text="Glossy") - col.prop(cscene, "transparent_max_bounces", text="Transparency") col.prop(cscene, "transmission_bounces", text="Transmission") col.prop(cscene, "volume_bounces", text="Volume") + col = layout.column(align=True) + col.prop(cscene, "transparent_max_bounces", text="Transparent") + class CYCLES_RENDER_PT_light_paths_clamping(CyclesButtonsPanel, Panel): bl_label = "Clamping" diff --git a/intern/cycles/blender/blender_image.cpp b/intern/cycles/blender/blender_image.cpp index 3a9d159e461..f27275bd457 100644 --- a/intern/cycles/blender/blender_image.cpp +++ b/intern/cycles/blender/blender_image.cpp @@ -137,9 +137,9 @@ bool BlenderImageLoader::load_pixels(const ImageMetaData &metadata, /* Premultiply, byte images are always straight for Blender. */ unsigned char *cp = (unsigned char *)pixels; for (size_t i = 0; i < num_pixels; i++, cp += channels) { - cp[0] = (cp[0] * cp[3]) >> 8; - cp[1] = (cp[1] * cp[3]) >> 8; - cp[2] = (cp[2] * cp[3]) >> 8; + cp[0] = (cp[0] * cp[3]) / 255; + cp[1] = (cp[1] * cp[3]) / 255; + cp[2] = (cp[2] * cp[3]) / 255; } } } diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index 635392fb3d4..f5e8db2aee1 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -109,23 +109,23 @@ void BlenderSync::sync_object_motion_init(BL::Object &b_parent, BL::Object &b_ob } Geometry *geom = object->get_geometry(); - geom->set_use_motion_blur(false); - geom->set_motion_steps(0); - uint motion_steps; + int motion_steps = 0; + bool use_motion_blur = false; if (need_motion == Scene::MOTION_BLUR) { motion_steps = object_motion_steps(b_parent, b_ob, Object::MAX_MOTION_STEPS); - geom->set_motion_steps(motion_steps); if (motion_steps && object_use_deform_motion(b_parent, b_ob)) { - geom->set_use_motion_blur(true); + use_motion_blur = true; } } else { motion_steps = 3; - geom->set_motion_steps(motion_steps); } + geom->set_use_motion_blur(use_motion_blur); + geom->set_motion_steps(motion_steps); + motion.resize(motion_steps, transform_empty()); if (motion_steps) { diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 3b3a193b3e8..ce399579e25 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -404,8 +404,6 @@ void BlenderSync::sync_film(BL::SpaceView3D &b_v3d) Film *film = scene->film; - vector<Pass> prevpasses = scene->passes; - if (b_v3d) { film->set_display_pass(update_viewport_display_passes(b_v3d, scene->passes)); } @@ -435,11 +433,6 @@ void BlenderSync::sync_film(BL::SpaceView3D &b_v3d) break; } } - - if (!Pass::equals(prevpasses, scene->passes)) { - film->tag_passes_update(scene, prevpasses, false); - film->tag_modified(); - } } /* Render Layer */ @@ -749,10 +742,13 @@ vector<Pass> BlenderSync::sync_render_passes(BL::Scene &b_scene, DENOISING_CLEAN_ALL_PASSES); scene->film->set_denoising_prefiltered_pass(denoising.store_passes && denoising.type == DENOISER_NLM); - scene->film->set_pass_alpha_threshold(b_view_layer.pass_alpha_threshold()); - scene->film->tag_passes_update(scene, passes); - scene->integrator->tag_update(scene, Integrator::UPDATE_ALL); + + if (!Pass::equals(passes, scene->passes)) { + scene->film->tag_passes_update(scene, passes); + scene->film->tag_modified(); + scene->integrator->tag_update(scene, Integrator::UPDATE_ALL); + } return passes; } diff --git a/intern/cycles/blender/blender_viewport.cpp b/intern/cycles/blender/blender_viewport.cpp index 07408fee218..18bdfc74de0 100644 --- a/intern/cycles/blender/blender_viewport.cpp +++ b/intern/cycles/blender/blender_viewport.cpp @@ -40,8 +40,8 @@ BlenderViewportParameters::BlenderViewportParameters(BL::SpaceView3D &b_v3d) BL::View3DShading shading = b_v3d.shading(); PointerRNA cshading = RNA_pointer_get(&shading.ptr, "cycles"); - /* We only copy the shading parameters if we are in look dev mode. otherwise - * defaults are being used. These defaults mimic normal render settings */ + /* We only copy the shading parameters if we are in look-dev mode. + * Otherwise defaults are being used. These defaults mimic normal render settings. */ if (shading.type() == BL::View3DShading::type_RENDERED) { use_scene_world = shading.use_scene_world_render(); use_scene_lights = shading.use_scene_lights_render(); |