[SIGGRAPH 2010] Screen Space Fluid Rendering for Games

Screen Space Fluid Rendering for Games



Here is a nice presentation by Simon Green (NVIDIA) about how to render SPH (smoothed particle hydrodynamics) particle-based fluids.

Screen Space Fluid Rendering for Games

Screen Space Fluid Rendering for Games

Screen Space Fluid Rendering for Games

Screen Space Fluid Rendering for Games

Screen Space Fluid Rendering for Games

Screen Space Fluid Rendering for Games

Screen Space Fluid Rendering for Games

Screen Space Fluid Rendering for Games

Screen Space Fluid Rendering for Games

Screen Space Fluid Rendering for Games

Another related post: Reconstructing Surfaces of Particle-Based Fluids Using Anisotropic Kernels.

9 thoughts on “[SIGGRAPH 2010] Screen Space Fluid Rendering for Games”

  1. Pingback: assari (PukiWiki/TrackBack 0.3)

  2. simon

    Thanks, nice to know somebody reads this stuff! The artifacts from the separated bilateral filter in the presentation actually look worse than they really are.

  3. auld

    @simon.

    I was using a very similar technique earlier this year (heres an image http://twitpic.com/151ash ) with added hypnoglow :-).

    One difference in technique, I output the normal on the first pass rather than derive it later. I used a shader so no matter how close spheres were the image was perfect but in retrospect, an image of the sphere normals would be faster and given the blur pass, adequate.

  4. auld

    oh also I used hierarchical blur which allowed for all surface artifacts to be smoothed out but at the expense of fuzzy edges which I tried to fix with a z-sensitive blur with partial success.

  5. simon

    Auld – you picture looks nice!

    The advantage of blurring the depths rather than just the normals is that you can calculate a smoothed surface position from the depth, which is needed for high-quality shading (local view vector for reflections etc.)

    Yeah, you need some kind of depth-sensitive blur (bilateral) to avoid blurring nearby particles into particles behind them.

  6. auld

    Simon, thanks.

    To be clear I output z and normal so I have the surface position too (but not used in my image). I blur the normal which avoids calculating a new normal using the delta z you mention in your paper. BUT you use 16 bit z (?) and I’m blurring 3 bytes which is probably much slower. Swings and roundabouts in the end. Nice work on the water lighting model and putting it all together.

  7. auld

    Ah I get you. Yes as I didn’t combine this I didn’t spot the surface distance blur is important too: very important in your case. You have a close approximation to the surface geometry I only have approximation to surface lighting.

  8. Pingback: Particles in BGE: Fluid Surface and Collision in the works | enj

Comments are closed.