Browse Source

Merge pull request #67960 from clayjohn/RD-SSIL

Fix ss_effects_flags uniform in clustered forward renderer
Bastiaan Olij 3 years ago
parent
commit
6a61d22ce7

+ 4 - 1
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);