Jump to content
dpap

How does Bifrost's meshing compares with Houdini's ?

Recommended Posts

I know that you can render fluid sim without saving the mesh but there is still some meshing going on since the vdm volumes are turned into polygons.

 

How does this method compares with  "direct level-set rendering – where you produce an image without meshing at all, right in the shader "

 

By "compares" I mainly mean : Is it faster ?

 

Any info is welcomed  :)

 

Is there a Mantra shader that can do something like this?

 

Thanks!

 

 

 

 

 

 

CGC: But one of the cool things about Bifrost is that you don’t have to mesh at all, do you?

MN: Yes, there’s a direct level-set rendering shader for mental ray.

I’ve seen people make simulations of over 40-50 million particles in Maya using Bifrost, and when you mesh that, you can end up with an enormous number of triangles – [up to] 100 million triangles – and any 3D package, not just Maya, will have a hard time with that.

So if you get into those situations where you have a big sim, and have trouble dealing with the meshes, direct level-set rendering – where you produce an image without meshing at all, right in the shader – is a great way to render those images.

 

 

 

 taken from:

 

http://www.cgchannel.com/2014/03/bifrosts-marcus-nordenstam-on-next-gen-fluid-sims/

Share this post


Link to post
Share on other sites
Guest tar

volume rendering = level set rendering?

Share this post


Link to post
Share on other sites

I think if you use the "Volume Isosurface" and "Volume Density" rendering parameters you can instruct Mantra to render the "surface" sdf of a flip sim with any surface shader instead of a volume shader.

  • Like 1

Share this post


Link to post
Share on other sites

http://www.sidefx.com/docs/houdini13.0/props/mantra

 

 


 
vm_volumeiso

Rather than generating samples inside a volume, this setting will configure the renderer so that it automatically finds an isosurface of the volume density field and renders this as a surface. The vm_volumedensity parameter is used as a threshold to control the isosurface density threshold. You should use an ordinary surface shader when rendering volumes with this setting enabled - not a volume rendering surface shader.

By default, the isosurface is found by ray marching through the volume to find points where the threshold density is crossed. This means that to improve render accuracy, you can increase the vm_volumequality parameter. Some volume types use a native accelerated isosurface search technique in which case the volume quality is ignored and the isosurface is determined analytically for that particular type of volume. VDB volumes, for example, use this analytic isosurface rendering approach. The vm_volumeisodefault parameter can be used to disable this native intersection algorithm.

 

  • Like 1

Share this post


Link to post
Share on other sites

Thank you guys!

 

A lot of stuff to read so I'll first do my homework and then post back.

Share this post


Link to post
Share on other sites

IMO this step of meshing should be totally erase from our FX task ! :)

- meshing generate huge amount of geo sometimes more that 3GB / frame

- when working in company that has average servers writting such massive data really slow all the network

- meshing take a lot of time in itself

- Often the lighting guys ask you to put your huge geo inside maya (and this is when you start to cry ...)

 

That's why i really love maxwell you can do

- your sim directly

- bake your particles to .bin directly 

- render them with meshing at rendertime , with better managment of per point info

http://support.nextlimit.com/display/mxdocsv3/Maxwell+Mesher

 

add some physicall shader + physicall Motion blur and you start to get really cool renders !

 

Only big cons is that you loose all the control you can have in SOP , especially for clean cosmetics dope where VDB shines.

 

my 2 out of topics cents !

Edited by sebkaine

Share this post


Link to post
Share on other sites

You can render (hide the bifrost node) to view the mesh in the render view, but I what thing that's very cool is that you can perform an alembic export, then bring

that in as a gpucache which really speeds up the process, because you're using your gpu to do the work. You can hop to any frame instantly, and even scrub the timeline with a massive mesh (if you have a 4gb or more video card). This is what I noticed anyway. For the final output, render the mesh instead of the voxel's isosurface because the Bifrost Meshing attributes provide extra control over the liquid surface. Much easier to use and faster then Houdini Flip Fluid's, but it depends on what kind of project you're working on... 

Share this post


Link to post
Share on other sites
Guest tar

 Much easier to use and faster then Houdini Flip Fluid's, but it depends on what kind of project you're working on... 

 

Which bit is faster and easier? i.e the viewport interaction or the simulation time.

 

Thanks!

Share this post


Link to post
Share on other sites

Well for one, working with channels is much easier. It's more for the generalist the way it's set up. The velocity and vorticity channels are always there to transfer to the mesh or extract and render into separate passes using the surface shader... simple to setup in the node editor for that or even in the attribute editor. You don't have to go about setting up a complex array of nodes to do this. Naiad.. eh excuse me.. bifrost ;) can sim a similar voxel res. of points faster than houdini, and it's actually much more enjoyable because the process will automatically run in the background while you change parameters or do something else in Maya (and you have control over this) which is called the scratch cache. It's all setup in a easy to use compact interface. All the things everyone wanted to do, like Igor Zanic did (and much thanks to him for helping with the Bifrost project) can be done with ease now... it's all there man. Very compact efficient fluid solver. If you're doing some serious fluid solving, you need a graphics card with 3+ gigs of ram to take advantage of somethings. 

 Here's a quote:

 

