Bottoms up with xpu

3 min read

Making a faux commercial in a powered-up Karma

In this latest installment of something I like to dub SideFX Snacks, I’m going to create a faux commercial around the new features in Houdini. This time we’re having a martini morph into a classic cocktail. Cheers! You can watch the sequence in the Houdini 20 teaser and launch presentation.

With Houdini 20, Karma XPU comes with a host of awesome new features and I tried to incorporate as many of these as possible into this sequence. For those of you that don’t know, Karma XPU is the hybrid flavour of Houdini’s render engine called Karma, using the available CPU and GPU resources. Features usually make their way into Karma CPU first and are later introduced into XPU.

With Houdini 20, we’re finally getting to a point where a lot of the must-have features are being implemented. In this tutorial, I’ll highlight a couple and how they were crucial in the creation of this piece.

01 DISPERSION

Ever wondered what light breaking into a whole rainbow of colours looks like if it shines through a gemstone? This is called dispersion. White light is made up of all the colours of the rainbow, however when it shines through a refractive surface, that light will often split into various different wavelengths of colour.

We’re able to emulate this effect within Karma XPU, simply by turning up the Dispersion slider under the Transmission tab of your MaterialX Standard Surface. Do note that a higher value means less dispersion, but at 0, the dispersion will be off completely.

Houdini 20’s gem The levels of light dispersion can be changed using the improved Karma XPU

02 NESTED DIELECTRICS

In version 20, Nested Dielectrics is now finally possible in Karma XPU. If you’re wondering to yourself exactly what that is, let me explain what it entails.

Imagine Nested Dielectrics kind of like render-time Booleans for refractive materials. Let’s picture a scenario where we have a glass of whisky with some ice cubes in it, as you can see below. The whisky penetrates the ice cubes and is simultaneously overlapping the glass. So how does the render engine know which material to pick?

With Nested Dielectrics, you can give priority to specific pieces of geometry. Nested Dielectrics in Houdini 20 is now configured through the Render Geometry settings, rather than done within the material like Houdini 19.5. The lower the priority number, the higher the priority. The image here depicts the difference between the ice having the highest priority set, versus it having the lowest priority value instead.