TSR_ECS/main/shaders/xz_xz_mask_uv.fs
2023-12-25 18:47:55 +01:00

36 lines
835 B
GLSL

#version 330 core
in vec2 v_texcoord;
in vec3 v_fragpos;
in vec3 v_normal;
uniform sampler2D u_tex;
uniform sampler2D u_tex1;
uniform sampler2D u_tex2;
uniform vec2 u_xz_mult;
layout (location = 0) out vec4 o_color;
layout (location = 1) out vec4 o_normal;
void main() {
vec2 txc = vec2(v_texcoord.x, 1.0 - v_texcoord.y);
vec2 tc1 = v_fragpos.xz * u_xz_mult.x;
vec2 tc2 = v_fragpos.xz * u_xz_mult.y;
vec4 color_mask = texture(u_tex, txc);
vec4 color_xz1 = texture(u_tex1, tc1);
vec4 color_xz2 = texture(u_tex2, tc2);
// vec4 object_color_4 = mix(color_xz1, color_xz2, color_mask.a);
// if (object_color_4.a < 0.5) discard;
vec3 object_color = mix(color_xz1.rgb, color_xz2.rgb * color_mask.rgb, color_mask.a);
o_color = vec4(object_color, 1.0);
o_normal = vec4(v_normal, 1.0);
}