mirror of
https://github.com/godotengine/godot.git
synced 2024-11-21 03:18:37 +08:00
Fix issue in shadow to opacity
This commit is contained in:
parent
86bf8354a0
commit
d2d22748b4
@ -1859,23 +1859,16 @@ void main() {
|
||||
#endif // !MODE_RENDER_DEPTH
|
||||
|
||||
#if defined(USE_SHADOW_TO_OPACITY)
|
||||
#ifndef MODE_RENDER_DEPTH
|
||||
alpha = min(alpha, clamp(length(ambient_light), 0.0, 1.0));
|
||||
|
||||
#if defined(ALPHA_SCISSOR_USED)
|
||||
if (alpha < alpha_scissor) {
|
||||
discard;
|
||||
}
|
||||
#else
|
||||
#ifdef MODE_RENDER_DEPTH
|
||||
#ifdef USE_OPAQUE_PREPASS
|
||||
|
||||
if (alpha < opaque_prepass_threshold) {
|
||||
discard;
|
||||
}
|
||||
#endif // USE_OPAQUE_PREPASS
|
||||
#endif // MODE_RENDER_DEPTH
|
||||
#endif // !ALPHA_SCISSOR_USED
|
||||
|
||||
#endif // !MODE_RENDER_DEPTH
|
||||
#endif // USE_SHADOW_TO_OPACITY
|
||||
|
||||
#ifdef MODE_RENDER_DEPTH
|
||||
|
@ -2235,24 +2235,16 @@ void fragment_shader(in SceneData scene_data) {
|
||||
}
|
||||
|
||||
#ifdef USE_SHADOW_TO_OPACITY
|
||||
#ifndef MODE_RENDER_DEPTH
|
||||
alpha = min(alpha, clamp(length(ambient_light), 0.0, 1.0));
|
||||
|
||||
#if defined(ALPHA_SCISSOR_USED)
|
||||
if (alpha < alpha_scissor) {
|
||||
discard;
|
||||
}
|
||||
#else
|
||||
#ifdef MODE_RENDER_DEPTH
|
||||
#ifdef USE_OPAQUE_PREPASS
|
||||
|
||||
if (alpha < scene_data.opaque_prepass_threshold) {
|
||||
discard;
|
||||
}
|
||||
|
||||
#endif // USE_OPAQUE_PREPASS
|
||||
#endif // MODE_RENDER_DEPTH
|
||||
#endif // ALPHA_SCISSOR_USED
|
||||
|
||||
#endif // !MODE_RENDER_DEPTH
|
||||
#endif // USE_SHADOW_TO_OPACITY
|
||||
|
||||
#endif //!defined(MODE_RENDER_DEPTH) && !defined(MODE_UNSHADED)
|
||||
|
@ -1756,24 +1756,16 @@ void main() {
|
||||
} //spot lights
|
||||
|
||||
#ifdef USE_SHADOW_TO_OPACITY
|
||||
#ifndef MODE_RENDER_DEPTH
|
||||
alpha = min(alpha, clamp(length(ambient_light), 0.0, 1.0));
|
||||
|
||||
#if defined(ALPHA_SCISSOR_USED)
|
||||
if (alpha < alpha_scissor) {
|
||||
discard;
|
||||
}
|
||||
#else
|
||||
#ifdef MODE_RENDER_DEPTH
|
||||
#ifdef USE_OPAQUE_PREPASS
|
||||
|
||||
if (alpha < scene_data.opaque_prepass_threshold) {
|
||||
discard;
|
||||
}
|
||||
|
||||
#endif // USE_OPAQUE_PREPASS
|
||||
#endif // MODE_RENDER_DEPTH
|
||||
#endif // !ALPHA_SCISSOR_USED
|
||||
|
||||
#endif // !MODE_RENDER_DEPTH
|
||||
#endif // USE_SHADOW_TO_OPACITY
|
||||
|
||||
#endif //!defined(MODE_RENDER_DEPTH) && !defined(MODE_UNSHADED)
|
||||
|
Loading…
Reference in New Issue
Block a user