From 3ef60cfe497ecd14e968320d46feaebc8a5c1b96 Mon Sep 17 00:00:00 2001 From: sin Date: Fri, 21 Aug 2026 21:12:23 +0900 Subject: [PATCH 1/3] fix: saturate alpha --- .../Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl | 2 +- .../Runtime/Shaders/URP/UniversalToonBodyShadingGradeMap.hlsl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl index b81687443..c999629a8 100644 --- a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl +++ b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl @@ -512,7 +512,7 @@ void frag(VertexOutput i, out float4 finalRGBA : SV_Target0 #elif _IS_CLIPPING_TRANSMODE //DoubleShadeWithFeather_TransClipping - float Set_Opacity = SATURATE_IF_SDR((_Inverse_Clipping_var + _Tweak_transparency)); + float Set_Opacity = saturate(_Inverse_Clipping_var + _Tweak_transparency); finalRGBA = fixed4(finalColor, Set_Opacity); #endif diff --git a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyShadingGradeMap.hlsl b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyShadingGradeMap.hlsl index bbd4a3863..be7b5bf9e 100644 --- a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyShadingGradeMap.hlsl +++ b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyShadingGradeMap.hlsl @@ -538,7 +538,7 @@ void frag(VertexOutput i, out float4 finalRGBA : SV_Target0 finalRGBA = fixed4(finalColor, 1); #elif _IS_TRANSCLIPPING_ON - float Set_Opacity = SATURATE_IF_SDR((_Inverse_Clipping_var + _Tweak_transparency)); + float Set_Opacity = saturate(_Inverse_Clipping_var + _Tweak_transparency); finalRGBA = fixed4(finalColor, Set_Opacity); From 5c3882b6b41eef69a1af24625bce082e30cce627 Mon Sep 17 00:00:00 2001 From: sin Date: Fri, 21 Aug 2026 21:15:34 +0900 Subject: [PATCH 2/3] hdrp --- .../Runtime/Shaders/HDRP/ShaderPassForwardUTS.hlsl | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/com.unity.toonshader/Runtime/Shaders/HDRP/ShaderPassForwardUTS.hlsl b/com.unity.toonshader/Runtime/Shaders/HDRP/ShaderPassForwardUTS.hlsl index ea858841b..3bbfc2e0b 100644 --- a/com.unity.toonshader/Runtime/Shaders/HDRP/ShaderPassForwardUTS.hlsl +++ b/com.unity.toonshader/Runtime/Shaders/HDRP/ShaderPassForwardUTS.hlsl @@ -511,9 +511,7 @@ void Frag(PackedVaryingsToPS packedInput, outColor = float4(finalColor, 1 * ApplyChannelAlpha(channelAlpha)); #elif _IS_TRANSCLIPPING_ON - float Set_Opacity = SATURATE_IF_SDR((inverseClipping + _Tweak_transparency)); - - outColor = float4(finalColor, Set_Opacity * ApplyChannelAlpha(channelAlpha)); + outColor = float4(finalColor, saturate((inverseClipping + _Tweak_transparency) * ApplyChannelAlpha(channelAlpha))); #endif @@ -530,9 +528,7 @@ void Frag(PackedVaryingsToPS packedInput, outColor = float4(finalColor, 1 * ApplyChannelAlpha(channelAlpha)); #elif _IS_CLIPPING_TRANSMODE - //DoubleShadeWithFeather_TransClipping - float Set_Opacity = SATURATE_IF_SDR((inverseClipping + _Tweak_transparency)); - outColor = float4(finalColor, Set_Opacity * ApplyChannelAlpha(channelAlpha)); + outColor = float4(finalColor, saturate((inverseClipping + _Tweak_transparency) * ApplyChannelAlpha(channelAlpha))); #endif #endif //#if defined(_SHADINGGRADEMAP) From 38d812f10d525615a764e339fc6d077bf41b72aa Mon Sep 17 00:00:00 2001 From: sin Date: Fri, 21 Aug 2026 21:31:13 +0900 Subject: [PATCH 3/3] cleanup --- .../Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl | 4 +--- .../Shaders/URP/UniversalToonBodyShadingGradeMap.hlsl | 5 +---- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl index c999629a8..456dd3e1f 100644 --- a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl +++ b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyDoubleShadeWithFeather.hlsl @@ -511,9 +511,7 @@ void frag(VertexOutput i, out float4 finalRGBA : SV_Target0 finalRGBA = fixed4(finalColor, 1); #elif _IS_CLIPPING_TRANSMODE - //DoubleShadeWithFeather_TransClipping - float Set_Opacity = saturate(_Inverse_Clipping_var + _Tweak_transparency); - finalRGBA = fixed4(finalColor, Set_Opacity); + finalRGBA = fixed4(finalColor, saturate(_Inverse_Clipping_var + _Tweak_transparency)); #endif diff --git a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyShadingGradeMap.hlsl b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyShadingGradeMap.hlsl index be7b5bf9e..c974a608d 100644 --- a/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyShadingGradeMap.hlsl +++ b/com.unity.toonshader/Runtime/Shaders/URP/UniversalToonBodyShadingGradeMap.hlsl @@ -538,10 +538,7 @@ void frag(VertexOutput i, out float4 finalRGBA : SV_Target0 finalRGBA = fixed4(finalColor, 1); #elif _IS_TRANSCLIPPING_ON - float Set_Opacity = saturate(_Inverse_Clipping_var + _Tweak_transparency); - - finalRGBA = fixed4(finalColor, Set_Opacity); - + finalRGBA = fixed4(finalColor, saturate(_Inverse_Clipping_var + _Tweak_transparency)); #endif finalRGBA.rgb = MixFog(finalRGBA.rgb, inputData.fogCoord);