Files
PRD_TU_MP550/load.gdshader
2024-12-18 14:49:24 +03:00

35 lines
1.0 KiB
Plaintext

shader_type canvas_item;
// Parameters for the sine wave
uniform float frequency = 1.5;
uniform float amplitude = 1000.0;
uniform float speed = 10.0;
uniform float direction: hint_range(-1.0, 1.0) = 1.0;
// Uniforms for colors
uniform vec4 color1: source_color = vec4(1.0, 1.0, 1.0, 1.0);
uniform vec4 color2: source_color = vec4(0.0, 0.0, 0.0, 1.0);
uniform vec4 color3: source_color = vec4(1.0, 1.0, 1.0, 1.0);
uniform vec4 color4: source_color = vec4(0.0, 0.0, 0.0, 1.0);
uniform float opacity: hint_range(0.0, 1.0) = 1.0;
void fragment() {
vec2 uv = FRAGCOORD.xy;
float sine_wave = sin(UV.x * frequency + TIME * speed * direction) * amplitude;
uv.y += sine_wave;
float t = sin(UV.x * frequency + TIME * speed * direction);
vec4 final_color;
if (t < -0.5) {
final_color = color1;
} else if (t < 0.0) {
final_color = color2;
} else if (t < 0.5) {
final_color = color3;
} else {
final_color = color4;
}
final_color *= vec4(1.0, 1.0, 1.0, opacity);
COLOR = final_color;
}