[Sidefx-houdini-list] How to force all materials to be dump into IFD
jiversen at rhythm.com
Wed Jan 22 20:50:07 EST 2014
Coincidentally, we found the "Declare All SHOPs" feature wasn't
outputting a complete material definition very recently, and SESI have
fixed this issue just today:
From our Bug:
Summary: SOHO doesn\'t dump SHOPs in subnets when Declare All SHOPs is set
In the attached file we have a box, assign a constant shader, pack the geometry and then render. If you render the file as is, using a shader assignment to a node in /shop, the box should render cyanish.
If you jump into geo1 and change the switch to the 2nd input, rendering using a shader in a material subnet /shop/test/ the box will now render grey. Looking at the ifd it seems this is because Declare All Shops seems to only want to dump /shop/test, which isn't really a shader to the ifd, instead of /shop/test/const which is what is actually needed.
If you then turn on the grid object which has explicitly set to /shop/test/const and render, the box and grid will both render properly since the other geometry forces the correct definition into the ifd.
2014-01-22 12:55:55 (EST): bugdb:
Fixed in Houdini 13.0.301
Perhaps this fix will help you too?
Pablo Giménez wrote:
> I am playing developing some Mantra procedurals.
> I have realized that if I want to use the shop_materialpath prim attribute
> in my bgeos, loaded as delayed load, I need to have and ifd archive with
> the materials definitions, this is done by the Mantra Archive ROP.
> Well but this force you to have before hand the scene with the materials
> and then bake your geo from that scene using the Mantra Archiver.
> That creates a problem, because what I have is the path of the materials
> assigned to my primitive shop_materialpath attribute. Then, in a different
> scene this materials are created and geometry loaded into Mantra using
> delayed load.
> Problem is that because the materials are not linked to the object they are
> not dumped into the IFD and even if I create some dummy objects liknked to
> the materials they are defined in the IFD just as shaders, using
> ray_startshader, no as materials objects, using ray_start material, ] so my
> delayed loaded geo can not use them.
> The questions is, is there any way I can dump all the shaders in my scene
> as materials objects in the IFD even if they are nor linked to any geometry
> It would be like doing the same thing the Mantra Archiver is doing but for
> all the shaders in the scene.
> I hope I have explained the issue clear enough.
More information about the Sidefx-houdini-list