Case study

Zibra VDB Test

The first thing is that Zibra VDB has amazing compression technology. It really does allow you to play back VDBs in Unreal, and if they aren’t too heavy, it’ll play back in Real-Time.

What I’m mostly interested in though is offline rendering and reducing the load on a VFX studio’s network. The issue with this though is that it looks like decompressing the VDB uses the graphics card. Most render blades don’t have a dedicated graphics card, so this is something your facility would have to really test before you decide to go all in on this.

It would be good to offer up a CPU fallback option if a graphics card wasn’t available. The other shortcomings like not currently being able to encode vector fields is not a huge deal.

While playing with VDBs in Unreal is fun, nothing compares to having them render with all the nice volume bounces we get in a dedicated pathtracer. Here’s a test render I did in Houdini using their Karma renderer.

Compare that to what you get with the limited realtime rendering

Of course, one was pretty much Realtime, while the Pathtraced version took me almost a day to render. Here’s a direct comparison:

For this test I used EmberGen for the sim. The main reason was just down to speed and fun. I know I can get more details using Houdini or Axiom, but there’s something fun about just playing around with EmberGen and iterating again and again.

I do miss out on Houdini’s nice Disturbance shaping tools, and you have limited emitter noise options in EmberGen, but it’s fast and fun to use.

I didn’t bother with doing any pathtracing inside Unreal for this. While it’s technically possible, things got SUPER slow once I turned on that capability. So it’s technically possible but I wouldn’t recommend it, at least, with the heavy VDBs I was using.