Houdini Resources

Updated on June 26  2024



Deborah R. Fowler



Karma and Houdini - highlighting Material X and Karma

Posted Oct 30  2021
Updated Aug 25  2024

Karma is the replacement for Mantra (as Mantra was not designed for USD files format). When discussing Karma, USD and Solaris should be mentioned.

This page will mainly focus on Karma. Karma provides both cpu and xpu (gpu) options. In Houdini 20/20.5 Karma xpu is no longer in beta, it is gold. Karma cpu is production ready. As I continue to explore Karma, specific notes will be kept here.

As Houdini moves from mantra to karma a new shader paradigm called MaterialX can be used. Karma will respect the principled shader for the most part. Alternatively you can use other renders such as Redshift (please see my section on Redshift)
TIP reminder use ctrl t to create another tab and pin it for easy access to network, shop, out etc.

Lighting in Karma

Texture Overrides in Karma


Material X

Supported in Houdini Karma now, originally developed at Lucasfilm and "released as open source in 2017 with Sony Pictures Imageworks, Pixar, Autodesk, Adobe and SideFX contributing to its ongoing development".

In Houdini 20, Karma has a material linker node that directly accesses AMD materials (click on the gearbox)

Sample file corresponding to the video overview of using Karma with Material X (and principled shader) on vimeo and https://youtu.be/Nj95b4ZCtMI


Using Karma
Entagma has an excellent short video to describe this process.
https://entagma.com/test-driving-houdini-19-karma-xpu-materialx-and-a-hidden-gem/

Below are my take home points from that video:
Karma rop in out context is great but can be unreliable updating (I have not had that experience now in 20). Karma in solaris/stage works.
New material X is standard - use it with Karma - will be supported by both Houdini and Unreal (going in, not coming out)
If you are transitioning from Mantra, you can still use the principled shader.

NOTE: xpu may not work depending on your graphics card AND drivers - be sure to install the NVIDIA GEFORCE Experience drivers (see troubleshooting tip)

NOTE: MaterialX will not work in Mantra, may not show in OpenGL. NOTE: As of Houdini 20.5, the default viewport is Vulkan (beta).

Material X is a set of well defined nodes (standard library, procedural and PBR - not written in vex/vops - so you can't dive inside). However you can use vops to join up the material nodes. So not only karma can be used with Material X - they get translated into USD. This means any render delegate that supports Material X will be able to work with these materials.

Material X is the USD for shaders.

WARNING: Currently XPU will not match the look of CPU - buyer beware (BRDF interpretations differ)

This was from 19.0.383, those materials have been consolidated into one usd file.

There are sample materials if you use a file node to access the material X folder.They are xml files that describe the material. Then use a material assign.
An example file exists exampleUSDMaterialX.hiplc

So for example, inside the standard_surface_glass.mtlx it will look like this:

To edit this in solaris, you can use an edit material network and edit material properties node to "layer" or adjust the values (currently I have not been able to get this fully functioning for the material network - investigating).In version 19.0.383 currently "Load" causes the material to disappear from the render.
Edit material properties works if you populate and then "set" or "set or create".

However, there is an even easier way, which is to override using vex snippets in the material assign node:

It will put a render into the folder that is in progress when you render to disk - not used to the progressive refinement yet ...

To be continued ...