fixes some artifacting
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / standard.vs
index db7f98033ae326ee291becfb969556d2746c0fb1..679eae88deb12765d27388dd86520de08596535b 100644 (file)
@@ -1,16 +1,26 @@
 #include "vertex_standard.glsl"
+#include "motion_vectors_vs.glsl"
 
-uniform mat4 uPv;
 uniform mat4x3 uMdl;
+uniform mat4 uPv;
+uniform mat4 uPvmPrev;
 
 out vec4 aColour;
 out vec2 aUv;
 out vec3 aNorm;
 out vec3 aCo;
+out vec3 aWorldCo;
 
 void main()
 {
-   gl_Position = uPv * vec4( uMdl * vec4(a_co,1.0), 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;