digitallysane Posted July 29, 2008 Share Posted July 29, 2008 http://www.cs.cornell.edu/~tedkim/WTURB/ We present a novel wavelet method for the simulation of fluids at high spatial resolution. The algorithm enables large- and small-scale detail to be edited separately, allowing high-resolution detail to be added as a post-processing step. Instead of solving the Navier-Stokes equations over a highly refined mesh, we use the wavelet decomposition of a low-resolution simulation to determine the location and energy characteristics of missing high-frequency components. We then synthesize these missing components using a novel incompressible turbulence function, and provide a method to maintain the temporal coherence of the resulting structures. There is no linear system to solve, so the method parallelizes trivially and requires only a few auxiliary arrays. The method guarantees that the new frequencies will not interfere with existing frequencies, allowing animators to set up a low resolution simulation quickly and later add details without changing the overall fluid motion. Quote Link to comment Share on other sites More sharing options...
Mario Marengo Posted July 29, 2008 Share Posted July 29, 2008 http://www.cs.cornell.edu/~tedkim/WTURB/ Very nice. Wavelets and multi-resolution methods are exploding everywhere you look, it seems: simulations, shading... Thanks for the link. Quote Link to comment Share on other sites More sharing options...
Guest xionmark Posted July 29, 2008 Share Posted July 29, 2008 http://www.cs.cornell.edu/~tedkim/WTURB/ Wow, cool! Thanks for posting this! Quote Link to comment Share on other sites More sharing options...
Moose Posted August 6, 2008 Share Posted August 6, 2008 (edited) The Journals look interesting today... is it the same thing? Edited August 6, 2008 by Moose Quote Link to comment Share on other sites More sharing options...
symek Posted August 6, 2008 Share Posted August 6, 2008 (edited) Very nice.Wavelets and multi-resolution methods are exploding everywhere you look, it seems: simulations, shading... Thanks for the link. It looks like taking Mario's examples with turbulence noise texture uv advected by low-res fluid sim combined with Ivan's Divergence-Free Noise , (and it does look great indeed ) Edited August 6, 2008 by SYmek Quote Link to comment Share on other sites More sharing options...
Jason Posted August 6, 2008 Share Posted August 6, 2008 The Journals look interesting today... is it the same thing? I hope so; very exciting to have more tools like this. I love having these microsolvers expose these functions...such a grand idea. Quote Link to comment Share on other sites More sharing options...
johner Posted August 18, 2008 Share Posted August 18, 2008 I hope so; very exciting to have more tools like this. I love having these microsolvers expose these functions...such a grand idea. Oh, I do hope that SESI is cooking up an implementation of this. It would fit perfectly into the current DOPS workflow, as all it needs as input is a velocity field and obstacle SDF, and it parallelizes very well. The authors have released source code as promised: Source code for Wavelet turbulence I haven't waded through it all yet, but I did add quick I3D export for the density and velocity fields (which produces massive files), cranked up the upsampling, amplification, to 10 and let Mantra rip through the files using the Image3d Volume Procedural and a stock "Basic Smoke" shader. (I can post this if anybody is interested) Attached are some frames. Animation here. The upsampled smoke with wavelet noise looks pretty darn good, IMHO, no noticeable smearing or "stalling" that you can get with render-time noise. Each frame took about 12 min to simulate, but I don't have gcc4.2 on my machine so I couldn't use OpenMP to get the parallelization working. That should scale down fairly linearly with number of cores according to the paper. Numbers to upsample to 480x640x480, render at 480x960: 12min / frame post-process (single processor) ~4GB mem used 290MB i3d file for density only (velocity files are huge, didn't try at this res) 80 sec/frame render ~250MB mem used for render :thumbsup: 4 cores of AMD-64 2200 Quote Link to comment Share on other sites More sharing options...
Guest xionmark Posted August 18, 2008 Share Posted August 18, 2008 Very nice!!! Quote Link to comment Share on other sites More sharing options...
dan_j Posted August 18, 2008 Share Posted August 18, 2008 Wow, thats really sweet. Bye bye fume fx! Quote Link to comment Share on other sites More sharing options...
hoknamahn Posted August 18, 2008 Share Posted August 18, 2008 Looks like first "proper" rendering of volumetrics made in Houdini Awesome Quote Link to comment Share on other sites More sharing options...
jason_slab Posted August 18, 2008 Share Posted August 18, 2008 now that's cool, yes really hope SESi is looking at this! jason Quote Link to comment Share on other sites More sharing options...
Guest Swann Posted August 18, 2008 Share Posted August 18, 2008 !!!! Nice ! Quote Link to comment Share on other sites More sharing options...
digitallysane Posted August 18, 2008 Author Share Posted August 18, 2008 (I can post this if anybody is interested) EVERYBODY is interested. What are you waiting for. Dragos Quote Link to comment Share on other sites More sharing options...
vmuriel Posted August 18, 2008 Share Posted August 18, 2008 ... but I don't have gcc4.2 on my machine so I couldn't use OpenMP to get the parallelization working. That should scale down fairly linearly with number of cores according to the paper. I have compiled it with gcc 4.2 (OpenMP) in a Ubuntu 7.10 x86_64 using Intel Quad Core. I can send you the exe file if you want it. Quote Link to comment Share on other sites More sharing options...
Jeff Lait Posted August 18, 2008 Share Posted August 18, 2008 Using a few simplifying assumptions: Perlin Noise instead of Wavelet Noise Curl Magnitude instead of Wavelet Energy you can build this in 9.5. Details will be at the end of the Houdini 9.5 Master Class, which should show up on our website some day soon. (Apologies for my poor art direction) tridudesmoke_A.avi tridudesmoke_F.avi Quote Link to comment Share on other sites More sharing options...
hoknamahn Posted August 18, 2008 Share Posted August 18, 2008 What a wonderful day! Coooooool. Quote Link to comment Share on other sites More sharing options...
Guest xionmark Posted August 18, 2008 Share Posted August 18, 2008 Using a few simplifying assumptions:Perlin Noise instead of Wavelet Noise Curl Magnitude instead of Wavelet Energy you can build this in 9.5. Details will be at the end of the Houdini 9.5 Master Class, which should show up on our website some day soon. (Apologies for my poor art direction) Splendid Jeff! Thanks! Quote Link to comment Share on other sites More sharing options...
digitallysane Posted August 18, 2008 Author Share Posted August 18, 2008 In rapture. Quote Link to comment Share on other sites More sharing options...
johner Posted August 18, 2008 Share Posted August 18, 2008 EVERYBODY is interested.What are you waiting for. Well, now what I really want is Jeff's MasterClass files (knew I shoulda gone to SIGGRAPH this year ) In the meantime, attached is the source code. There's a short README in there about code changes and building. The Makefile.Linux should work under Linux-64, but there's also a short file with the command for building with hcustom, which should hopefully work on some other platforms. wavelet_turbulence.tar.gz I have compiled it with gcc 4.2 (OpenMP) in a Ubuntu 7.10 x86_64 using Intel Quad Core.I can send you the exe file if you want it. Many thanks, but I don't have any of the 4.2 or OpenMP dynamic libraries either, so I think it would end up being a mess. One thing I am curious about, however. Did you happen to compare run time with and without the OpenMP parallelization? Does it scale as well as the authors suggest? Thanks Quote Link to comment Share on other sites More sharing options...
vmuriel Posted August 18, 2008 Share Posted August 18, 2008 (edited) One thing I am curious about, however. Did you happen to compare run time with and without the OpenMP parallelization? Does it scale as well as the authors suggest?Thanks Without OpenMP, only 25% of QUAD used ... obviously. With OpenMP, the cpu use range is between 25% and 65%, but more time near to 25. ... As an image says more than words, see the attachment. Conclusion, only few stages of the simulation are multithreaded. . Edited August 18, 2008 by vmuriel Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.