36 lines
799 B
GLSL
36 lines
799 B
GLSL
|
|
uniform vec4 g_Color4;
|
|
|
|
uniform sampler2D g_Texture0;
|
|
uniform sampler2D g_Texture1; // {"combo":"DOUBLEBUFFERED","hidden":true}
|
|
|
|
varying vec3 v_TexCoordBlend;
|
|
varying vec2 v_TexCoordBase;
|
|
|
|
void main() {
|
|
vec4 albedo = texSample2D(g_Texture0, v_TexCoordBlend.xy);
|
|
|
|
#if DOUBLEBUFFERED
|
|
#ifdef HLSL
|
|
clip(v_TexCoordBlend.z - 0.001);
|
|
#else
|
|
if (v_TexCoordBlend.z <= 0.001)
|
|
{
|
|
discard;
|
|
}
|
|
#endif
|
|
vec4 base = texSample2D(g_Texture1, v_TexCoordBase.xy);
|
|
base.rgb = mix(albedo.rgb, base.rgb, step(saturate(v_TexCoordBlend.z), base.a));
|
|
|
|
albedo = mix(base, albedo, v_TexCoordBlend.z);
|
|
albedo *= g_Color4;
|
|
|
|
gl_FragColor = albedo;
|
|
#else
|
|
albedo.a *= saturate(v_TexCoordBlend.z);
|
|
albedo.rgb *= g_Color4 * max(1.0, v_TexCoordBlend.z);
|
|
|
|
gl_FragColor = albedo;
|
|
#endif
|
|
}
|