+++ /dev/null
-#include "vertex_standard.glsl"
-#include "motion_vectors_vs.glsl"
-
-uniform mat4 uPv;
-
-// TODO: Send a previous transform matrix stack
-//
-uniform mat4x3 uTransforms[32];
-
-out vec4 aColour;
-out vec2 aUv;
-out vec3 aNorm;
-out vec3 aCo;
-out vec3 aWorldCo;
-
-void main()
-{
- vec4 co_local = vec4( a_co, 1.0 );
- vec3 co0 = uTransforms[ a_groups[0] ] * co_local;
- vec3 co1 = uTransforms[ a_groups[1] ] * co_local;
- vec3 co2 = uTransforms[ a_groups[2] ] * co_local;
- vec3 n0 = mat3(uTransforms[ a_groups[0] ]) * a_norm;
- vec3 n1 = mat3(uTransforms[ a_groups[1] ]) * a_norm;
- vec3 n2 = mat3(uTransforms[ a_groups[2] ]) * a_norm;
-
- vec3 world_pos = co0*a_weights[0] + co1*a_weights[1] + co2*a_weights[2];
- vec3 world_normal = n0*a_weights[0] + n1*a_weights[1] + n2*a_weights[2];
-
- gl_Position = uPv * vec4( world_pos, 1.0 );
- aColour = a_colour;
- aUv = a_uv;
- aNorm = world_normal;
- aCo = a_co;
- aWorldCo = world_pos;
-
- // TODO:
- aMotionVec0 = vec3(1.0);
- aMotionVec1 = vec3(1.0);
-}