跳到主要内容
← Water

Water

Water Distortion 3D

shader-learning 自学第 1 课:Water Distortion 3D

实时渲染 · 纹理 GLSL

第 1 课:Water Distortion 3D

实现

uniform vec2 iResolution;
uniform float iTime;
uniform sampler2D iChannel0;

const float PI = 3.14;
const float frequency = 5.0;
const float amplitude = 0.1;
const float speed = 1.0;

in vec2 vUv;

out vec4 FragColor;

void main() {
  vec2 uv = vUv;
  float distortion = amplitude * sin(uv.x * 2.0 * PI * frequency + speed * iTime);
  vec3 color = texture(iChannel0, uv + vec2(0.0, distortion)).rgb;

  FragColor = vec4(color, 1.0);
}