Merge branch 'blender-v4.3-release'

This commit is contained in:
Jeroen Bakker
2024-10-04 10:54:57 +02:00
7 changed files with 13 additions and 6 deletions

View File

@@ -37,7 +37,8 @@ void forward_lighting_eval(float thickness, out vec3 radiance, out vec3 transmit
/* TODO(fclem): If transmission (no SSS) is present, we could reduce LIGHT_CLOSURE_EVAL_COUNT
* by 1 for this evaluation and skip evaluating the transmission closure twice. */
uchar receiver_light_set = receiver_light_set_get(drw_infos[resource_id]);
ObjectInfos object_infos = drw_infos[resource_id];
uchar receiver_light_set = receiver_light_set_get(object_infos);
light_eval_reflection(stack, g_data.P, surface_N, V, vPz, receiver_light_set);
#if defined(MAT_SUBSURFACE) || defined(MAT_REFRACTION) || defined(MAT_TRANSLUCENT)

View File

@@ -16,8 +16,9 @@
bool shadow_linking_affects_caster(uint view_id, uint resource_id)
{
ObjectInfos object_infos = drw_infos[resource_id];
return bitmask64_test(render_view_buf[view_id].shadow_set_membership,
blocker_shadow_set_get(drw_infos[resource_id]));
blocker_shadow_set_get(object_infos));
}
void mask_visibility_bit(uint view_id)

View File

@@ -54,6 +54,7 @@ void main()
if (is_surface_view_aligned) {
uint surfel_id = atomicAdd(capture_info_buf.surfel_len, 1u);
if (capture_info_buf.do_surfel_output) {
ObjectInfos object_infos = drw_infos[resource_id];
surfel_buf[surfel_id].position = g_data.P;
surfel_buf[surfel_id].normal = gl_FrontFacing ? g_data.Ng : -g_data.Ng;
surfel_buf[surfel_id].albedo_front = albedo;
@@ -64,7 +65,7 @@ void main()
surfel_buf[surfel_id].radiance_direct.back.rgb = is_double_sided ? g_emission : vec3(0);
surfel_buf[surfel_id].radiance_direct.back.a = 0.0;
surfel_buf[surfel_id].double_sided = is_double_sided;
surfel_buf[surfel_id].receiver_light_set = receiver_light_set_get(drw_infos[resource_id]);
surfel_buf[surfel_id].receiver_light_set = receiver_light_set_get(object_infos);
if (!capture_info_buf.capture_emission) {
surfel_buf[surfel_id].radiance_direct.front.rgb = vec3(0.0);

View File

@@ -90,10 +90,11 @@ void main()
#if CLOSURE_BIN_COUNT > 2
gbuf_data.closure[2] = g_closure_get_resolved(2, alpha_rcp);
#endif
ObjectInfos object_infos = drw_infos[resource_id];
gbuf_data.surface_N = g_data.N;
gbuf_data.thickness = thickness;
gbuf_data.object_id = resource_id;
gbuf_data.receiver_light_set = receiver_light_set_get(drw_infos[resource_id]);
gbuf_data.receiver_light_set = receiver_light_set_get(object_infos);
GBufferWriter gbuf = gbuffer_pack(gbuf_data);

View File

@@ -93,10 +93,11 @@ void main()
#if CLOSURE_BIN_COUNT > 2
gbuf_data.closure[2] = g_closure_get_resolved(2, alpha_rcp);
#endif
ObjectInfos object_infos = drw_infos[resource_id];
gbuf_data.surface_N = g_data.N;
gbuf_data.thickness = g_thickness;
gbuf_data.object_id = resource_id;
gbuf_data.receiver_light_set = receiver_light_set_get(drw_infos[resource_id]);
gbuf_data.receiver_light_set = receiver_light_set_get(object_infos);
GBufferWriter gbuf = gbuffer_pack(gbuf_data);

View File

@@ -642,6 +642,8 @@ static int do_set_scale(bContext *C, wmOperator *op, bool scale_solution, bool a
mul_v3_fl(reconstructed_cameras[i].mat[3], scale);
}
DEG_id_tag_update(&clip->id, ID_RECALC_SYNC_TO_EVAL);
WM_event_add_notifier(C, NC_MOVIECLIP | NA_EVALUATED, clip);
WM_event_add_notifier(C, NC_OBJECT | ND_TRANSFORM, nullptr);
}

View File

@@ -1839,7 +1839,7 @@ static int outliner_item_do_activate_from_cursor(bContext *C,
}
else {
/* Double-clicked, but it wasn't on the icon. */
return OPERATOR_CANCELLED;
return OPERATOR_CANCELLED | OPERATOR_PASS_THROUGH;
}
}
else {