add motion vectors to all shaders
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / standard.vs
index 33f41544f835b0dd83d43beac92cc33baeb8a3ae..679eae88deb12765d27388dd86520de08596535b 100644 (file)
@@ -1,7 +1,9 @@
 #include "vertex_standard.glsl"
+#include "motion_vectors_vs.glsl"
 
 uniform mat4x3 uMdl;
 uniform mat4 uPv;
+uniform mat4 uPvmPrev;
 
 out vec4 aColour;
 out vec2 aUv;
@@ -11,11 +13,16 @@ out vec3 aWorldCo;
 
 void main()
 {
-   vec3 world_pos = uMdl * vec4(a_co,1.0);
-   gl_Position = uPv * vec4( world_pos, 1.0 );
+   vec3 world_pos0 = uMdl     * vec4( a_co, 1.0 );
+   vec4 vproj0     = uPv      * vec4( world_pos0, 1.0 );
+   vec4 vproj1     = uPvmPrev * vec4( a_co, 1.0 );
+
+   vs_motion_out( vproj0, vproj1 );
+
+   gl_Position = vproj0;
+   aWorldCo = world_pos0;
    aColour = a_colour;
    aUv = a_uv;
    aNorm = mat3(uMdl) * a_norm;
    aCo = a_co;
-   aWorldCo = world_pos;
 }