You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-08 12:40:44 +00:00
Disable all sources of ambient light when ambient_light_disabled render mode is used
This commit is contained in:
@@ -1310,6 +1310,8 @@ void fragment_shader(in SceneData scene_data) {
|
||||
|
||||
#if !defined(MODE_RENDER_DEPTH) && !defined(MODE_UNSHADED)
|
||||
|
||||
#ifndef AMBIENT_LIGHT_DISABLED
|
||||
|
||||
if (scene_data.use_reflection_cubemap) {
|
||||
#ifdef LIGHT_ANISOTROPY_USED
|
||||
// https://google.github.io/filament/Filament.html#lighting/imagebasedlights/anisotropy
|
||||
@@ -1397,14 +1399,15 @@ void fragment_shader(in SceneData scene_data) {
|
||||
#endif //USE_RADIANCE_CUBEMAP_ARRAY
|
||||
specular_light += clearcoat_light * horizon * horizon * Fc * scene_data.ambient_light_color_energy.a;
|
||||
}
|
||||
#endif
|
||||
#endif // LIGHT_CLEARCOAT_USED
|
||||
#endif // !AMBIENT_LIGHT_DISABLED
|
||||
#endif //!defined(MODE_RENDER_DEPTH) && !defined(MODE_UNSHADED)
|
||||
|
||||
//radiance
|
||||
|
||||
/// GI ///
|
||||
#if !defined(MODE_RENDER_DEPTH) && !defined(MODE_UNSHADED)
|
||||
|
||||
#ifndef AMBIENT_LIGHT_DISABLED
|
||||
#ifdef USE_LIGHTMAP
|
||||
|
||||
//lightmap
|
||||
@@ -1698,9 +1701,6 @@ void fragment_shader(in SceneData scene_data) {
|
||||
|
||||
//finalize ambient light here
|
||||
{
|
||||
#if defined(AMBIENT_LIGHT_DISABLED)
|
||||
ambient_light = vec3(0.0, 0.0, 0.0);
|
||||
#else
|
||||
ambient_light *= albedo.rgb;
|
||||
ambient_light *= ao;
|
||||
|
||||
@@ -1713,15 +1713,14 @@ void fragment_shader(in SceneData scene_data) {
|
||||
ambient_light *= 1.0 - ssil.a;
|
||||
ambient_light += ssil.rgb * albedo.rgb;
|
||||
}
|
||||
#endif // AMBIENT_LIGHT_DISABLED
|
||||
}
|
||||
|
||||
#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);
|
||||
|
||||
#ifndef AMBIENT_LIGHT_DISABLED
|
||||
{
|
||||
#if defined(DIFFUSE_TOON)
|
||||
//simplify for toon, as
|
||||
@@ -1743,6 +1742,7 @@ void fragment_shader(in SceneData scene_data) {
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif // !AMBIENT_LIGHT_DISABLED
|
||||
#endif //GI !defined(MODE_RENDER_DEPTH) && !defined(MODE_UNSHADED)
|
||||
|
||||
#if !defined(MODE_RENDER_DEPTH)
|
||||
|
||||
Reference in New Issue
Block a user