Pārlūkot izejas kodu

nv-filters: Premultiply correctly for Blur FX

Signed-off-by: pkv <[email protected]>
pkv 2 mēneši atpakaļ
vecāks
revīzija
8ae76937e0
1 mainītis faili ar 3 papildinājumiem un 2 dzēšanām
  1. 3 2
      plugins/nv-filters/data/rtx_blur.effect

+ 3 - 2
plugins/nv-filters/data/rtx_blur.effect

@@ -54,8 +54,9 @@ FragPos VSConvertUnorm(uint id : VERTEXID)
 float4 Mask(FragData f_in)
 {
 	float4 rgba = image.Sample(texSampler, f_in.uv);
-	rgba.rgb = max(float3(0.0, 0.0, 0.0), blurred.Sample(texSampler, f_in.uv).rgb / rgba.a);
-	return rgba;
+	float3 blur = blurred.SampleLevel(texSampler, f_in.uv, 0).rgb;
+	float A = rgba.a;
+	return float4(blur * A, A);
 }
 
 float4 PSMask(FragData f_in) : TARGET