|
@@ -59,11 +59,11 @@ fun layer_merge_frag(input: vert_out): float4 {
|
|
var str: float = col0.a * constants.opac;
|
|
var str: float = col0.a * constants.opac;
|
|
str *= sample_lod(texmask, sampler_linear, input.tex, 0.0).r;
|
|
str *= sample_lod(texmask, sampler_linear, input.tex, 0.0).r;
|
|
|
|
|
|
- if (constants.blending == -1) { // Merging _nor and _pack
|
|
|
|
|
|
+ if (constants.blending == 101) { // Merging _nor and _pack
|
|
var col1: float4 = sample_lod(tex1, sampler_linear, input.tex, 0.0);
|
|
var col1: float4 = sample_lod(tex1, sampler_linear, input.tex, 0.0);
|
|
return float4(lerp4(cola, col1, str));
|
|
return float4(lerp4(cola, col1, str));
|
|
}
|
|
}
|
|
- if (constants.blending == -2) { // Merging _nor with normal blending
|
|
|
|
|
|
+ if (constants.blending == 102) { // Merging _nor with normal blending
|
|
var col1: float4 = sample_lod(tex1, sampler_linear, input.tex, 0.0);
|
|
var col1: float4 = sample_lod(tex1, sampler_linear, input.tex, 0.0);
|
|
// Whiteout blend
|
|
// Whiteout blend
|
|
var n1: float3 = cola.rgb * float3(2.0, 2.0, 2.0) - float3(1.0, 1.0, 1.0);
|
|
var n1: float3 = cola.rgb * float3(2.0, 2.0, 2.0) - float3(1.0, 1.0, 1.0);
|
|
@@ -72,11 +72,11 @@ fun layer_merge_frag(input: vert_out): float4 {
|
|
normalize(float3(n1.xy + n2.xy, n1.z * n2.z)) * float3(0.5, 0.5, 0.5) + float3(0.5, 0.5, 0.5),
|
|
normalize(float3(n1.xy + n2.xy, n1.z * n2.z)) * float3(0.5, 0.5, 0.5) + float3(0.5, 0.5, 0.5),
|
|
max(col1.a, cola.a));
|
|
max(col1.a, cola.a));
|
|
}
|
|
}
|
|
- if (constants.blending == -3) { // Merging _pack with height blending
|
|
|
|
|
|
+ if (constants.blending == 103) { // Merging _pack with height blending
|
|
var col1: float4 = sample_lod(tex1, sampler_linear, input.tex, 0.0);
|
|
var col1: float4 = sample_lod(tex1, sampler_linear, input.tex, 0.0);
|
|
return float4(lerp3(cola.rgb, col1.rgb, str), cola.a + col1.a);
|
|
return float4(lerp3(cola.rgb, col1.rgb, str), cola.a + col1.a);
|
|
}
|
|
}
|
|
- if (constants.blending == -4) { // Merge _pack.height into _nor
|
|
|
|
|
|
+ if (constants.blending == 104) { // Merge _pack.height into _nor
|
|
var tex_step: float = 1.0 / constants.tex1w;
|
|
var tex_step: float = 1.0 / constants.tex1w;
|
|
var height0: float = sample_lod(tex1, sampler_linear, float2(input.tex.x - tex_step, input.tex.y), 0.0).a;
|
|
var height0: float = sample_lod(tex1, sampler_linear, float2(input.tex.x - tex_step, input.tex.y), 0.0).a;
|
|
var height1: float = sample_lod(tex1, sampler_linear, float2(input.tex.x + tex_step, input.tex.y), 0.0).a;
|
|
var height1: float = sample_lod(tex1, sampler_linear, float2(input.tex.x + tex_step, input.tex.y), 0.0).a;
|
|
@@ -170,7 +170,12 @@ fun layer_merge_frag(input: vert_out): float4 {
|
|
(cola.rgb + str * (float3(2.0, 2.0, 2.0) * (col0.rgb - float3(0.5, 0.5, 0.5)))),
|
|
(cola.rgb + str * (float3(2.0, 2.0, 2.0) * (col0.rgb - float3(0.5, 0.5, 0.5)))),
|
|
max(col0.a, cola.a));
|
|
max(col0.a, cola.a));
|
|
}
|
|
}
|
|
- if (constants.blending == 11) { // Difference
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /* TODO: SPIRV
|
|
|
|
+
|
|
|
|
+ if (constants.blending == 11) {
|
|
return float4(
|
|
return float4(
|
|
lerp3(cola.rgb, abs3(cola.rgb - col0.rgb), str),
|
|
lerp3(cola.rgb, abs3(cola.rgb - col0.rgb), str),
|
|
max(col0.a, cola.a));
|
|
max(col0.a, cola.a));
|
|
@@ -229,6 +234,7 @@ fun layer_merge_frag(input: vert_out): float4 {
|
|
str),
|
|
str),
|
|
max(col0.a, cola.a));
|
|
max(col0.a, cola.a));
|
|
}
|
|
}
|
|
|
|
+ */
|
|
|
|
|
|
return float4(1, 1, 1, 1);
|
|
return float4(1, 1, 1, 1);
|
|
}
|
|
}
|