water fog material prop; ragdoll float only on drowned
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / model_font.vs
index 764f008b5d8bc9e66dc015054fb93c717a328b42..6f7d3ca980932cf67c8656fe1f23e8bfd1f76eeb 100644 (file)
@@ -1,26 +1,22 @@
 layout (location=0) in vec3 a_co;
 layout (location=1) in vec3 a_norm;
 layout (location=2) in vec2 a_uv;
-layout (location=3) in vec4 a_colour;
-layout (location=4) in vec4 a_weights;
-layout (location=5) in ivec4 a_groups;
 
 #include "motion_vectors_vs.glsl"
 
 uniform mat4x3 uMdl;
 uniform mat4 uPv;
 uniform mat4 uPvmPrev;
-uniform vec3 uOffset;
+uniform vec4 uOffset;
 
-out vec4 aColour;
 out vec2 aUv;
-out vec3 aNorm;
+out vec4 aNorm;
 out vec3 aCo;
 out vec3 aWorldCo;
 
 void main()
 {
-   vec3 co = a_co+uOffset;
+   vec3 co = a_co*uOffset.w+uOffset.xyz;
    vec3 world_pos0 = uMdl     * vec4( co, 1.0 );
    vec4 vproj0     = uPv      * vec4( world_pos0, 1.0 );
    vec4 vproj1     = uPvmPrev * vec4( co, 1.0 );
@@ -28,9 +24,9 @@ void main()
    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;
+   aNorm = vec4( mat3(uMdl) * a_norm, 0.0 );
+   aCo = co;
+   aWorldCo = world_pos0;
 }