Files

28 lines
573 B
GLSL

#version 300 es
precision highp float;
precision highp int;
precision highp sampler2D;
layout(location = 0) in vec3 a_pos;
layout(location = 1) in vec3 a_normal;
layout(location = 2) in vec2 a_uv;
layout(location = 3) in vec4 a_color;
layout(std140) uniform ub0 {
mat4 u_view_proj;
};
layout(std140) uniform ub1 {
mat4 u_world;
vec4 u_color;
vec4 u_uv_rect;
};
out vec2 v_uv;
out vec4 v_color;
void main() {
v_uv = mix(u_uv_rect.xy, u_uv_rect.zw, a_uv);
v_color = a_color * u_color;
gl_Position = u_view_proj * u_world * vec4(a_pos, 1.0);
}