Rendering with Karma XPU (materialX) in Houdini

Rendering with Karma XPU (materialX)

XPU requires materialX shaders for rendering, instead of VEX based shaders (i.e. principled shader) create a new project in /obj context add some geo, lights and a cam

creating a simple material

go to /mat context add Mtlx Standard Surface node (it's similar to redshift's rs_material or principled shader) add Mtlx Image node and select a texture image here (it's similar to redshift's rs_texture node) feed it into Base-color of Mtlx Standard Surface node (for more detailed materials see: karma materials with normal and displacement maps (materialX))

assigning materials and

assign the new materials by adding material nodes inside the geo objects in /obj

create a stage in solaris

go to /stage context for each geo object, add a scene import node and set path to geo merge them with a merge node add scene import (cameras) node add scene import (materials) node add lights directly in stage context (or use scene import lights)

or use:

add sceneimport(all) node objects: *

creating IES lights

add spot light spot light options -> IES MAP

rendering the final image with karma

go to /stage context add karma node, this adds karma render settings and usdrender-rop nodes rendering engine: XPU Engine click Render to Mplay

adding dept of field

/obj -> camera -> sampling tab set very low f/stop: 0.1 add null node and name it focusnode /obj -> camera -> sampling tab -> focus field vlength(vtorigin(".","../focusnode")) karmarendersettings -> rendering tab -> camera effects tab enable depth of field

to preview DOF (depth of field):

change left scene view window (top dropdown) from obj to stage, (or add a new tab on top for stage) then set values on camera

increasing samples to remove noise

path traced samples: 512 or more rendering tab -> sampling tab and limits tab -> adjust here image output tab -> filter tab -> denoiser: NVIDIA

render previews

add new tab above 3d viewport -> viewers -> context view set drowndown to stage (set to karmaXPU)

set render preview from progressive to bucket (for karma CPU)

advanced tab -> buckets and caching -> image mode: bucket

see render progress, render scheduler

on top of network view -> click + new pane tab type: render scheduler

compositing, converting the exr file

go to /img context add imgage network and dive inside add File node and load the just rendered .exr add Rop File Output node Valid Frame Range: Render Current Frame Output Picture: $HIP/comp/final.png


Published: August, 2022