If you have a tip regarding Houdini tip (esp. lighting or rendering related), let me know! -- Steve May
"PRMan" stands for PhotoRealistic RenderMan.
In a UNIX shell, execute the following (boldface indicates items that you should type):
Houdini appears to only read these user-interface, dialog scripts (*.ds) the first time they are used (when you select the "cross" button next to the shader value). So, if you create new shaders or add/delete shader parameters, you have to quit houdini and restart. There is probably a way to do this through the textport and scripting commands -- let me know if you figure it out!
Kevin Shepherd (kevin@mad-professor.demon.co.uk) send me this comment regarding the above paragraph. "This is indeed true, However why Houdini does this is due to a set of files and directories in /var/tmp/Dialogs which are generated by rmands the first time you add a shader to your list. Delete the correct file within these directories then bingo you can add diferent parameters by running rmands again."
When you specify a PRMan surface shader, the only info passed to the shader (by default) is:
When you render with PRMan using the default light source shaders (attenlight, attenspot) you should know the following:
Creating shadows using the default Houdini RenderMan shaders:
Remember that for depth maps, the light source must view the parts of the scene that you want that light to cast shadows on. To check this, view the scene from the light source.
Soft shadows. "attenshadow" and "attenshadowspot" have a "width" parameter which can be increased (default = 1) to create soft shadows. However, to set this you have to explicitly set the shader in Light Op > Shading > RMan Shader and this means wiring up all the other controls (light color, cone angle, etc.) or setting them manually.
Shadow Bias. As far as I know, the only way to set shadow bias for PRMan is to set Cam Op > Rendering > Pre-Include to a file which contains the following RIB requests:
Option "shadow" "bias0" [0.15] Option "shadow" "bias1" [0.3]Note that these two parameters (default values shown) provide a bias range which is stochastically sampled by the renderer.
From Mark Elendt, Side Effects:
To send down arbitrary attributes to your shader as RenderMan variables, you can use the Attribute SOP to create a mapping from the Houdini attribute to a RenderMan variable. Then, in your shader, simply declare the attribute in the shader parameters. For example, if you wanted to have a variable specifying temperature of the surface, generate point alpha values using the point SOP. Then, in the attribute SOP, define the mapping:
Houdini RenderMan Type Offset
Alpha Temperature Vertex Float 0
Then, you can declare the Temperature variable in your shader like:
surface
heated(...some parameters...; vertex float Temperature = 0;)