delayed load and material override

   5462   5   1
User Avatar
Member
75 posts
Joined: July 2006
Offline
Hi.

is there any reason why using Local Override on the material node breaks when rendering delayed load geometry?

J

Attachments:
materialDelayed.hip (228.0 KB)

john @ goodbyekansas
User Avatar
Staff
2675 posts
Joined: July 2005
Offline
protean
Hi.

is there any reason why using Local Override on the material node breaks when rendering delayed load geometry?

J

Overrides work in a similar fashion to copy/stamping. The override parameters are used to “stamp” values into the material parameters.

So, if the geometry is baked to disk, there's no opportunity to apply the overrides when sending data to the renderer.

There's an option in the “Mantra Archive” ROP to bake out the materials required for the archive (in addition to saving the geometry). This material file can be referenced in the procedural.

However, I think there's a bug with this if the materials need to embed VEX code… It's fixed in 9.5, but I don't think the fix made it back to 9.1.
User Avatar
Member
75 posts
Joined: July 2006
Offline
ok that seems fair enough, thanks.

deviating slightly here but is there any way to render geometry from file but to keep the shader attributes separate and to only have link to a shader. Or, to put it simpler, does the shader information always have to be baked into the geometry when using delayed load geometry?

J
john @ goodbyekansas
User Avatar
Member
1634 posts
Joined: July 2005
Offline
Nope, you don't need to include the shader information into the geometry and you never had to.

I've been using delayed load with shaders or materials applied to the object for many months now.

Cheers!
steven
User Avatar
Staff
2675 posts
Joined: July 2005
Offline
protean
ok that seems fair enough, thanks.

deviating slightly here but is there any way to render geometry from file but to keep the shader attributes separate and to only have link to a shader. Or, to put it simpler, does the shader information always have to be baked into the geometry when using delayed load geometry?

J

If you only have on material on the geometry, then you can simply assign the material at the object level, and it will be used.

If you're point instancing the geometry file, you can also assign a material on a per-point basis.

I won't have access to Houdini till Monday, but I'll try to remember to put together an example if it isn't clear.
User Avatar
Member
75 posts
Joined: July 2006
Offline
If you only have on material on the geometry, then you can simply assign the material at the object level, and it will be used.

And if I'm not applying the material at object level?

When I have time I'll try to get a concise example of the problem I'm having. It may well be user error Basically I can only get shaders to render on a delayed load object if the shader parameters are baked in with it. In a shop node case it would be a vm_surface attribute, therefore I if I change a shader parameter I need to render out a new geo file, and if there are shot specific shader tweaks then I'll need to render out shot specific geos. I'm not sure how a material node works with shader parameters yet but I've not been using them for long.

J
john @ goodbyekansas
  • Quick Links