Fix issue in shadow to opacity
This commit is contained in:
parent
86bf8354a0
commit
d2d22748b4
3 changed files with 6 additions and 29 deletions
|
@ -1859,23 +1859,16 @@ void main() {
|
||||||
#endif // !MODE_RENDER_DEPTH
|
#endif // !MODE_RENDER_DEPTH
|
||||||
|
|
||||||
#if defined(USE_SHADOW_TO_OPACITY)
|
#if defined(USE_SHADOW_TO_OPACITY)
|
||||||
|
#ifndef MODE_RENDER_DEPTH
|
||||||
alpha = min(alpha, clamp(length(ambient_light), 0.0, 1.0));
|
alpha = min(alpha, clamp(length(ambient_light), 0.0, 1.0));
|
||||||
|
|
||||||
#if defined(ALPHA_SCISSOR_USED)
|
#if defined(ALPHA_SCISSOR_USED)
|
||||||
if (alpha < alpha_scissor) {
|
if (alpha < alpha_scissor) {
|
||||||
discard;
|
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 // !ALPHA_SCISSOR_USED
|
||||||
|
|
||||||
|
#endif // !MODE_RENDER_DEPTH
|
||||||
#endif // USE_SHADOW_TO_OPACITY
|
#endif // USE_SHADOW_TO_OPACITY
|
||||||
|
|
||||||
#ifdef MODE_RENDER_DEPTH
|
#ifdef MODE_RENDER_DEPTH
|
||||||
|
|
|
@ -2235,24 +2235,16 @@ void fragment_shader(in SceneData scene_data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USE_SHADOW_TO_OPACITY
|
#ifdef USE_SHADOW_TO_OPACITY
|
||||||
|
#ifndef MODE_RENDER_DEPTH
|
||||||
alpha = min(alpha, clamp(length(ambient_light), 0.0, 1.0));
|
alpha = min(alpha, clamp(length(ambient_light), 0.0, 1.0));
|
||||||
|
|
||||||
#if defined(ALPHA_SCISSOR_USED)
|
#if defined(ALPHA_SCISSOR_USED)
|
||||||
if (alpha < alpha_scissor) {
|
if (alpha < alpha_scissor) {
|
||||||
discard;
|
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 // ALPHA_SCISSOR_USED
|
||||||
|
|
||||||
|
#endif // !MODE_RENDER_DEPTH
|
||||||
#endif // USE_SHADOW_TO_OPACITY
|
#endif // USE_SHADOW_TO_OPACITY
|
||||||
|
|
||||||
#endif //!defined(MODE_RENDER_DEPTH) && !defined(MODE_UNSHADED)
|
#endif //!defined(MODE_RENDER_DEPTH) && !defined(MODE_UNSHADED)
|
||||||
|
|
|
@ -1756,24 +1756,16 @@ void main() {
|
||||||
} //spot lights
|
} //spot lights
|
||||||
|
|
||||||
#ifdef USE_SHADOW_TO_OPACITY
|
#ifdef USE_SHADOW_TO_OPACITY
|
||||||
|
#ifndef MODE_RENDER_DEPTH
|
||||||
alpha = min(alpha, clamp(length(ambient_light), 0.0, 1.0));
|
alpha = min(alpha, clamp(length(ambient_light), 0.0, 1.0));
|
||||||
|
|
||||||
#if defined(ALPHA_SCISSOR_USED)
|
#if defined(ALPHA_SCISSOR_USED)
|
||||||
if (alpha < alpha_scissor) {
|
if (alpha < alpha_scissor) {
|
||||||
discard;
|
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 // !ALPHA_SCISSOR_USED
|
||||||
|
|
||||||
|
#endif // !MODE_RENDER_DEPTH
|
||||||
#endif // USE_SHADOW_TO_OPACITY
|
#endif // USE_SHADOW_TO_OPACITY
|
||||||
|
|
||||||
#endif //!defined(MODE_RENDER_DEPTH) && !defined(MODE_UNSHADED)
|
#endif //!defined(MODE_RENDER_DEPTH) && !defined(MODE_UNSHADED)
|
||||||
|
|
Loading…
Reference in a new issue