From ec873be97643b5f8300c7a3d7195a04336dab583 Mon Sep 17 00:00:00 2001 From: yukiny0811 Date: Fri, 6 Sep 2024 10:24:52 +0900 Subject: [PATCH] fix alpha blending when alpha is 0 --- .../Resources/Shaders/TransparentShader.metal | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Sources/SwiftyCreatives/Resources/Shaders/TransparentShader.metal b/Sources/SwiftyCreatives/Resources/Shaders/TransparentShader.metal index 168855d..71e4c04 100644 --- a/Sources/SwiftyCreatives/Resources/Shaders/TransparentShader.metal +++ b/Sources/SwiftyCreatives/Resources/Shaders/TransparentShader.metal @@ -167,7 +167,11 @@ void OITFragmentFunction(RasterizerData in, constexpr sampler textureSampler (coord::pixel, address::clamp_to_edge, filter::linear); fragmentColor = tex.sample(textureSampler, float2(in.uv.x*tex.get_width(), in.uv.y*tex.get_height())); } - + + if (fragmentColor.a == 0) { + fragmentColor = half4(0, 0, 0, 0); + } + fragmentColor = half4(createFog(in.position.z / in.position.w, float4(fragmentColor), uniformFogDensity.value,