mirror of
https://github.com/flutter/samples.git
synced 2025-11-08 13:58:47 +00:00
* added Type Jam puzzle app for review * pr round 2 prep * updated ci scripts for varfont_shader_puzzle * resolved unused and minor variable naming issues * rotator tiles row and col are final vars now * removed unused import and print from production * made constructors const where needed * pages_flow export refactored to directly come from that file * removed old api commented out section from FragmentShaded * updated pubspec yaml to correct project name * dart min version updated; removed unnecessary commented out dependencies from pubspec.yaml * updated pubspec.yaml min flutter version to ensure FragmentShader support * added/edited comments for explanation, esp on var fonts; removed obsolete comments * trailing newline added to pubspec.yaml eof
41 lines
1.2 KiB
GLSL
41 lines
1.2 KiB
GLSL
// 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 offset = 50;
|
|
|
|
float opacSum = 0.0;
|
|
vec4 thisCol = texture(uTexture, texCoord.xy);
|
|
|
|
float x = texCoord.x + (offset / uSize.x * pow(sin(piTime), 4)) * uDampener;
|
|
if (x >= 0.0 && x <= 1.0) {
|
|
opacSum += 0.3 * texture(uTexture, vec2(x, texCoord.y)).a;
|
|
}
|
|
|
|
x = texCoord.x - (offset / uSize.x * pow(sin(piTime + PI), 2)) * uDampener;
|
|
if (x >= 0.0 && x <= 1.0) {
|
|
opacSum += 0.3 * texture(uTexture, vec2(x, texCoord.y)).a;
|
|
}
|
|
|
|
float y = texCoord.y + (offset / uSize.y * pow(sin(piTime + PI * 0.66), 4)) * uDampener;
|
|
if (y >= 0.0 && y <= 1.0) {
|
|
opacSum += 0.3 * texture(uTexture, vec2(texCoord.x, y)).a;
|
|
}
|
|
|
|
fragColor = vec4(0.0, 0.0, 0.0, clamp(opacSum, 0.0, 1.0));
|
|
|
|
}
|