Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

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 !

share|improve this question

2 Answers 2

up vote 3 down vote accepted

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.

share|improve this answer
Thanks for the link ! Yes of course, I am not talking about the spluttering / water jets. –  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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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