#include "vertex_standard.glsl"
+#include "motion_vectors_vs.glsl"
-uniform mat4 uPv;
uniform mat4x3 uMdl;
+uniform mat4 uPv;
+uniform mat4 uPvmPrev;
uniform vec3 uInfo;
mlocal[2] = vec3(0.0,0.0,1.0);
mlocal[3] = vec3(c*r,uInfo.y*0.875 + s*r,uInfo.x*0.5);
- vec3 world_pos = uMdl * vec4(mlocal * vec4(a_co,1.0),1.0);
- gl_Position = uPv * vec4( world_pos, 1.0 );
+ vec3 local_pos = mlocal * vec4( a_co, 1.0 );
+ vec3 world_pos = uMdl * vec4( local_pos, 1.0 );
+
+ vec4 vproj0 = uPv * vec4( world_pos, 1.0 );
+ vec4 vproj1 = uPvmPrev * vec4( local_pos, 1.0 );
+
+ // Output
+ vs_motion_out( vproj0, vproj1 );
+
+ gl_Position = vproj0;
aColour = a_colour;
aUv = a_uv + vec2( floor(uInfo.z+0.5)*(1.0/64.0), yoff );
aNorm = mat3(uMdl) * mat3(mlocal) * a_norm;