瀏覽代碼

Fix alpha greater than 1 for decal

ShiroSmith 6 年之前
父節點
當前提交
4ec0e44190
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      h3d/shader/pbr/VolumeDecal.hx

+ 3 - 2
h3d/shader/pbr/VolumeDecal.hx

@@ -70,8 +70,9 @@ class DecalOverlay extends hxsl.Shader {
 				discard;
 
 			var color = colorTexture.get(calculatedUV);
-			pixelColor.rgb *= color.rgb + color.rgb * emissive;
-			pixelColor.a = max(max(pixelColor.r, pixelColor.g), pixelColor.b) * fadeFactor;
+			pixelColor.rgb *= color.rgb;
+			pixelColor.rgb += pixelColor.rgb * emissive;
+			pixelColor.a = clamp(max(max(pixelColor.r, pixelColor.g), pixelColor.b), 0, 1) * fadeFactor;
 		}
 	}