You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
samples/experimental/varfont_shader_puzzle/shaders/wavy2.frag

27 lines
762 B

// Copyright 2023 The Flutter team. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#define PI 3.1415926538
layout(location = 0) uniform float uTime;
layout(location = 1) uniform vec2 uSize;
layout(location = 3) uniform float uDampener;
layout(location = 0) out vec4 fragColor;
layout(location = 2) uniform sampler2D uTexture;
void main()
{
float piTime = uTime * PI * 2;
vec2 texCoord = gl_FragCoord.xy / uSize.xy;
float maxMag = 0.2;
float thisMag = (sin(texCoord.y * 10 + piTime) + 1) * 0.5 * maxMag * uDampener;
float srcX;
srcX = texCoord.x + (0.5 - texCoord.x) * thisMag;
vec2 srcCoord = vec2(srcX, texCoord.y);
fragColor = texture(uTexture, srcCoord);
}