sand alpha, addon reg
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / scene_foliage.vs
1 layout (location=0) in vec3 a_co;
2 layout (location=1) in vec4 a_norm;
3 layout (location=2) in vec2 a_uv;
4
5 #include "motion_vectors_vs.glsl"
6
7 uniform mat4x3 uMdl;
8 uniform mat4 uPv;
9 uniform mat4 uPvmPrev;
10 uniform float uTime;
11
12 out vec2 aUv;
13 out vec4 aNorm;
14 out vec3 aCo;
15 out vec3 aWorldCo;
16
17 void main(){
18 vec4 vsine = sin(vec4(uTime + a_co.x, uTime*0.7 + a_co.z,uTime,uTime*1.3));
19 vec3 co = a_co + vsine.xyz * a_norm.w * 0.5;
20
21 vec3 world_pos0 = uMdl * vec4( co, 1.0 );
22 vec4 vproj0 = uPv * vec4( world_pos0, 1.0 );
23 vec4 vproj1 = uPvmPrev * vec4( co, 1.0 );
24
25 vs_motion_out( vproj0, vproj1 );
26
27 gl_Position = vproj0;
28
29 aUv = a_uv;
30 aNorm = vec4( mat3(uMdl) * a_norm.xyz, a_norm.w );
31 aCo = a_co;
32 aWorldCo = world_pos0;
33 }