I don't know this shader, but here's a little info. Rman shaders are COMPILED before they are used.
The shading language (SL) is written.
Example:
surface plastic ( /* name of your surface shader */
float Ka = 0.05, /*ambient level*/
Kd = 0.35, /*diffuse level*/
Ks = .5, /*specular level*/
roughness = 0.05; /*specular falloff*/
color plasticColor = color(.5,.5,.5), /* color of diffuse and ambient */
specularColor = color(1,1,1); /* color of specular addition */
)
{
vector V = normalize (-I); /* invert the Eye (camera vector)*/
normal Nf = faceforward(normalize(N,I)); /* normalize the normal lengths on the surface */
Oi = 1.0; /* a solid white alpha, non-premulted */
Ci = plasticColor * (Ka*ambient() + Kd*diffuse(Nf)) + specularColor*(specular(Nf,V,roughness)); /*compute the color output */
}
I would save this out as plastic.sl. Then, I would compile it using the "shader" compiler (called "shader") which is delivered with your RenderMan software license. After the shader is compiled, it becomes an .slo file, or in this case, plastic.slo.
Perhaps 3Delight or what is that one in Texas? Pixie? Since they are RenderMan compliant Renderers, perhaps they have a shader complier you can get.
After, that, in Houdini, you can get Houdini to output RIB code for all of your lights, camera and objects. Just insert the calls for shaders in the appropriate spot in Houdini before outputting your RIB to send to render. Look for AttributeBegin and End calls around your objects, put the shader inside the block. This is how we used to do it before that was some Rman interface with Houdini.
Cheers.
- Jimbo