Eevee: SSR: Fix ssr nor working in ogl render.

This commit is contained in:
Clément Foucault 2018-01-03 20:41:14 +01:00
parent 5ab2fc65c6
commit 4df11e3c70
Notes: blender-bot 2023-02-14 06:24:14 +01:00
Referenced by issue #53314, Screen Space Reflection (SSR) not working for OpenGL render
3 changed files with 4 additions and 2 deletions

View File

@ -1645,6 +1645,9 @@ void EEVEE_lightprobes_refresh(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
else if (true) { /* TODO if at least one probe needs refresh */
lightprobes_refresh_all_no_world(sldata, vedata);
}
/* Disable SSR if we cannot read previous frame */
sldata->probes->ssr_toggle = vedata->stl->g_data->valid_double_buffer;
}
void EEVEE_lightprobes_free(void)

View File

@ -354,7 +354,7 @@ static void add_standard_uniforms(
DRWShadingGroup *shgrp, EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata,
int *ssr_id, float *refract_depth, bool use_ssrefraction, bool use_alpha_blend, bool use_sss)
{
if (ssr_id == NULL || !vedata->stl->g_data->valid_double_buffer) {
if (ssr_id == NULL) {
static int no_ssr = -1.0f;
ssr_id = &no_ssr;
}

View File

@ -690,7 +690,6 @@ Closure closure_mix(Closure cl1, Closure cl2, float fac)
cl.ssr_id = cl1.ssr_id;
}
else {
cl.ssr_data = mix(vec4(vec3(0.0), cl2.ssr_data.w), cl2.ssr_data.xyzw, fac); /* do not blend roughness */
cl.ssr_data = mix(vec4(vec3(0.0), cl2.ssr_data.w), cl2.ssr_data.xyzw, fac); /* do not blend roughness */
cl.ssr_normal = cl2.ssr_normal;
cl.ssr_id = cl2.ssr_id;