precision highp float; uniform mat4 Modelview; uniform mat4 Projection; layout (location = 0) in vec3 vPosition; layout (location = 1) in vec3 vNormal; layout (location = 2) in vec4 vTangent; layout (location = 3) in vec2 vTexcoord; out vec3 Normal; out vec4 Tangent; out vec3 Bitangent; // TODO: Compute here or in PS? out vec2 Texcoord; void main() { Texcoord = vTexcoord; Normal = mat3(Modelview) * vNormal; Tangent = vec4(mat3(Modelview) * vTangent.xyz, vTangent.w); Bitangent = cross(Normal, Tangent.xyz) * vTangent.w; gl_Position = Projection * Modelview * vec4(vPosition, 1.0); }