17 lines
442 B
GLSL
17 lines
442 B
GLSL
#version 450 core
|
|
#include "common.glsl"
|
|
|
|
layout(location = 0) in vec3 aPos;
|
|
uniform float uWaveStrength;
|
|
|
|
out vec3 vWorld;
|
|
|
|
void main() {
|
|
vec3 p = aPos;
|
|
// Gentle swell; fine detail comes from per-pixel normals.
|
|
p.y += (sin(p.x * 1.3 + uTime * 1.1) * cos(p.z * 1.1 + uTime * 0.9) +
|
|
sin(p.x * 0.7 - p.z * 0.9 + uTime * 0.6) * 0.5) * 0.018 * uWaveStrength;
|
|
vWorld = p;
|
|
gl_Position = uViewProj * vec4(p, 1.0);
|
|
}
|