[Sidefx-houdini-list] Multiple VRAYprocedural-files

Sebastian H. Schmidt sebastian.h.schmidt at googlemail.com
Fri Jan 20 19:19:28 EST 2012


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
>



More information about the Sidefx-houdini-list mailing list