diff options
Diffstat (limited to 'servers')
-rw-r--r-- | servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl b/servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl index 77ae97e621..293532bf2d 100644 --- a/servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl +++ b/servers/rendering/renderer_rd/shaders/forward_clustered/scene_forward_clustered.glsl @@ -1454,7 +1454,7 @@ void fragment_shader(in SceneData scene_data) { ambient_light *= albedo.rgb; ambient_light *= ao; - if (bool(scene_data.ss_effects_flags & SCREEN_SPACE_EFFECTS_FLAGS_USE_SSIL)) { + if (bool(implementation_data.ss_effects_flags & SCREEN_SPACE_EFFECTS_FLAGS_USE_SSIL)) { vec4 ssil = textureLod(sampler2D(ssil_buffer, material_samplers[SAMPLER_LINEAR_CLAMP]), screen_uv, 0.0); ambient_light *= 1.0 - ssil.a; ambient_light += ssil.rgb * albedo.rgb; @@ -1462,6 +1462,9 @@ void fragment_shader(in SceneData scene_data) { #endif // AMBIENT_LIGHT_DISABLED } + // convert ao to direct light ao + ao = mix(1.0, ao, ao_light_affect); + //this saves some VGPRs vec3 f0 = F0(metallic, specular, albedo); |