*/}}
Przeglądaj źródła

Premultiplied add

YimingWu 3 dni temu
rodzic
commit
4b0b36dd3a
1 zmienionych plików z 5 dodań i 0 usunięć
  1. 5 0
      resources/la_tns_shaders.cpp

+ 5 - 0
resources/la_tns_shaders.cpp

@@ -803,7 +803,12 @@ void main(){
 	}else if(TextureMode==6){
         vec4 color1=texture1(fUV.st); if(MultiplyColor!=0){color1*=fColor;}
 		vec4 color2=texture2();
+		if(TexPremultiplied==0){ color1=vec4(color1.rgb*color1.a,color1.a); color2=vec4(color2.rgb*color2.a,color2.a); }
 		color = color1+color2;
+		if(TexPremultiplied==0){
+			color1=(color1.a!=0.)?vec4(color1.rgb/color1.a,color1.a):vec4(0.,0.,0.,0.);
+			color2=(color2.a!=0.)?vec4(color2.rgb/color2.a,color2.a):vec4(0.,0.,0.,0.);
+		}
 	}else if(TextureMode==101){ // YUYV
 		ivec2 tsize = textureSize(TexColor,0);
 		vec2 pixel = fUV.st * vec2(tsize);