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
Problems using Renderman with houdini 6
12076 16 1- lisux
- Member
- 581 posts
- Joined: July 2005
- Offline
- Nordin
- 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
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
- JColdrick
- 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.
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
- lisux
- 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
-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
Best Regards
Pablo Giménez
- Mario Marengo
- 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
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
- JColdrick
- 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.
Cheers,
J.C.
John Coldrick
- Nordin
- Member
- 19 posts
- Joined: July 2005
- Offline
- JColdrick
- Member
- 4140 posts
- Joined: July 2005
- Offline
- JColdrick
- Member
- 4140 posts
- Joined: July 2005
- Offline
- lisux
- 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
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
Best Regards
Pablo Giménez
- JColdrick
- 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
- lisux
- Member
- 581 posts
- Joined: July 2005
- Offline
- JColdrick
- Member
- 4140 posts
- Joined: July 2005
- Offline
- lisux
- 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
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
Best Regards
Pablo Giménez
- edward
- 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.
- lisux
- Member
- 581 posts
- Joined: July 2005
- Offline
- vtwinracersp2
- 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!
"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