aboutsummaryrefslogtreecommitdiff
path: root/client/map/progress/progress.gdshader
diff options
context:
space:
mode:
Diffstat (limited to 'client/map/progress/progress.gdshader')
-rw-r--r--client/map/progress/progress.gdshader48
1 files changed, 48 insertions, 0 deletions
diff --git a/client/map/progress/progress.gdshader b/client/map/progress/progress.gdshader
new file mode 100644
index 00000000..a5ebf575
--- /dev/null
+++ b/client/map/progress/progress.gdshader
@@ -0,0 +1,48 @@
+/*
+ Hurry Curry! - a game about cooking
+ Copyright 2024 nokoe
+ Copyright 2024 tpart
+
+ 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 <https://www.gnu.org/licenses/>.
+
+*/
+shader_type spatial;
+render_mode unshaded;
+
+uniform float progress = 0.;
+uniform bool bad = false;
+
+void fragment() {
+ vec3 color = vec3(0., .5, 0.);
+ float alpha_fac = 1.;
+ if (bad) {
+ color = vec3(progress, 1. - progress, 0.);
+ alpha_fac = (sin(TIME * 15.) + 1.) * .5;
+ }
+ if (UV.x > progress) {
+ ALPHA = 1.;
+ color = vec3(0.1, 0.1, 0.1);
+ }
+ ALPHA *= alpha_fac;
+ ALBEDO = color;
+}
+
+void vertex() {
+ mat4 modified_model_view = VIEW_MATRIX * mat4(
+ INV_VIEW_MATRIX[0],
+ INV_VIEW_MATRIX[1],
+ INV_VIEW_MATRIX[2],
+ MODEL_MATRIX[3]
+ );
+ MODELVIEW_MATRIX = modified_model_view;
+}