Merge branch 'blender-v2.82-release'

This commit is contained in:
2020-01-18 03:12:25 +11:00
5 changed files with 37 additions and 19 deletions

View File

@@ -229,8 +229,10 @@ static void eevee_draw_background(void *vedata)
/* Copy previous persmat to UBO data */
copy_m4_m4(sldata->common_data.prev_persmat, stl->effects->prev_persmat);
/* Refresh Probes */
/* Refresh Probes
* Shadows needs to be updated for correct probes */
DRW_stats_group_start("Probes Refresh");
EEVEE_shadows_update(sldata, vedata);
EEVEE_lightprobes_refresh(sldata, vedata);
EEVEE_lightprobes_refresh_planar(sldata, vedata);
DRW_stats_group_end();

View File

@@ -208,13 +208,11 @@ void EEVEE_lights_cache_add(EEVEE_ViewLayerData *sldata, Object *ob)
linfo->num_light++;
}
void EEVEE_lights_cache_finish(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
void EEVEE_lights_cache_finish(EEVEE_ViewLayerData *sldata, EEVEE_Data *UNUSED(vedata))
{
EEVEE_LightsInfo *linfo = sldata->lights;
sldata->common_data.la_num_light = linfo->num_light;
DRW_uniformbuffer_update(sldata->light_ubo, &linfo->light_data);
EEVEE_shadows_update(sldata, vedata);
}

View File

@@ -447,12 +447,13 @@ void EEVEE_render_draw(EEVEE_Data *vedata, RenderEngine *engine, RenderLayer *rl
EEVEE_volumes_set_jitter(sldata, stl->effects->taa_current_sample - 1);
EEVEE_materials_init(sldata, stl, fbl);
/* Refresh Probes */
/* Refresh Probes
* Shadows needs to be updated for correct probes */
EEVEE_shadows_update(sldata, vedata);
EEVEE_lightprobes_refresh(sldata, vedata);
EEVEE_lightprobes_refresh_planar(sldata, vedata);
/* Refresh Shadows */
EEVEE_shadows_update(sldata, vedata);
EEVEE_shadows_draw(sldata, vedata, stl->effects->taa_view);
/* Set matrices. */

View File

@@ -235,7 +235,7 @@ static void dial_ghostarc_draw_incremental_angle(const float incremental_angle,
}
static void dial_ghostarc_draw(const float angle_ofs,
const float angle_delta,
float angle_delta,
const float arc_inner_factor,
const float color[4])
{
@@ -244,21 +244,36 @@ static void dial_ghostarc_draw(const float angle_ofs,
uint pos = GPU_vertformat_attr_add(format, "pos", GPU_COMP_F32, 2, GPU_FETCH_FLOAT);
immBindBuiltinProgram(GPU_SHADER_3D_UNIFORM_COLOR);
/* Avoid artifacts by drawing the main arc over the span of one rotation only. */
const float pi2 = (float)(M_PI * 2.0);
int rotation_count = (int)floorf(fabsf(angle_delta) / pi2);
angle_delta = fmod(angle_delta, pi2);
/* Calculate the remaining angle that can be filled with the background color. */
const float angle_background = angle_delta >= 0 ? (pi2 - angle_delta) : -(pi2 + angle_delta);
float color_background[4] = {0};
if (arc_inner_factor != 0.0) {
float color_dark[4] = {0};
color_dark[3] = color[3] / 2;
immUniformColor4fv(color_dark);
imm_draw_disk_partial_fill_2d(pos,
0,
0,
arc_inner_factor,
width_inner,
DIAL_RESOLUTION,
RAD2DEGF(angle_ofs),
RAD2DEGF(M_PI * 2));
color_background[3] = color[3] / 2.0f;
}
immUniformColor4fv(color);
if (rotation_count != 0) {
/* Calculate the background color to visualize the rotation count. */
copy_v4_v4(color_background, color);
color_background[3] = color[3] * rotation_count;
}
immUniformColor4fv(color_background);
imm_draw_disk_partial_fill_2d(pos,
0,
0,
arc_inner_factor,
width_inner,
DIAL_RESOLUTION,
RAD2DEGF(angle_ofs + angle_delta),
RAD2DEGF(angle_background));
immUniformColor4f(UNPACK3(color), color[3] * (rotation_count + 1));
imm_draw_disk_partial_fill_2d(pos,
0,
0,

View File

@@ -1390,6 +1390,8 @@ static void gp_layer_to_curve(bContext *C,
}
ED_object_base_select(base_new, BA_SELECT);
DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
}
/* --- */