MN: The GPU is involved in visualising the data, but not in the actual compute. [There is support] for drawing the level sets directly in the viewport and also new particle displays that can handle far more particles than Maya could before. A lot of that goes hand in hand with Viewport 2.0. Although a lot of the particle and level-set draw [work] came from our team, it really is relying on the general framework of Viewport 2.0. 

 

 

For instance, point display, gpucache imported in from alembic export for displaying a massive mesh and play @ realtime (this is a must to bypass maya's bottleneck)... anyway watch this video if you haven't seen it yet >>> 

I'm in no means an expert, but Bifrost has really helped me understand somethings that I couldn't figure out in Houdini, but now I can go back into Houdini and understand the workflow now. Another thing is the use of the texture deformer on the bifrostmesh... wow, does this work sweet. I just drop an ocean shader (or some other texture made from like hot ocean or something) and bam! Instant perfect displacement! I really loves this and it is integrated with Maya so well... esp. with Mental Ray renderer... and Arnold!

Edited by zinj
  • Like 1

Share this post


Link to post
Share on other sites
Guest tar

thanks for the video link, so Maya is the training tool for Houdini ;)

 

Out of interest what keeps you coming back to Houdini then?

Share this post


Link to post
Share on other sites

Nothing that can't be done in Houdini, but the emphasis on interactivity and display quality is impressive as usual.

Share this post


Link to post
Share on other sites

thanks for the video link, so Maya is the training tool for Houdini ;)

 

Out of interest what keeps you coming back to Houdini then?

Houdini does many things Maya doesn't do well, especially creating custom forces I learned. Also, there is no whitewater for Bifrost yet (but you can shade velocity and vorticity in main fluid sim very easy). I uses them both. Once i understand what Houdini is doing, it really gives me insight as to what's going on with the vector map and how it all works, but difficult to know at first. So bifrost help me understand all these things better like droplets, voxels, influencers... now I can do in Houdini and know what these thing will do. This in turn helps me more with Maya, cause I know what's going on behind the generalist approach; so it's a back and forth thing I guess. Houdini was difficult for me to understands because I'm rather stupid when it comes to that stuffs, but my heart it's in it :) Like I says, it depends on what you're trying to do. I don't care what package or packages you use, as long as you get the desired result in the end. Here's what I did in bifrost using a mac-mini only and little knowledge of the program so far > 

Oh, I get very much help from odforce with Houdini then any other forum it seems. The people are very good here and understand.

Edited by zinj

Share this post


Link to post
Share on other sites

Hey Diego!

 

Really informative posts, thanks!

 

For those who want to do something similar in Houdini check the tutorial below:

 

http://vimeo.com/73122303

 

I said to myself not to bother with Bifrost but you're making me have second thoughts  :)

 

.. there are some really sweet spots there: Easy workflow,Simulating in the background and Alembic GPU caching (can this be done in H13?)

 

The follow is also interesting:

 

https://www.youtube.com/watch?v=pDVW5oXQrqM

 

hmm... How can I get vorticity in Houdini flips?

Edited by dpap

Share this post


Link to post
Share on other sites

 

 

hmm... How can I get vorticity in Houdini flips?

 

Vorticity is just the curl of velocity. Add a vorticity field to your flip fluid, and compute the curl with a gas analysis node.

 

(BTW, I wonder why the volume analysis node in SOPs is lacking the curl and divergence operations..)

Share this post


Link to post
Share on other sites

You can compute Curl and Divergence of volume in SOPs with VDB Analysis SOP.

Share this post


Link to post
Share on other sites

naiad / bifrost sims always have a more stringy appearance due to the solver, this can make meshing a bit tricky but I think houdini is the way to go in terms of meshing naiad/bifrost sims. The speed / particle count of bifrost/naiad is still pretty significantly fast than flip in houdini, but houdini offers a lot more direct-ability.

Share this post


Link to post
Share on other sites

just assign any surface shader to it as mentioned properties are part of properties shader

or if you are using material shaders, just connect properties shader inside with mentioned properties, or apply those properties directly to object if you don't want them on the shader

  • Like 1

Share this post


Link to post
Share on other sites

Thanks Tomas, I got it !

 

I also did some some tests based on your scene, just to see how rendering times compare, if one chooses not to mesh his fluid particles and use the  volume isosurface rendering.

 

I am not totally sure but seems to me that with high particle counts there is no big difference because most of the processing time goes to 

the "vdb from particlefluid" node.

 

More over in low particle counts I got some shadow artifacts..see pic.

 

Anyway I think I'll stick to default way of rendering and meshing fluids.

 

If someone wants to play around with the test scene I used , check the attachment

 

 

 

meshing vs render vol isosurface .hip

post-9497-0-60085900-1397830663_thumb.jp

post-9497-0-53026400-1397830694_thumb.jp

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×