Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
The wow of water rendering (vimeo.com)
113 points by steinsiv on April 14, 2015 | hide | past | favorite | 33 comments


Does anyone know if this accurate when compared with observations of flows at this scale? It certainly looks realistic, but I wonder if that's "just" a trick of the eye rather than it accurately reproducing the processes which generate these patterns.


The truth about all flow and especially turbulence is that it is not hard to make it look convincing to the human eye. Capturing the motion on various length scales and presenting it in a plausible way is not all that computationally intensive (the algorithms to make them can still of course be challenging). Making simulations that are numerically correct, however, is incredibly computational intensive (in addition to being algorithmically complex). This is why CFD is still run on massive clusters for transient simulations. There is also a whole field in itself for "sub-grid" turbulence models that allow for the spatial resolution of a simulation to remain coarser than the Kolmogorov microscales (https://en.wikipedia.org/wiki/Kolmogorov_microscales). (As a side note, Kolmogorov was a true polymath/genius in areas outside information theory and complexity theory.) Cutting edge basic research on turbulence will perform calculations at such scales (direct numerical simulation). Suffice it to say, most graphics work does not waste too many cycles on physical accuracy. Hard to know for sure, but since the video has words "cinema" and "rendering" in the description as opposed to "simulation", it is probably just realistic enough to pass muster in terms of human perception. Also accurately simulating the formation of foam requires a two-phase simulation of both gas and liquid as well as considering cohesive forces.


Small nitpick... my understanding is that these simulations are numerically correct- they are, however, numerical approximations to simplified versions of the Navier-Stokes equations. So the mathematical equations are incorrect in that they do not accurately model parts of physical phenomena they represent. They are accurate enough if your objective is to create pretty (moving) pictures. They are not accurate enough if your objective is to determine forces on objects.


Point well taken. They are not numerically unstable in the sense that the term is most often used with ill conditioned matrices or floating point weirdness, but yes, they are significantly oversimplified and will not converge with reality if you measure them by a meaningful metric.


Excuse my curiosity- do you work in CFD? I did quite a bit of CFD work for my degree- then I made the mistake of becoming a programmer :).


I worked for a CFD HPC company for about two years doing a mix of traditional engineering and programming, and I realized that I like programming and learning about computer architecture way more than the mechanics. So I went back to school for CS/CE and just like you fell into the trap!


Great, thanks for the reply.

