Original Post
hi all. for my new project (some kind of virtual guidance system based on the concept of water flow) i need to implement a fluid solver with the following features: * stable * real-time and scalable for big covered fluid areas with reasonable resolution * insertable obstacles * controllable flow (via placeable drains/sinks) * more or less continous flow through the system, so that the dynamic system does not dampen too fast * 2d simulation might be enough, although extension to 3d would be nice i looked through a lot of papers (seems to be a real huge field of research), especially those of Jos Stam. his method/demo works quite fine, although the math is a bit heavy and i don't like the c-style code. somehow i failed at "porting" it to c++ because now the simulation doesn't dampen like the original. a GPU version (i.e. the version in the GPU Gems book) might be worth a shot too. anyhow, the things i am still wondering about are the scalability + performance (cpu- and memoryusage of Stam's version is proportional to the gridresolution), handling of obstacles (not implemented in Stam's version), the controlling of the fluid and the rendering of flow. controlling: seems to be implemented in Nick Foster's paper (in- and outfow gridcells), but i don't know if it really works out with Stam's stable solver. rendering: of course is the hardest part because it is not really defined yet. it should be more abstract/artistic. i don't want real-time caustics and realistic water surface rendering. it should be more of an blueish underwater view. so maybe some volumetric lighting + fog (like in submarine games) would help. i'm also thinking about some simple texture wobbling (like in quake). in many of the demos either ink/dye advection or texture advection is used to visualize the flow but maybe someone has another better idea ... ?! so, hopefully somebody can point me into a proper direction or provide some helpful resources. any help is appreciated. thx!