Problems using Renderman with houdini 6

   12076   16   1
User Avatar
Member
581 posts
Joined: July 2005
Offline
Hi all
I'm integrating houdini6 - linux and renderman, now i can render with houdini, but i don't have dialogs for my own shaders.
For the dialogs i've looked in the help and a few tutorials and i tried the next:
I have my shaders for example in: /usr/local/lib/shaders/surface, /usr/local/lib/shaders/displacement,
/usr/local/lib/shaders/light and /usr/local/lib/shaders/volumetric
I tried to generate the dialogs for example for surface shaders:
rmands -d /home/pablo/houdini6/config/Scripts /usr/local/lib/shaders/surface/*.slo
With this i get a file, with the same name of the shader but without the .slo extension, for every shader. These files are the dialogs.
In the manual is said that this command generates for example a RMshader.ds (depending of the shader type), where all the dialogs are concatenated. For me it couldn't generates this file, instead it generates a dialog for every shader in the shader derectory(these files doesn't have any extension), don't save it in my config/Scripts directory.
This is the first problem.

With this dialogs generated i tried to move it to my $HOME/houdini6/config/Scripts and to $HFS/houdini/config/Scripts, reboot houdini but there aren't any dialog for my shaders, only for the standars.
I tried to concatenate the generated dialogs to the RMshader.ds file in $HFS/houdini/config/Scripts too, but the result is the same.

The third problem is that there isn't any help for the rmands commands, the manual doesn't explain the different parameters and their functionality, only a brief exlanation about the -p and -d parameters.
I tried the -c option too,with the command listed above, but i get the next error:
Invalid file extension for -c
must be either .slo, .vma or .via

So my questions are: how can i generate my dialogs correctly?, where i must put this dialogs in order that houdini can use them?, what are the differents parameters and options that rmands support?

Thanks
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
19 posts
Joined: July 2005
Offline
Hola!

rmands isn't very well documented, but the help you get from just typing
rmands
In fact I haven't looked at the printed docs for this in years, there's a good chance they haven't been updated since either.

The way rmands used to genereate the .ds files from slo's it would create the elusive RMshader.ds, RMlight.ds etc. This was pre-shops days when renderman shaders were accessed through a dialog box on the object “Shading” tab. With the advent of shops, rmands was changed. If you want to access the shaders without having a shop created, use
rmands -old -d $HOME/houdini6/config/Scripts *.slo
This will create dialogs using the old method, and again you can access the shaders through the objects shading tab. If you don't care about this, and just want shops you will need to add the newly created rmands .ds files into your SHOPsurface etc file that can live in you $HOUDINI_PATH/shop directory. Look at the $HH/shop/SHOP* files to see the syntax. I would put these new SHOP files in your $HOME/houdini6/shop directory. Once they're defined there, and pointing to the .ds files you made with rmands the next launch of houdini should have shops!

Of course you may want to write your own scripts to manage these things, it does make it easier that way. Also, if you did want to use the old dialog method and shops, all you need to do is use rmands with the -old option as I said earlier, then follow the SHOP steps and you'll get both.

Hope this helps,
Adios
Nordin
User Avatar
Member
4140 posts
Joined: July 2005
Offline
You may want to take a look at mshop - a script I wote that's over on www.odforce.net. It auto-generates all the ds files, puts them in the correct place, and compiles your shader.

However, I strongly recommend using the new OTLs - they're far easier to maintain. Using the “-L” param to rmands lets you write out all the GUI contents for the shader to an OTL file. You can finesse your labels/layouts after that point, if you wish(although be aware that simply re-running rmands will stomp all over your careful work!). OTLs take all the mess of SHOPsurface and ds files and combines them in a single location. OTLs rock mightily - I've never been so glad to see a script(mshop) become obsolete. I was going to rewrite mshop to work with OTLs when I realized that it would be a two-line script.

Note that the operator you've made in the OTL does *not* contain shader code - compiled or source - so you're required that the compiled shader lives in your shader path. However, OTLs will take care of all the GUI bits quite handily.

Cheers,

J.C.
John Coldrick
User Avatar
Member
581 posts
Joined: July 2005
Offline
Thanks for all the info, so at the moment there are 3 ways to integrate RMan shadesr into haoudini:
-The old, shaders only in the object parameters.
-In cluding shaders in the SHOP.
-Usin the new OTL's.
I think that the easiest way is the last, is OTL's well documented??
A great error in houdini's doc is that it only explains the old way, it must be updated.
A place where i can find documentation about how to make my own SHOP's and OTL's??? I think if i can make my own SHOP's and OTL's i can integrate perfectly ours shaders.
Thanks, i'll be back with my results
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
941 posts
Joined: July 2005
Offline
I just replied in the houdini list, where you cross-posted, and now noticed this thread here…

Anyway; here's a temporary-fix script that will do it the “-old” way. This compiles *and* creates the old-style dialogs (not SHOPs)
#!/bin/csh -f

if ( $#argv < 1 ) then
echo
echo USAGE: $0:r:t file1.sl <file2.sl … fileN.sl>
echo
exit 1
endif


# Customize the compile command and the destination directory
# ———————————————————–
set PCC = “shader -I$JOB/Shaders/include -I$JOB/Shaders/lib”
set DST = $JOB/config/Scripts


# Should be able to leave the rest alone
# ———————————————————–
set star = ‘*’
set qt = ‘“’

mkdir -p $DST

foreach sh ( $argv )
set shname = $sh:r:t
echo
echo ”—————————————-“
echo Compiling shader: \”$sh\“
echo ”—————————————-“
$PCC $sh
echo ”—————————————-“
end
echo
echo ”—————————————-“
echo Dialogs:
echo

rmands -old -d . *.slo

foreach dsfile ( `/bin/ls ${star}.ds` )
set shlist = `cat $dsfile`
set hits = 0
foreach sh ( $shlist )
if ( ”$sh“ != ”include“ ) then
set shname = $sh:r:t
set shtype = $sh:h
if ( -e ./$shname ) then
echo ” Generic ${qt}${shtype}$qt shader dialog: ${qt}$shname.ds${qt}“
mkdir -p $DST/$shtype
mv ./$shname $DST/$shtype/$shname.ds
@ hits += 1
endif
endif
end
if ( $hits != 0 ) then
mv $dsfile $DST/.
else
rm $dsfile
endif
end

echo ”—————————————-"
echo
echo
Mario Marengo
Senior Developer at Folks VFX [folksvfx.com] in Toronto, Canada.
User Avatar
Member
4140 posts
Joined: July 2005
Offline
Actually, after a little back and forth with Mario here , we realized that in 6.0.286 rmands does indeed appear to be broken for anything other than OTLs. Last I checked, OTLs work - and your life will be easier too. However, as mentioned on the mailing list, the older .ds files aspect of rmands creates mis-named files and doesn't place them properly…

Cheers,

J.C.
John Coldrick
User Avatar
Member
19 posts
Joined: July 2005
Offline
Yeah, it got busted in the gold release of 6.0.286, but was subsequently fixed shortly after. I'd have to double check the build but I think anything after 6.0.305 has it fixed. I think it was only using rmands with the -old option that got busted, so it's still usable for shops.
Nordin
User Avatar
Member
4140 posts
Joined: July 2005
Offline
I think it was only using rmands with the -old option that got busted, so it's still usable for shops.

I don't think so - it appears to be broken for that too(I was surprised to find out). Looking forward to a maintenance release…

Cheers,


J.C.
John Coldrick
User Avatar
Member
4140 posts
Joined: July 2005
Offline
Ooops - just noticed that 333 is posted! 8)

Smoke ‘em if yah got’em!

Cheers,

J.C.
John Coldrick
User Avatar
Member
581 posts
Joined: July 2005
Offline
Hi again.
I have tried the old way, and it works fine.
Now i'm creating new OTL's for the RMan dialogs.
I've generated my OTL file with:
rmands -L OPlibRM.otl *.slo
This is command correct???
I put the new OTL OPlibRM.otl in $HFS/houdini/otls, reboot houdini but in the SHOP's generators don't appear any of my shaders
Is there any documentation about OTL's, how to create, install and use???

Thanks
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
4140 posts
Joined: July 2005
Offline
Is there any documentation about OTL's, how to create, install and use???

Yes.

http://www.vislab.usyd.edu.au/sidefx/houdini_video/by_topic/general/index.html [vislab.usyd.edu.au]

Check out the Digital Asset tutorials.

Cheers,

JC
John Coldrick
User Avatar
Member
581 posts
Joined: July 2005
Offline
Thanks, i'll check the videos
Any updated documentation about rmands??
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
4140 posts
Joined: July 2005
Offline
Any updated documentation about rmands??

Enter:

rmands -



That's all you really need to know, assuming you've done some learning with OTLs…it's fairly self-explanatory.

Cheers,

J.C.
John Coldrick
User Avatar
Member
581 posts
Joined: July 2005
Offline
Thanks everybody for this help, i could put my shaders into houdini 6 !
I've used the new metod is more flexible, although the use of old and new style could be useful.
For the new style i follow the advices from the forum and use rmands -L to make an otl file:
rmands -p -g 10 -L OPRmanlib.otl *.slo
I've put this otl file in $HFS/houdini/otls directory and add a line to the liboptions file, now i can't remember the name of this file but it is located in $HFS/houdini and describes the paths for the otl's libs files, add a line for the otl and the work is done
Maybe if i have enough time i make a little howto for this theme.
Thanks again
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
7868 posts
Joined: July 2005
Offline
Just as an addendum, there's no need to manually modify your $HOME/houdini6/OPlibraries file. First put your OTL in a nice place, $HOMe/houdini6/otls is a good choice. Now start up Houdini. Under the File menu, choose “Install Operator Type Library…”. Pick the path to your OTL that you want to install and then choose to install it into $HOME/houdini6.
User Avatar
Member
581 posts
Joined: July 2005
Offline
Yes, but i want to install it for all the users, if there is another, easier, way to install the new OTL, please tell me.
Un saludo
Best Regards

Pablo Giménez
User Avatar
Member
30 posts
Joined: July 2005
Offline
ok, so ive followed what was in here, but whenever i load this shader up, the houdini console keeps popping up saying

"unable to find dialog script for <SHADERNAME> at oplib: Shop/<SHADERNAME>?Shop/<SHADERNAME>

:roll:

help!

lisux
Thanks everybody for this help, i could put my shaders into houdini 6 !
I've used the new metod is more flexible, although the use of old and new style could be useful.
For the new style i follow the advices from the forum and use rmands -L to make an otl file:
rmands -p -g 10 -L OPRmanlib.otl *.slo
I've put this otl file in $HFS/houdini/otls directory and add a line to the liboptions file, now i can't remember the name of this file but it is located in $HFS/houdini and describes the paths for the otl's libs files, add a line for the otl and the work is done
Maybe if i have enough time i make a little howto for this theme.
Thanks again
  • Quick Links