I was thinking a shader parameter assignment but I don't know if that would work in your case.
http://docs.autodesk.com/MENTALRAY/2013/ENU/mental-ray-help/files/manual/node113.html#paramassign On Tue, Sep 25, 2012 at 11:08 AM, Rémi Arquier <[email protected]> wrote: > There is several instances of the lightmap shader. Some parameters values > of the shader need to be different "per shader instance", and others, like > the path of a directory where to put the all lightmaps maps, need to be the > same for each shader instances. > > For the moment, I put a single UserDataBlob nested in a single null > X3dObject in the Softimage scene, and in the the shader's code, I recurse > down the scene db over all miInstance until the UserDataBlob with correct > ID is found. If you have a simpler solution ... would be good. > > 2012/9/25 Daniel Brassard <[email protected]> > >> Instances in MR inherit from the main shader declaration/definition >> itself. Is the custom lightmap shader only used once in the Softimage scene >> and all instance inherit from the lightmap or is each instance of the >> lightmap has it's own UserDataBlob? >> >> On Tue, Sep 25, 2012 at 9:51 AM, Rémi Arquier <[email protected]> wrote: >> >>> Hi Daniel, Yes it looks like it is by design. But note that the Scene >>> Root derive from a X3DObject. >>> I think the UserDataBlob is exported for scene elements which generate >>> leaf instances only. >>> >>> I just need to export global data for a custom lightmap shader, all >>> shader instances need that same data, and I don't realy know where to put >>> it on Softimage side. Nothing very exciting. >>> >>> As you seem aware of thoses things, how do you do when you need a global >>> parameter for a given shader, regarding the spdl parameters ? By "global", >>> I mean that all shader instances would share the same parameter' value, and >>> if I would change the value using one of the spdl interface of one shader >>> instance, the others values of the other parameter instances would change >>> also. You see what I mean ? >>> >>> Rémi >>> >>> >>> 2012/9/25 Daniel Brassard <[email protected]> >>> >>>> I think it is by design unfortunately, Rémi, >>>> >>>> This feature is only available when the UserDataBlob is nested directly >>>>> under a >>>>> Camera<http://download.autodesk.com/global/docs/softimage2013/en_us/sdkguide/si_om/Camera.html> >>>>> , >>>>> Light<http://download.autodesk.com/global/docs/softimage2013/en_us/sdkguide/si_om/Light.html> >>>>> or >>>>> X3DObject<http://download.autodesk.com/global/docs/softimage2013/en_us/sdkguide/si_om/X3DObject.html> >>>>> . >>>> >>>> >>>> What I wish would be an ICE UserDataBlob node that we could feed >>>> anything we want to it! >>>> >>>> It look like you are thinking outside the box to have a need for >>>> userdatablob on scene root! I'm curious! >>>> >>>> On Tue, Sep 25, 2012 at 5:19 AM, Rémi Arquier <[email protected]>wrote: >>>> >>>>> Hi list >>>>> >>>>> I don't know if it is a bug or not, but when I put a renderable >>>>> UserDatablob on the Scene Root, I cannot get it back in my Mental Ray >>>>> shaders. I looked into the miArchive and I don't see it (I see it when it >>>>> is attached to an other X3DObject like object/cam/light, but not when >>>>> attached on the scene root). >>>>> >>>>> Is it normal ? I find it sad since it would be a good place for >>>>> placing global data for shaders. >>>>> >>>>> cheers >>>>> >>>>> Rémi Arquier >>>>> >>>>> >>>> >>> >> >

