I am trying to build a 2D Water shader and I am using Unity but the plateform isn't a problem.
Here is an example of what I am trying to reproduce :
Limbo water shader
Are there any good tutorial or whitepaper about creating such effect blur and displacement ? I am not talking about waves or something but only the depth of the water.
Is it a Camera shader or an object shader ?

Thanks a lot !


closed as off-topic by Alexandre Vaillancourt, MAnd, Jesse Dorsey Feb 12 '16 at 14:44

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about "how to get started," "what to learn next," or "which technology to use" are discussion-oriented questions which involve answers that are either based on opinion, or which are all equally valid. Those kinds of questions are outside the scope of this site. Visit our help center for more information." – Alexandre Vaillancourt, MAnd, Jesse Dorsey
If this question can be reworded to fit the rules in the help center, please edit the question.


Except the spluttering / water jets (seems to be done with particles) it looks like a displacement shader.

Check out this http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter19.html

It is in 3D but the theory behind it should provide helpful if it is that kind of water effect you look for.

  • \$\begingroup\$ Thanks for the link ! Yes of course, I am not talking about the spluttering / water jets. \$\endgroup\$ – MaT May 13 '13 at 12:31

I have Unity Pro. I saw that the best way to achieve such effect is to use Grabpass in the shader. But there are two problems with this system :

  • It seems that Grabpass is quite heavy for mobile as said here Using Grabpass & IOS/Android devices . But as I am learning shader, I don't know any other system to create refraction.
  • There is an issue with foreground objects, they are refracted too. There is a solution here GPU Gems - Refractions posted by Valmond.

Another interesting link : Unite 11 - Shadowgun The fluid part is at about 30:00.


Not the answer you're looking for? Browse other questions tagged or ask your own question.