out vec2 vertex_uv;
out vec3 vertex_normal;
out vec4 vertex_tangent;
out vec3 vertex_pos;


void main()
{
	mat3 normalMatrix = transpose(inverse(mat3(u_model)));
	vertex_uv = a_texcoord0;
	vertex_normal = normalMatrix * a_normal.xyz;
	vertex_tangent.xyz = normalMatrix * a_tangent.xyz;
	vertex_pos = (u_model * vec4(a_position, 1.0)).xyz;

	gl_Position = u_proj * u_view * u_model * vec4(a_position, 1.0);
}