From e1899139d2402fcf729996a79ef695723ac4595d Mon Sep 17 00:00:00 2001 From: Firepal Date: Fri, 22 Jan 2021 20:33:27 +0100 Subject: [PATCH] Don't use prepass threshold with alpha scissor --- drivers/gles2/shaders/scene.glsl | 8 ++++++++ drivers/gles3/shaders/scene.glsl | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/drivers/gles2/shaders/scene.glsl b/drivers/gles2/shaders/scene.glsl index 9b2521c2c142..f6ce813db962 100644 --- a/drivers/gles2/shaders/scene.glsl +++ b/drivers/gles2/shaders/scene.glsl @@ -1603,9 +1603,13 @@ FRAGMENT_SHADER_CODE #endif // ALPHA_SCISSOR_USED #ifdef USE_DEPTH_PREPASS +#if !defined(ALPHA_SCISSOR_USED) + if (alpha < 0.1) { discard; } + +#endif // not ALPHA_SCISSOR_USED #endif // USE_DEPTH_PREPASS #endif // !USE_SHADOW_TO_OPACITY @@ -2161,9 +2165,13 @@ FRAGMENT_SHADER_CODE #endif // ALPHA_SCISSOR_USED #ifdef USE_DEPTH_PREPASS +#if !defined(ALPHA_SCISSOR_USED) + if (alpha < 0.1) { discard; } + +#endif // not ALPHA_SCISSOR_USED #endif // USE_DEPTH_PREPASS #endif // !USE_SHADOW_TO_OPACITY diff --git a/drivers/gles3/shaders/scene.glsl b/drivers/gles3/shaders/scene.glsl index 78071ea51b04..899e3db07b0a 100644 --- a/drivers/gles3/shaders/scene.glsl +++ b/drivers/gles3/shaders/scene.glsl @@ -1809,11 +1809,13 @@ FRAGMENT_SHADER_CODE #endif // ALPHA_SCISSOR_USED #ifdef USE_OPAQUE_PREPASS +#if !defined(ALPHA_SCISSOR_USED) if (alpha < opaque_prepass_threshold) { discard; } +#endif // not ALPHA_SCISSOR_USED #endif // USE_OPAQUE_PREPASS #endif // !USE_SHADOW_TO_OPACITY @@ -2188,11 +2190,13 @@ FRAGMENT_SHADER_CODE #endif // ALPHA_SCISSOR_USED #ifdef USE_OPAQUE_PREPASS +#if !defined(ALPHA_SCISSOR_USED) if (alpha < opaque_prepass_threshold) { discard; } +#endif // not ALPHA_SCISSOR_USED #endif // USE_OPAQUE_PREPASS #endif // USE_SHADOW_TO_OPACITY