diff options
Diffstat (limited to 'gfx/gl/shaders/water.vert')
| -rw-r--r-- | gfx/gl/shaders/water.vert | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gfx/gl/shaders/water.vert b/gfx/gl/shaders/water.vert new file mode 100644 index 0000000..60e4fb8 --- /dev/null +++ b/gfx/gl/shaders/water.vert @@ -0,0 +1,21 @@ +#version 460 core + +layout(location = 0) in ivec3 position; +out vec3 FragPos; +out vec2 TexCoords; + +uniform mat4 viewProjection; +uniform ivec3 viewPoint; +uniform float waves; + +void +main() +{ + vec3 wpos = vec3(position.x + (cos(waves) * 1000.0), position.y + (cos(waves * 1.4) * 1000.0), + cos(waves + (position.x / 1000000) + (position.y / 8000)) * 300.0); + + FragPos = vec3(wpos.xy, position.z); + TexCoords = (position.xy / 8192) - (viewPoint.xy / 8192); + + gl_Position = viewProjection * vec4(wpos - viewPoint, 1.0); +} |
