浏览代码

Add AUTO_ALPHA param for VolumeDecalShader

ShiroSmith 5 年之前
父节点
当前提交
8dbc984c1c
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      h3d/shader/pbr/VolumeDecal.hx

+ 5 - 1
h3d/shader/pbr/VolumeDecal.hx

@@ -29,6 +29,7 @@ class DecalOverlay extends hxsl.Shader {
 
 		@const var CENTERED : Bool;
 		@const var GAMMA_CORRECT : Bool;
+		@const var AUTO_ALPHA : Bool = true;
 
 		@global var depthMap : Channel;
 
@@ -74,7 +75,10 @@ class DecalOverlay extends hxsl.Shader {
 			pixelColor.rgb *= color.rgb;
 			if( GAMMA_CORRECT ) pixelColor.rgb *= pixelColor.rgb;
 			pixelColor.rgb += pixelColor.rgb * emissive;
-			pixelColor.a = clamp(max(max(pixelColor.r, pixelColor.g), pixelColor.b), 0, 1) * fadeFactor;
+			if( AUTO_ALPHA )
+				pixelColor.a = clamp(max(max(pixelColor.r, pixelColor.g), pixelColor.b), 0, 1) * fadeFactor;
+			else
+				pixelColor.a = color.a * fadeFactor;
 		}
 	}