Hello ;
I am working on project where Renderman Artist tools are in use and some of the shaders I need to use exist in the form of slim files. Apart from loading the palettes up in maya, I don't know that much about RAT and Maya, I've only ever done all my rsl things in vops or in sl files. So, can I save out slim files as *.sl code using slim, so that I can deal with the shaders in a way I know? Is that possible? If so, could someone give me an idiots guide of which steps/menus/options I should choose in slim to do this?
Thank you
Using slim shaders inside houdini?
6350 5 1-
- frankvw
- Member
- 61 posts
- Joined: Feb. 2006
- Offline
-
- circusmonkey
- Member
- 2624 posts
- Joined: Aug. 2006
- Offline
-
- Vormav
- Member
- 33 posts
- Joined:
- Offline
When you get the edit window up for your slim surface (surfaces, not ensembles!), choose file->view sl source. You can save that source out as a .sl file to use elsewhere.
Alternatively, when you just render the icon on one of your slim shaders, both the .sl and .slo are written to slim's temporary file. If you're running slim in standalone mode, this is usually $HOME/rat/default/rmanshader. If you're running it from Maya, it's probably under the rmanshader folder of your project directory.
When I'm using slim with Houdini, I like to use the .sl/.slos that are automatically generated by slim, since I can quickly batch convert them into a single .otl file using a simple command like this:
for file in `ls *.slo`; do rmands -l SlimShaders.otl $file; done
The only downside to both of these methods is that the input parameters are not preserved in the shader generation step, since slim puts parameter values directly into the code. And so, if you're actually looking to port a shader in its entirety away from slim, and not just a specific shader with a specific set of parameters, then you'll have to do the longer manual editing method circusmonkey just posted.
Primitive/AOV variables are preserved in the .sl generation, though, and will be made available as controls when converted to an otl. So if you were to wire an AOV variable into the parameters of your slim network that you want to control, you could have some control over parameters after getting everything out of slim, just by adjusting the defaults on the variables. It's sloppy, but it works. But manually converting shaders is definitely the most..definite way of doing things.
Alternatively, when you just render the icon on one of your slim shaders, both the .sl and .slo are written to slim's temporary file. If you're running slim in standalone mode, this is usually $HOME/rat/default/rmanshader. If you're running it from Maya, it's probably under the rmanshader folder of your project directory.
When I'm using slim with Houdini, I like to use the .sl/.slos that are automatically generated by slim, since I can quickly batch convert them into a single .otl file using a simple command like this:
for file in `ls *.slo`; do rmands -l SlimShaders.otl $file; done
The only downside to both of these methods is that the input parameters are not preserved in the shader generation step, since slim puts parameter values directly into the code. And so, if you're actually looking to port a shader in its entirety away from slim, and not just a specific shader with a specific set of parameters, then you'll have to do the longer manual editing method circusmonkey just posted.
Primitive/AOV variables are preserved in the .sl generation, though, and will be made available as controls when converted to an otl. So if you were to wire an AOV variable into the parameters of your slim network that you want to control, you could have some control over parameters after getting everything out of slim, just by adjusting the defaults on the variables. It's sloppy, but it works. But manually converting shaders is definitely the most..definite way of doing things.
-
- ihab
- Member
- 9 posts
- Joined:
- Offline
The only downside to both of these methods is that the input parameters are not preserved in the shader generation step, since slim puts parameter values directly into the code. And so, if you're actually looking to port a shader in its entirety away from slim, and not just a specific shader with a specific set of parameters, then you'll have to do the longer manual editing method circusmonkey just posted.
It's been a long time since i used slim shaders with houdini but i think if you right click on the icon to the left of the parameter inside slim you'll have 3 options 1. Internal (i think) 2. External and 3. Expression (where you use TCL to control the parameter). If you choose External and then convert the created slo to otl you'll find that the parameters are available inside houdini for tweaking. I'm sorry my explanation is not specific but i'm only using my memory here.
cheers
-
- Vormav
- Member
- 33 posts
- Joined:
- Offline
ihabThe only downside to both of these methods is that the input parameters are not preserved in the shader generation step, since slim puts parameter values directly into the code. And so, if you're actually looking to port a shader in its entirety away from slim, and not just a specific shader with a specific set of parameters, then you'll have to do the longer manual editing method circusmonkey just posted.
It's been a long time since i used slim shaders with houdini but i think if you right click on the icon to the left of the parameter inside slim you'll have 3 options 1. Internal (i think) 2. External and 3. Expression (where you use TCL to control the parameter). If you choose External and then convert the created slo to otl you'll find that the parameters are available inside houdini for tweaking. I'm sorry my explanation is not specific but i'm only using my memory here.
cheers
…
…
My god… how did I never see that before? Haha, yeah, that helps just a little bit.
![](/static/djangobb_forum/img/smilies/yikes.png)
-
- ihab
- Member
- 9 posts
- Joined:
- Offline
-
- Quick Links