1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-22 15:06:45 +00:00

Merge pull request #66107 from devloglogan/ambient-light-disabled-fix

Fix ambient_light_disabled render mode flag
This commit is contained in:
Clay John
2022-10-27 10:08:29 -07:00
committed by GitHub
3 changed files with 28 additions and 13 deletions

View File

@@ -1447,16 +1447,19 @@ void fragment_shader(in SceneData scene_data) {
}
//finalize ambient light here
ambient_light *= albedo.rgb;
ambient_light *= ao;
{
#if defined(AMBIENT_LIGHT_DISABLED)
ambient_light = vec3(0.0, 0.0, 0.0);
#else
ambient_light *= albedo.rgb;
ambient_light *= ao;
// convert ao to direct light ao
ao = mix(1.0, ao, ao_light_affect);
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;
if (bool(scene_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;
}
#endif // AMBIENT_LIGHT_DISABLED
}
//this saves some VGPRs