]> git.tdb.fi Git - libs/gl.git/blobdiff - demos/forestpond/data/fluidsim_fill.glsl
Implement water simulation and surface shader for forest pond
[libs/gl.git] / demos / forestpond / data / fluidsim_fill.glsl
diff --git a/demos/forestpond/data/fluidsim_fill.glsl b/demos/forestpond/data/fluidsim_fill.glsl
new file mode 100644 (file)
index 0000000..61f1f32
--- /dev/null
@@ -0,0 +1,18 @@
+import msp_interface;
+
+#pragma MSP stage(compute)
+layout(local_size_x=8, local_size_y=8) in;
+
+uniform sampler2D bottom;
+layout(r32f) uniform image2D surface_out;
+layout(rg32f) uniform image2D velocity_out;
+layout(r32f) uniform image2D clamping_out;
+
+void main()
+{
+       ivec2 coord = ivec2(gl_GlobalInvocationID.xy);
+       float surface = max(texelFetch(bottom, coord, 0).x, 0.0);
+       imageStore(surface_out, coord, vec4(surface, 0.0, 0.0, 0.0));
+       imageStore(velocity_out, coord, vec4(0.0));
+       imageStore(clamping_out, coord, vec4(0.0));
+}