Developing Water

Started by
1 comment, last by Krohm 12 years, 3 months ago
I've wanted to developer some really nice-looking water for a while now, and I'm nearly ready to do so, but I have a few questions how to get it to work correctly:

1) Should reflections be a real-time environment map, or should I just use a static cubemap? How practical are real-time reflections nowadays?
2) My water shader won't be supporting any ocean-like features like tides
3) This is targeted for OpenGL ES 2.0 systems, so I'll be using my own matrices, and not
4) How practical are refractions now? I'd like to implement that as an
5) How would I apply lighting correctly to the water? Again, I'd need to know if I'm generating the environment map water in real-time, and then I'd need to know how to apply these effects correctly.
Advertisement
It sounds like you are targeting mobile systems, in which case I'd really recommend a static environment map, which is going to save a lot of milliseconds.

Refractions are fairly practical in screenspace, you should be able to find some papers and example code fairly easily on google.

  1. In my experience, a real time low-res enviro map is preferable but when it comes to mobile, that's very different business. Even on PC, driver issues make realtime maps often more difficult than expected. I'd stay away from them right now. Rarely updated maps are, in my opinion, worse than fully static maps. If a full update takes more than 2-3 frames then I'd stay away from dynamic maps in the first place.
  2. Ok, see this thread about flowing water.
  3. Ok, no problem.
  4. They are just as viable as reflections as they are basically the same thing (all the strings attached). Whetever a full reflect+refract is viable on your target... I cannot tell.
  5. See the above linked thread: Valve and Tiled Directional Flow.

Previously "Krohm"

This topic is closed to new replies.

Advertisement