[Sidefx-houdini-list] Multiple VRAYprocedural-files

Sebastian H. Schmidt sebastian.h.schmidt at googlemail.com
Sat Jan 21 20:52:22 EST 2012


Hi Mark,

each plugin-package has this layout

../myPlugin-1.0/11.1.173/dso
                                   /dso/mantra
                                   /VRAYprocedural
../myPlugin-1.0/11.1.573
../myPlugin-1.0/12.0.153

and whenever we load one of these plugins, the environment gets updated so
the  HOUDINI_PATH gets pre/appended with e.g.
../myPlugin-1.0/$HOUDINI_VERSION

so when mantra-starts, the HOUDINI_PATH is constructed with the HOUDINI &
Plugin-versions ... now i just have to itterate over it and look for
VRAYprocedural files & combine them

Seb




On Sat, Jan 21, 2012 at 3:37 PM, Mark Elendt <mark at sidefx.com> wrote:

> How do you deal with the different plug-in versions?  i.e. how do you
> determine which plug-in gets put into the file in /tmp?
>
> On Saturday Jan 21 at 13:19, Sebastian H. Schmidt wrote:
> > Hi Mark,
> >
> > thanks for this snipped, it makes sense, and i guess it'll work just fine
> > with a couple of shots/different configurations.
> > But when it comes to bigger production and a huge number of different
> shot
> > configs, keeping the VRAYprocedural-files in each shot up to date adds an
> > additional level of complexity especialy if you have a tool that manages
> > the config, but does not modify the VRAYprocedural file as well :/.
> >
> > I've modified the mantra-wrapper so it searches through the $HOUDINI_PATH
> > for all VRAYprocedural files, combines them into a single file and puts
> > that one in a temporary directory (/tmp/mantra-<pid>)
> > that path gets prepended to the HOUDINI_PATH and than mantra starts up.
> >
> > Have all a nice weekend!
> >
> > Seb
> >
> > On Fri, Jan 20, 2012 at 6:44 AM, Mark Elendt <mark at sidefx.com> wrote:
> >
> > > VRAYprocedural is processed by CPP.
> > >
> > > I'd create a site-wide file, say "MyPlugins.inc" which contained
> > > something like:
> > >
> > > --- CUT-HERE ------ CUT-HERE ------ CUT-HERE ---
> > > #define DRIVE /myDrive
> > >
> > > #if defined(WIN32)
> > >    #define DSO_FILE(FILENAME, VERSION) DRIVE/mantra/FILENAME-VERSION.so
> > > #else
> > >    #define DSO_FILE(FILENAME, VERSION)
> DRIVE/mantra/FILENAME-VERSION.dll
> > > #endif
> > >
> > > // Always include plug-in A.  If the caller hasn't specified a
> > > // particular version, use the latest.
> > > #define LATEST_A_VERSION 1.3.4
> > > #if !defined(A_VERSION)
> > >    #define A_VERSION LATEST_A_VERSION
> > > #endif
> > >
> > > #if defined(A_VERSION)
> > >    DSO_FILE(PluginA, A_VERSION)
> > > #endif
> > >
> > > #if defined(B_VERSION)
> > >    DSO_FILE(PluginB, B_VERSION)
> > > #endif
> > > --- CUT-HERE ------ CUT-HERE ------ CUT-HERE ---
> > >
> > > Then, since you need control on a per-shot basis, I'd create a
> > > VRAYprocedural file for each shot, with something like:
> > >
> > > --- CUT-HERE ------ CUT-HERE ------ CUT-HERE ---
> > > #define A_VERSION 1.2.0
> > > #define B_VERSION 1.5.3
> > > #include "/myDrive/MyPlugins.inc"
> > > --- CUT-HERE ------ CUT-HERE ------ CUT-HERE ---
> > >
> > > Of course, since the path is searched according to the HOUDINI_PATH,
> > > you can have different VRAYprocedural files at each level.  So,
> > > site-wide, you could have one set of procedurals, then override them
> > > as needed on a per-show/per-shot basis.
> > >
> > > That's how I'd do it, though I'm sure there are other approaches.
> > >
> > > On Thursday Jan 19 at 18:00, Sebastian H. Schmidt wrote:
> > > > Hi All,
> > > >
> > > > i'm running into a problem where I have mutiple VRAYprocedural files,
> > > which
> > > > are somewhere in the $HOUDINI_PATH.
> > > > and the $HOUDINI_PATH changes depending what i'm doing
> > > >
> > > > so sometimes i have
> > > >
> > > > /myDrive/myPluginA-1.2.0/VRAYprocedural
> > > > /myDrive/myPluginB-1.5.3/VRAYprocedural
> > > > /myDrive/myPluginC-0.2.3/VRAYprocedural
> > > >
> > > > and another time i have
> > > >
> > > > /myDrive/myPluginA-1.3.0/VRAYprocedural
> > > > /myDrive/myPluginF-2.5.3/VRAYprocedural
> > > > /myDrive/myPluginC-0.7.0/VRAYprocedural
> > > >
> > > > etc.
> > > >
> > > > BUT i'm only alowed to have one VRAYprocedural. :/
> > > >
> > > > I cant build one general VRAYprocedural,  because the
> version-numbers &
> > > > plugins  are changing depending even on a shot-basis.
> > > >
> > > > Am I the first who encountered this ?
> > > > Does anybody have an idea how this can be solved ?
> > > >
> > > > Thanks for your help!
> > > >
> > > > Seb
> > > > _______________________________________________
> > > > Sidefx-houdini-list mailing list
> > > > Sidefx-houdini-list at sidefx.com
> > > > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
> > >
> > > --
> > > Mark Elendt
> > > _______________________________________________
> > > Sidefx-houdini-list mailing list
> > > Sidefx-houdini-list at sidefx.com
> > > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
> > >
> > _______________________________________________
> > Sidefx-houdini-list mailing list
> > Sidefx-houdini-list at sidefx.com
> > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>
> --
> Mark Elendt
> _______________________________________________
> Sidefx-houdini-list mailing list
> Sidefx-houdini-list at sidefx.com
> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>



More information about the Sidefx-houdini-list mailing list