summaryrefslogtreecommitdiffstats
path: root/godot3-prototype/custom_shaders
diff options
context:
space:
mode:
Diffstat (limited to 'godot3-prototype/custom_shaders')
-rw-r--r--godot3-prototype/custom_shaders/liquid.gdshader26
1 files changed, 26 insertions, 0 deletions
diff --git a/godot3-prototype/custom_shaders/liquid.gdshader b/godot3-prototype/custom_shaders/liquid.gdshader
new file mode 100644
index 0000000..529f25c
--- /dev/null
+++ b/godot3-prototype/custom_shaders/liquid.gdshader
@@ -0,0 +1,26 @@
+shader_type spatial;
+
+//frag shader variables
+uniform vec4 albedo : hint_color;
+uniform float alpha : hint_range(0.0, 1.0);
+uniform float normal_speed : hint_range(0.0, 1.0);
+uniform float normal_map_scale : hint_range(0.0, 10.0);
+uniform float roughness : hint_range(0.0, 1.0);
+uniform sampler2D normal : hint_normal;
+
+//Vertex shader variables
+uniform float wave_speed : hint_range(0.0, 10.0);
+uniform float wave_height : hint_range(0.0, 10.0);
+
+void fragment() {
+ vec2 moving_uv = UV + (TIME * normal_speed);
+
+ ALBEDO = albedo.rgb;
+ ALPHA = alpha;
+ ROUGHNESS = roughness;
+ NORMALMAP = texture(normal, moving_uv * normal_map_scale).xyz;
+}
+
+void vertex() {
+ VERTEX.y = sin(TIME + VERTEX.x * wave_speed) * wave_height;
+} \ No newline at end of file