Reddit reviews Fluid Simulation for Computer Graphics
We found 2 Reddit comments about Fluid Simulation for Computer Graphics. Here are the top ones, ranked by their Reddit score.
We found 2 Reddit comments about Fluid Simulation for Computer Graphics. Here are the top ones, ranked by their Reddit score.
No problem.
A solid understanding of python & logic also helps, but 90% of the dicking around you'll be doing will be in VEX, which is pretty much just vector math.
The handy thing about Houdini is that geometry operators and shaders are both written in the same language, so you can prototype operations in SOPs and then copy/paste the code/VOPs to the shader context and as long as you remember to handle the space transforms (shaders default to camera space, SOPs default to object space) everything just works.
This masterclass on fluid solvers is fantastic, it's what made DOPs really click for me, this is a good example of the math;
https://vimeo.com/42988999
Other books worth reading;
https://www.amazon.com/Fluid-Simulation-Computer-Graphics-Second/dp/1482232839/ref=sr_1_1?s=books&ie=UTF8&qid=1480804002&sr=1-1&keywords=fluid+simulation+for+computer+graphics+second+edition - full explanation of how fluid solvers work internally, probably overkill for most artists, but helpful if you want to break things, namely FLIP & Pyro.
https://www.amazon.com/Advanced-RenderMan-Creating-Pictures-Kaufmann/dp/1558606181 (this is quite old and deals solely with the old REYES algorithm, but contains a lot of information on how renderers work internally and a lot of it applies to VEX, which was designed to be very similar to RSL).
https://www.amazon.com/Physically-Based-Rendering-Third-Implementation/dp/0128006455/ref=sr_1_1?s=books&ie=UTF8&qid=1480803895&sr=1-1&keywords=physically+based+rendering This is an explanation of the workings of physically based renderers, but it's quite heavy going.
Of course!
As I mentioned above, my team's job is to maintain proprietary software specifically for our visual effects artists. I'm specifically working on our "gas solver", which is probably exactly what you expect it to be: a solver designed for simulating gas. To be more technical, it's an incompressible Navier-Stokes solver, so it can actually be used not only for gas, but for dust, vapor, smoke, fire (think fluids) - anything whose math can be described by incompressible NS. However, liquids don't fall under this category because of a few mathematical details, the simplest of which is that fluids are first discretized into particles, whereas gasses are represented by a continuous density.
​
If you're curious about the math behind this specifically, you can easily find a ton of papers about this topic. Or, if you're interested, the go-to textbook for this kind of work is https://www.amazon.com/Simulation-Computer-Graphics-Robert-Bridson/dp/1482232839.
​
Hence, someone working my position would need to understand numerical PDE solvers (different types, stability, convergence, complexity/cost), numerical linear algebra (the projection solve of the NS equations is an expensive Poisson solve), and CS. Under "CS" for me, it's required that I know C++, a working knowledge of Python, git, parallelization, etc - all the pretty standard things you'd expect a software engineer to know.
​
What I just described was only my project. Development of other software for simulating other physical phenomenon would require an understanding of very different equations and possibly different aspects of numerical analysis. I've included a few links to papers that are of interest to people on my team:
​
https://www.seas.upenn.edu/~cffjiang/research/cloth/paper.pdf
https://disney-animation.s3.amazonaws.com/uploads/production/publication_asset/146/asset/splash_v12.pdf
​
​
​