Wednesday, February 20, 2008

Keeping it Real...time

For Thursday, Feb 21:

Matthias Müller, David Charypar, and Markus Gross. (2003). Particle-based fluid simulation for interactive applications. Proc. ACM SIGGRAPH/Eurographics Symp. Comp. Anim., 154–159. Related movie.

Chapters 7-9 of Robert Bridson and Matthias Müller-Fischer


Ryan said...

Interactive Rendering paper -
This looks a lot like what we were talking about in class on Tuesday. They are taking particles and building an implicit surface that can be evaluated anywhere as contributions from nearby particles. I liked their implementation speedup technique of making an extra copy of their data instead of references to increase cache hit performance(but they need to watch out for spellcheck and "cash" v. "cache").
It does seem like they are actually simulating a lot more of the interactions than most of our previous papers have been, as they don't ignore viscosity and they care about surface tension. I also agree with them that the marching-cubes version looked better than the point splatting, but I'm not sure if it is worth being 4 times as slow. I'd like to see a comparison between the two versions with point splatting given more particles until they have similar frame-rates and then compare them to see if the extra particles gained can make up for some of that loss in rendering quality.

Unknown said...

Particle-Based Fluid Simulation for Interactive Applications:
I'm not sure I really got anything out of this paper. A big chunk of it ended up just turning to a haze of summations and upside down triangles. Really it is hard for me to find much excitement in all of this simulation stuff. The parts that I did find interesting were unfortunately extremely short, these being sections 3.5-4.2. I've never seen point splatting before and I'd like to know more about it. I've seen marching cubes used in other things and it was interesting to see their application of it.

Unknown said...

Does anyone else get annoyed at pseudocode sometimes? Sometimes the way authors choose to "simplify" their real code makes it more confusing to me.

I would like to see their "hello world" water algorithm in use somewhere. I would like to know more about what its limitations are too.

The particle portion seemed to be a lot of repetition of things we've seen in other papers (thought probably explained better).

Stuart Heinrich said...

The paper seemed like a very straightforward application of an n-body particle simulation. The authors seemed to present their work as "new" however all their techniques seem to be existing techniques already used in the literature. I find the unique kernels they derived to be highly is well known that a gaussian type kernel is superior to all other kernels for smoothing purposes, and therefore it seems to me that this should have been used for smoothing the velocity field as well as aggregating pressure support. It also seemed weird that they centered the kernel at the geometric mean between particles in order to make pressure symmetric -- why should pressure be the same for 2 particles that are at different locations? The pictured derivative of Wpoly6 in the figure doesn't look right to me. I find it surprising also that they achieved performance increase by storing copies of the particles in the grid. As they are accessing the same memory in the same order it seems to me that cache coherency should be the same. The only major difference is that when particles move between grid cells, more data needs to be copied, which takes time. Maybe if they didnt use all they funky home-brewed kernels the water wouldnt look so blobby?