Question About Fluid simulation

Started by
4 comments, last by ATEFred 10 years, 10 months ago

Hi, everyone !

I'm newer to do fluid simulation, and find that really hard to implement, I try to make that physical theory more clear, so I can do next. Please tell me if I had some comprehension problems :

I divide this tech into 2 steps - 1st is physical motion equation solving I called. And 2nd is surface reconstruction. Right ?

As learning going, I gradually find that the most difficult for me is step 2 - surface reconstruction. I cant imagine how those particles reconstructed by position data (or something else data ?), a algorithm to find surfaces ? or iso-surface ?

Digression - Are there something can be improved of fluid simulation for movies or games ? (The movies I saw, which had gorgeous fluid effects.)

Advertisement

Rendering and shading fluids is definitely tricky, but if course it very much depends on how you computed them in the first place.

If you have a eulerian grid which you used to compute motion by diffusing and advecting velocities / temperatures / densities / colours, you can pretty easily ray trace through the volume and get some decent results, depending on the resolution of your grid.

If you went down the sph / mass particles way, I find it trickier. Depending on what kind of fluid you are trying to render, you could render multiple times, to get surface depth and thickness, and then composite together.

Or you could try sorting them and alpha blending them. Of you could try bucketing them into screen tiles/cluters and evaluating each block to reconstruct your surface. Marching cubes could be an option?

This is the guy responsible for the most gorgeous fluid effects in films:

http://physbam.stanford.edu/~fedkiw/

Also check out his lighthouse video:

This is the guy responsible for the most gorgeous fluid effects in films:

http://physbam.stanford.edu/~fedkiw/

Also check out his lighthouse video:

Thank you, I already had saved his site

Rendering and shading fluids is definitely tricky, but if course it very much depends on how you computed them in the first place.

If you have a eulerian grid which you used to compute motion by diffusing and advecting velocities / temperatures / densities / colours, you can pretty easily ray trace through the volume and get some decent results, depending on the resolution of your grid.

If you went down the sph / mass particles way, I find it trickier. Depending on what kind of fluid you are trying to render, you could render multiple times, to get surface depth and thickness, and then composite together.

Or you could try sorting them and alpha blending them. Of you could try bucketing them into screen tiles/cluters and evaluating each block to reconstruct your surface. Marching cubes could be an option?

You mean that different fluids, like difference between ocean and a cup of water, will be simulated in different methods( I think maybe it's just a something detail in equation's item, is that right ?) ? I'm stopped at surface-reconstruction, that's very hard to me. I try to read a lot of opensource and thesis, then I can do next.

Rendering and shading fluids is definitely tricky, but if course it very much depends on how you computed them in the first place.

If you have a eulerian grid which you used to compute motion by diffusing and advecting velocities / temperatures / densities / colours, you can pretty easily ray trace through the volume and get some decent results, depending on the resolution of your grid.

If you went down the sph / mass particles way, I find it trickier. Depending on what kind of fluid you are trying to render, you could render multiple times, to get surface depth and thickness, and then composite together.

Or you could try sorting them and alpha blending them. Of you could try bucketing them into screen tiles/cluters and evaluating each block to reconstruct your surface. Marching cubes could be an option?

You mean that different fluids, like difference between ocean and a cup of water, will be simulated in different methods( I think maybe it's just a something detail in equation's item, is that right ?) ? I'm stopped at surface-reconstruction, that's very hard to me. I try to read a lot of opensource and thesis, then I can do next.

Different types of fluids would most likely be simulated in different ways. There are many things to consider: the scale of the fluid, the detail needed, whether they can be bounded by a small volume or need to be able to leave said volume, etc.

Some examples could be ocean wave motion computed by FFTs + local object wake maps, a smoke pillar with well known bounds computed by a eulerian voxel grid, water spewing out of a pipe simulated by hundreds of thousands of sph simed particles, etc. The simulation method will dictate to a certain extent how you will tackle your surface reconstruction and shading due to the very different nature of the data you are producing. So I guess knowing what you are going to do on that side would be useful to come first.

I would start by checking out the SPH demo in the dxsdk, and the NV volumetric smoke/fire demo in their sdk. They use very different approaches.

This guys blog has some really interesting posts on fluids, worth reading:
http://directtovideo.wordpress.com/


This topic is closed to new replies.

Advertisement