I do hydrodynamic modelling at work but on much larger scales (hundreds of metres to tens of kilometres - with FVCOM (http://fvcom.smast.umassd.edu) in particular) and the turbulence is handled by sub grid scale parameterisations, like you say (in my case, the model used is GOTM: http://www.gotm.net). I wasn't sure if these renders were using the same techniques or were pretty animations which looked OK.


Small world, I used to work for an industrial CFD company, and one of my tasks was estimating the computational effort required for a given simulation (which depended on the specific characteristics of our turbulence model). I was mostly doing compressible work, too, so my knowledge of hydrodynamic models used in cinema is not super detailed. I do know, however, that most cinema software uses particle based simulation for incompressible flow, which really is not a terrible approximation, but it probably would not be suitable for the kind of work you are doing!


It's simulated with Adobe After Effects; I would think it's probably broadly accurate, and uses some form of the underlying physics (Navier-Stokes equation) to produce the simulation. In that sense it's reproducing the processes which generate these patterns, as opposed to purely faking it by e.g. playing around with Fourier series to get things which look like waves.

But there's no way it gets the detailed physics right (kinetic energy spectrum, detailed free-surface position) - that's a research-grade problem requiring massive amounts of computer time.


Nitpick - it was composited in AfterEffects, it was simulated in Cinema4D and rendered in VRay.


Pretty big distinction actually!


The render box is 27m x 12m, to my eye it looks like the box is about 3m X 1.5m from the size of the waves and how the water moves.

For me, it looks really fake. The swirls of water look more like smoke than water and the droplets splashing around look really gloopy almost like jam. Not to take anything away from the render, it is amazing.


I don't know if the footage is at normal speed, it looks slightly slowed down to me, which would impart a sort of gloopy feel to the water. I wonder if speeding up the playback rate would increase the realism.

edit: OK, I downloaded it with youtube-dl and sped the playback rate up to 2.5x and the water looks more realistic with a faster rate.

edit2: I sped up the video and uploaded it back up to vimeo.

https://vimeo.com/124913873


Look at the very end at the water pooling in the concave of the rock. It still looks gloopy and jammy, despite the faster speed.


Masi Oka mentioned this consideration very briefly in regard to when he was at IL&M, not very informative but gives a sense of what they tried to achieve there.

https://youtu.be/P4e-s-lfx7k?t=42s


I can't help but feel the water in nearly all simulations I see is more viscous than water in real life, it looks more sticky and solid to my eyes.

It still looks amazing and quite convincing though.


This may be because the viscous effects are not modelled or not modelled correctly in order to simplify solving the governing equations for fluid flow numerically. I'm not sure if these effects or the absence of them would be visible to the naked eye.


That's probably because the particles in the simulation are orders of magnitude larger than real life water molecules. A lot of the tech goes into compensating for this, but there's only so much that can be done.


To be fair, this also seems to be running a bit slowed down.


Incredible!

The only thing that seems to be missing is the movement of sand as water sloshes over it. But I guess it would be more difficult to simulate tiny solid particles suspended in turbulent water. For now, let's just say that this beach is made of cardboard :p


The sand looks like simple geometry at the moment, I imagine it could be (relatively) easily implemented as a second particle type as part of the same simulation. The granularity of sand makes it pretty similar to liquid, it would just need adjusted properties (weight, friction, appearance)


>The granularity of sand makes it pretty similar to liquid

Sand behaves much differently than liquid. The friction between sand grains is not like viscosity and it lacks surface tension too. I don't know any continuous model that describes the movement of sand similar to Navier-Stokes for liquid.


I lost touch with the CGI industry, but sidefx latest release of houdini includes a dry and wet sand (snow, ...) simulator.

https://www.sidefx.com/index.php?option=com_content&task=vie...

They used to be on the fore front of this kind of R&D, so I guess it's pretty state of the art (as a CGI package of course).


Beautiful bit of rendering.

Does anyone have any estimates as to how far we are from having this rendered realtime?


Difficult to estimate as there are always optimizations which can make real-time rendering orders of magnitude faster, for almost the same work.

But naively this is 30 min per frame render time, which is 1800 sec, wanna get that down to about 1/25th of a sec, that's a 45000x improvement in computation required. How long will that take? Well assuming GPU's get twice as fast every year, then it will take still 16-17 years! Luckily we have those shortcuts.

However it's possible we may have a quantum leap in computer performance if the new Memristor architecture ever takes off, which could speed things up.


Nvidia's next architecture (Pascal?) will move GPU memory into the same package as the GPU itself, giving an instant ~3x boost.

http://blogs.nvidia.com/blog/2014/03/25/gpu-roadmap-pascal/


This was at Nvidia GTC 2013: https://www.youtube.com/watch?v=4d8-sBVkZJY

My guess is that the ray tracing used in the post above is equally time consuming as (if not more than) the fluid simulation.


Wow, almost as good looking but no caustics and other ray-traced niceties. Still, 15fps


when i look at it, it looks "fake"... I couldn't really describe why, until I saw the foam from 2 waves collide between the rocks at 0:20. The foam shifts down the screen (perpendicular to the two waves).

Funny how the brain can perceive "issues" without being consciously aware of them.


How much time did this take to simulate and render, and on how many machines?


according to a comment on the video, 12.5 days, not clear how many machines.


Ah thanks, I was watching with the sound turned off :)


FWIW jstr was referring to the text comments below the video. There is other info there too about e.g. rendering settings.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: