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)); }