36 lines
659 B
GLSL
36 lines
659 B
GLSL
#version 150
|
|
|
|
uniform sampler2D base_in;
|
|
uniform sampler2D blend_in;
|
|
uniform bool base_in_enabled;
|
|
uniform bool blend_in_enabled;
|
|
|
|
in vec2 ove_texcoord;
|
|
|
|
out vec4 fragColor;
|
|
|
|
void main(void) {
|
|
vec4 base_col = texture(base_in, ove_texcoord);
|
|
vec4 blend_col = texture(blend_in, ove_texcoord);
|
|
|
|
if (!base_in_enabled && !blend_in_enabled) {
|
|
fragColor = vec4(0.0);
|
|
return;
|
|
}
|
|
|
|
if (!base_in_enabled) {
|
|
fragColor = blend_col;
|
|
return;
|
|
}
|
|
|
|
if (!blend_in_enabled) {
|
|
fragColor = base_col;
|
|
return;
|
|
}
|
|
|
|
base_col *= 1.0 - blend_col.a;
|
|
base_col += blend_col;
|
|
|
|
fragColor = base_col;
|
|
}
|