Deborah R. Fowler

Houdini Karma Shading Examples

Posted Jan 25 2025Updated April 12 2026
General Principles CPU vs XPU

In Karma CPU you can use both the Principled Shader and MaterialX; however, in Karma XPU, only MaterialX is fully supported.

General shading principles still apply as described on the overview of shading page. For example, you still require proper UVs for textures to map correctly to your objects.

See also Textures in Karma for more examples related to image textures and noise.

MaterialX Examples HIP Files

There are many free shaders accessible via the Material Linker that can be used from either the standard catalog or AMD catalog (click the gearbox in Houdini 20+). The examples below focus on tweaking these materials. See also the Karma and Houdini quick start video for an overview.

Color Variation

Only a Single Mesh in Solaris? Groups & Packing

When you only have a single mesh coming into Solaris, use groups and packing to bring pieces in as separate prims so you can assign materials per part. These solutions work for principled shaders as well as MaterialX.

You can also use groups in the pack version for easier identification of parts instead of "obj1" or "mesh0". Wildcards are introduced in the splat file along with component-builder.

USD Format Structure Reference
hiplcexampleUSDMaterialX.hiplc
To help understand the underlying structure of USD materials, I referenced some of the files that are in the install from when Karma was in 19.0.383. Those materials have been consolidated into one usd file, however they are still accessible in C:\Program Files\Side Effects Software\Houdini 20.5.278\houdini\materialx_resources\Materials\Examples\StandardSurface and pulled them in using a file node and assigned with assign material node MaterialX structure in USD

Looking at standard_surface_glass.mtlx gives a better idea of how these shaders are stored in USD format:

Glass Example USD
Editing Properties Solaris Workflow
hiplcexampleEditMaterialProperties.hiplc

In Solaris, you can use an Edit Material Properties node to adjust parameters on your shader.

Pro Tip: An even easier way is to use VEX inside the Assign Material node to perform overrides.
VEX Override Example
↑ Back to top