Cvex Volume Procedural vs OpenVDB Rendering

   7837   6   2
User Avatar
Member
133 posts
Joined: July 2005
Offline
Hi Guys:

I've been mulling over the pros & cons of using vdb vs cvex vol procedural for rendering a field of thin mist in mantra pbr. Although sparse volumes are very fast to generate, I wonder if a cvex/vol procedural setup would yield better detail, since the noise is sampled at rendertime and is only limited by step size. Also, does anyone know if rendertimes are faster with a procedural?

Thanks in advance!
Francisco Rodriguez
Effects Animator | Walt Disney Animation Studios
User Avatar
Member
304 posts
Joined: May 2007
Offline
I don't think so , if they have the same detail.

i'm working on a shot about in the cloud , need much detail, pbr is necessary .but the render time about cevx volume with pbr is unimaginable!
https://vimeo.com/user3971456/videos [vimeo.com]
User Avatar
Member
19 posts
Joined: June 2013
Offline
fxrod
Hi Guys:

I've been mulling over the pros & cons of using vdb vs cvex vol procedural for rendering a field of thin mist in mantra pbr. Although sparse volumes are very fast to generate, I wonder if a cvex/vol procedural setup would yield better detail, since the noise is sampled at rendertime and is only limited by step size. Also, does anyone know if rendertimes are faster with a procedural?

Thanks in advance!

In your case
VDB = cached volume procedural.
in general VDB = calc once,vex volume proc = calc every frame,so vdb must faster than vex a lot?
These two use both octree accelerating structure.
Vex volume procedural's parm “Octree” need about 256 in my experience,a 2k pic can takes only 1min(Vex v proc) in my experience.
But VDB slower than vex v proc in the same detail. i think maybe that is bcz the contents you rendered are not continuous. :roll:
User Avatar
Member
133 posts
Joined: July 2005
Offline
Hi Xiaolin:

I intend on there being some time-dependent noise in my volume, so the volume would have to be calculated per frame either way. As far as detail, I would have to regenerate the vdb if I wanted to add more voxel detail, vs cvex, where I can simply use a more refined volume step size to capture the noise detail.

Still, aesthetically, that amount of detail may be negligible and I'd get better bang for my buck with the speedier solution, which ever that turns out to be.

Also, vdb does not use an octree structure. :wink:
Francisco Rodriguez
Effects Animator | Walt Disney Animation Studios
User Avatar
Member
339 posts
Joined: Aug. 2007
Offline
Hey Frankie,
I think the best of both worlds is to use the same code in a Volume VOP and the surface shader. The SOP generated volume can be low res and it will act as a cacheable shading bound for your shader detail. Small changes in noise shouldn't require you to regenerate the cache either. It's not as elegant as using one or the other but I think it is the most efficient.
Jesse Erickson
Fx Animator
WDAS
User Avatar
Member
19 posts
Joined: June 2013
Offline
fxrod
Hi Xiaolin:
Also, vdb does not use an octree structure. :wink:

Ah, i thought it was a impl of sparse voxel octree. can you tell what acc structure it actually used?BVH?
Also,i think might this case vex v proc always faster than vdb.
and flexible use micropoly engine to get the same blurry effect.
User Avatar
Member
8753 posts
Joined: July 2007
Offline
you can always test speed for your case and consider for yourself

and remember you can use CVEX Volume Procedural with VDB volumes
Tomas Slancik
FX Supervisor
Method Studios, NY
  • Quick Links