[Sidefx-houdini-list] OTL available only in one file
sidefx at trinix.ca
Sat Feb 9 11:26:04 EST 2008
Mantra recognizes env variables if I do the substitution myself.
What I meant by remote is not on the same network but a complete
different environment. I work from home and my project path is the same
as the client. For that reason if I send him an ifd file it won't work.
However if the ifd file is generated from the client location then it's
An other reason why I'd like to refer to env var is because Houdini
forces me to cd to the path where hip file exist so the relative otl
path can resolve properly. When I render from the path where the ifd is
(which is logical for me) I've got an error because it doesn't find the
This said I've made several test and I've discovered the following.
1- If I write an env var in a texture or render output file the variable
is expanded to the full path in the ifd file.
2- If I surround this env var with quote like this '$PROJECT'/render/etc
it keep it to '$PROJECT'/render/etc in the ifd file
3- If I surround this env var with quote AND I write an other env var
NOT IN QUOTE elsewhere in the path like this '$PROJECT'/$REN/etc it
converts to $PROJECT/render/etc in the ifd. That the trick I've found to
at least solve the issue for textures path. I think it's a bug that I
have to do that to force the removing of the quotes.
In the end I'm still not able to do the same with otl path. I've also
tried to do it directly in the hip file but it seems to be a hybrid
format of binary and ascii and it doesn't work.
Unless someone has a solution I'll parse all of them with sed in batch
but it would be great for rendering outsourcing when you want the same
ifd file to be compatible with different environments.
Andras Ikladi wrote:
> I can't try it right now, but doesn't mantra feature an almost full
> blown hscript engine? If you launch mantra with no stream inwards, you
> can try it yourself it it can echo your variable (you could try help
> -k, if I remember correctly to get more documentation). I would
> suspect it can use envvars (but I may be wrong..easy enough to try).
> This obviously supposes that mantra is launched from the same or
> similar shell environment as Houdini and has the same variables
> On the other hand, as IFD's tend to be relatively static (ie. use
> once..at least compared to Rib that uses the same format for archive
> and main render stream purposes) without parsing, I don't see that
> much point either (and if you're doing parsing already, you can just
> as easily identify a network path than an envvar).
> On Feb 9, 2008 1:01 PM, <symek at poczta.onet.pl> wrote:
>> well, there are much more appropriate people here to answer you that question, but let me just point you out that, IFD file is *meant to be used remotely so this shouldn't be any problem for you. Most of (like 99%) the case with IFD is sending it to renderfarm - read: executing remotely.
>> The reason why variables are expanded in ifds is that they are read by Mantra but Houdini itself. The whole business with magical $Variable doesn't exist in Mantra I suppose. I'm not really sure if you can process ifd with python and replace absolute paths with variables as most probably they have no meaning form mantra.
>> Normally remote hosts have all needed paths mounted in such a way that paths found in ifds are valid on every render node. In Windows both network drives mapping and using NFS paths work. (Besides minor problems like mixing localhosts and remotehosts in mantra -H option but this is yet another story).
>> Sidefx-houdini-list mailing list
>> Sidefx-houdini-list at sidefx.com
> Sidefx-houdini-list mailing list
> Sidefx-houdini-list at sidefx.com
More information about the Sidefx-houdini-list