Real-Time Fluid Simulations using DST/DCT
Thursday, September 17, 2009 at 3:45AM Wow. Work's been crazy so I'm a few days late posting this. Also got into some artwork and put the math aside for a few days. Here's the paper I've been reading though finally, Real-Time Fluid Simulation Using Discrete Sine/Cosine Transforms. I always like it when people go a different route than sicking to good old Navier-Stokes. So basically this paper is about using DST/DCT's to govern how things should move about rather than the Fourier method. The Fourier method suffers from wrap-around, which can causes boundary conditions to not be naturally available, making the simulation have some visual problems.
Some of my favorite things about this paper are the use of a viscosity term which helps with the multiple interaction of liquids, destiny dissipation and surface tension. If they could work in a pressure term too that would really make this a complete package. However, the pressure term would introduce many other issues with the equations and the majority of the flow, when you include and consider pressure is governed by the pressure term. With a basic understanding of vector math and physics the math is pretty easy to follow too. A minor issue I had which is more of an issue I have with CFD is the use of the term "Real-Time." This is extremely broad, and which respect to games, real-time roughly 30-60 fps for the scene to render. This included meshes, lighting, AI, and in this case fluids. Because of this fact, for gaming applications, this method would have to be tweaked as the fastest time they get to render just the fluid isn't even 30 fps in simulation time. One quick modification would be to ignore the surface tension term and use height fields when the fluid is too far away, or is so stable that it can easily be approximated with a height field. I wish real-time mean, < 10 ms per update step. However, I don't think we'll see pretty CFD sims in game for a cost of < 10 ms anytime soon. Maybe we have it already though. If anyone knows of a paper where they achieve this, or a game, let me know as I'm very interested in this.
That's it for today. Hopefully tomorrow I'll talk about Real-Time Caustics from Height Fields. Good stuff. Feel free to leave any questions or comments below.