Houdini MDL shader

So we design a PDG network to update our huge scene, It will splite Scene to many area base on area attribute, The PDG network will auto update any change, but the biggest question is how to binding MDL shader to those USD.

So I wanna ask you guys have someway to binding MDL into USD?

I dont know how to compli MDL to houdini
My thinking is maybe somebody can make python script to binding MDL(I have not deep read USD api so i have no idea how to do that)

In houdini, you can use the python node in LOP to write to the MDL description. You’ll need to define a new shader and set the information from your principled shader to the MDL named inputs. Then when you open the USD in omniverse it’ll choose to use the OmniPBR shader instead of the USD preview shader. It’ll look like this in the .usda file:

def Shader “OmniPBR_surface”
{
uniform token info:implementationSource = “sourceAsset”
uniform asset info:mdl:sourceAsset = @OmniPBR.mdl@
uniform token info:mdl:sourceAsset:subIdentifier = “OmniPBR”
float inputs:bump_factor = 1
color3f inputs:diffuse_color_constant = (1, 1, 1)
asset inputs:diffuse_texture = @…/Textures/80462148_3.png@
float inputs:metallic_constant = 1
asset inputs:metallic_texture = @…/Textures/80462148_5_B.png@
float inputs:metallic_texture_influence = 1
asset inputs:normalmap_texture = @…/Textures/80462148_4.png@ (
colorSpace = “raw”
)
float inputs:reflection_roughness_constant = 1
float inputs:reflection_roughness_texture_influence = 1
asset inputs:reflectionroughness_texture = @…/Textures/80462148_5_G.png@
token outputs:out
}

I know that way can be work, but for quick iteration everyshot, I dont think binding shader one by one is a good idea.

for us, our pipline have too many item but six people. so I decide try to Build Houdini to omniverse pipline more closely

So. Planing make a New node for binding MDL shader, We have lots of Custom MDL shader, I will try to learn more about usd api.

Hey @Jiucao ,

Here is a node that allows you to assign MDL materials in Houdini.
Note that Houdini does not currently support previewing MDL materials, but the MDL assignments exported from Houdini are viewable in any application that supports MDL.
MDL_Node.zip (12.4 KB)