View profile for Sergey Haritonov

Houdini Generalist | FX TD

Weekly Houdini Tip #3 - Whitewater rendering with Karma XPU For many years, the standard way of rendering whitewater in Houdini has been using the traditional Mantra renderer. Mantra is capable of producing a highly accurate, volumetric "wet" look that closely resembles real whitewater. However, Mantra is now becoming outdated and is being replaced because of its slow performance. As a result, it's important to explore alternative methods for rendering whitewater using Houdini’s modern, fast, and efficient built-in renderer, which is Karma XPU. While Karma XPU cannot interpret the legacy Whitewater shader from the Material Palette (since that shader is built with VEX nodes, which Karma XPU does not support), there are still several viable approaches to achieving a visually acceptable whitewater look using MaterialX-based workflows. 1. Rendering Whitewater points as particles - Adjust the pscale of your whitewater points to keep them small enough for rendering. - Apply a MaterialX Standard Surface shader to the WW points, they will be rendered as small spheres by default - Set Specular Roughness to a low value for a wet, shiny look. - Optionally tweak Transmission, Opacity or add color (you can use the Cd attribute from your points with the "MtlX Geometry Property Value" node) - This is the fastest method - on my machine, a full HD frame rendered in under 1 minute using Karma XPU. 2. Rendering Whitewater as a volume - Convert your whitewater points to a volume using nodes like "Volume Rasterize Particles", "Volume Rasterize Attributes", "VDB from Particles" - Apply a "Karma Uniform Volume" or "Karma Pyro material" and adjust Density and Shadow Density - This method takes longer to render, about 5 minutes per frame in my tests, but gives a softer, more mist-like result. 3. Combining Particle and Volume renders in comp - Volume rendering alone lacks specular highlights, so it can appear flat or dry. - To restore wetness, render the whitewater both as A) Volume for body/mist, and as B) Particles for specular highlights. - In compositing, layer the speculars from the particle pass over the volume pass. This blended result can closely match the look of the classic Mantra whitewater shader. It would be great if future Houdini releases include a ready-made Whitewater material using MaterialX nodes, that will be fully compatible with Karma XPU. If you’re aware of a better method for rendering whitewater with Karma XPU, or if I missed something, let me know in the comments. . . . #houdini #karma #sidefx #whitewater #sidefxhoudini #fx #fxartist #simualtion #flip #fluids #water #materialx #xpu #rnd #vfx #flipsimulation #tutorial #particles #volume #solaris #lops

Lewis Taylor

Cosmic Dino Studio2K followers

10mo

You can take a look at frustum rasterizing, which shifts the volumes you make out of particles to be in frustum space, not Cartesian. This means different voxel res along XY, and Z being camera depth, as opacity stacks you don't need the same level of resolution. This will reduce the VDB cache by a lot, enabling higher detail volumes to be used. I don't really like the two pass rendering approach, the method used in Mantra, where the gradient of an SDF can be the input to a spec layer, that is layered over the volume is the best approach. This is currently missing from Karma, but not for too long....

Milos Brakus

Argos Multilingual1K followers

10mo

Love this! Can you share pc specs and sim time? 😄

Argenis Santos

Ollin VFX912 followers

10mo

I’m currently looking for a method that works better for Karma XPU — I’ll let you know if I manage to find one.

Lewis Taylor

Cosmic Dino Studio2K followers

10mo

It would be remiss of me to not mention, that 3Delight has specular ref on volumes built into it's volume shader. You don't even need to supply a gradient SDF, it makes one on the fly in memory, and has control for SDF smoothing, and overcranking the specular energy response.

Michael Stark

Ingenuity Studios, LLC1K followers

9mo

This was the bane of my existence for awhile. I came across a solution by accident when I applied a standard MtlX surface to a volume. This is not dialed in any meaningful way, but it gets the point across. Not sure how big the image is, but like the old way, calculate the gradient>normalize - use that as your N. To control the density, use a remap into a color gradient. The Cd eases out the volume so you aren't looking at 100% pure dense voxels. Works with CPU not XPU. For context, the Toy on the left is the standard Toy, the one on the right is a volume with specular. I hope this helps someone.

  • No alternative text description for this image
Badejo Olatuiyi

m778 Nigeria1K followers

10mo

Beautiful 😍

Tiago Adloff

Freelance2K followers

9mo

Old but gold, I used the almost same technique using Mantra on my first water large sim. Cheers!

Like
Reply
Razvan Flore

rendersnek121 followers

10mo

I think we just got a glimpse of something that could be added in H21😃

Timothy Huerta

United States Army Reserve541 followers

9mo

Great flip simulation, especially with the whitewater

Like
Reply
Honey Khadem

Digital Domain3K followers

8mo

Love it

See more comments

To view or add a comment, sign in

Explore content categories