#version 410 core
layout(location = 0) in vec3 aPos;
layout(location = 1) in vec2 aUV;
layout(location = 2) in float aShade;
uniform mat4 uMVP;
uniform mat4 uModel;
out vec2 vUV;
out float vShade;
out vec3 vWorld;
void main() {
    vUV = aUV;
    vShade = aShade;
    vec4 world = uModel * vec4(aPos, 1.0);
    vWorld = world.xyz;
    gl_Position = uMVP * world;
}
