/* Hurry Curry! - a game about cooking Copyright 2024 nokoe This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License only. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ shader_type spatial; uniform float max_width = .1; uniform float marker_length = .5; uniform float pulse_speed = 4.; uniform bool interactive = false; uniform bool interacting = false; void fragment() { if (interacting) { ALBEDO = vec3(0., 0., 15.); } else if (interactive) { ALBEDO = vec3(15., 0., 0.); } else { ALBEDO = vec3(.1, .1, .1); } vec2 uv = abs(2. * UV.xy - 1.); float m_length = marker_length / max_width; float anim; if (interactive || interacting) { anim = sin(TIME * pulse_speed) * .5 + 1.; } else { anim = .5; } float alpha = step( 1. - max_width * anim, max(uv.x, uv.y)) * step(1. - max_width * m_length, min(uv.x, uv.y) ); ALPHA = alpha; }