PRMan offers numerous tools and methods for refined control over lighting.
Lighting contributions may be restricted in terms of which lobes they contribute to. The contribution can be controlled separately for glossy, diffuse and specular (as color multipliers) using glossycontribution, specularcontribution and diffusecontribution. This permits lights which do not have specular reflections even on otherwise specular materials, and addition of catchlights. This control is global, if a more fine grained tweak is required, blockers provide regional influences.
On the left, full contribution, middle diffuse only and on the right the diffuse has been partially attenuated but the specular/glossy left untouched.
Blockers, Gobos, and Portals
Blockers limit the influence of light within a region. The region is specified as a superelipse, via two exponents and a falloff (specified in via blockershape). The point specifying blockershape has two exponents in x and y and a falloff in z.
The blocker can modify the glossy, specular and diffuse contributions within a region via blockerglossymultiplier, blockerdiffusemultiplier and blockerspecularmultiplier.
Here, a blocker which has a blockerdiffusemultiplier of 0 has been used, with a spherical and then rounded rectangular shape. In the final image it was made smaller and it's falloff was increased to give a softer region of influence.
Positive falloff values specify that the region of influence is inside the superquadric shape (here a rounded cube) and fall off to 0 at the specified falloff. Negative values specify that the region of influence is outside the shape and that falloff is applied within the superquadric.
Below the left sphere has a diffuse contribution blocker surrounding it, which blocks diffuse contributions within the shape (using a positive falloff). On the right, the sense is inverted with a negative falloff.
Gobos are planar entities that modulate light that flows through them. The space is defined by the xy plane in the space defined by the matrix supplied to the gobo parameter. A map specified to gobomap specifies the map used to modify the light multiplicatively in the -1,1 space of the xy plane. Both the space (gobo) and the map (gobomap) must be specified.
This shows a gobo being used to emulate a partially gelled practical light.
To special map names are recognized, gobomap == "" blocks all light through the -1,1 region, and gobomap == "!" blocks all light not transiting -1,1. The blank-named map is useful for barn-doors and flags:
By default shadows are black, this may be tweaked using shadowtint.
The shadow opaqueness / density may be altereed using shadowdensity.
Raytraced shadows by default see all other objects as shadow casters. By using trace subsets, certain objects may be precluded from casting shadows. This may be specified as a set of object membership groups which are allowed to cast shadows, or as a list of object groups which should not cast shadows.
The subset parameter lists objects to cast shadows and excludesubset lists those to be precluded from casting shadows.
Here the ball on the right has a group membership of "noshadow". In the second image exludesubset has been set to "noshadow".
Lights may be assigned a named __group which can be used to extract glossy specular and diffuse AOVs resulting from that group using Light Path expressions.
Lights may be visible to the camera - in which case the Bxdf specified gathers lights from all lights in the scene (including itself, unless otherwise specified - see below). The emissionbias attribute is used to provide a small offset between the emission of light and the surface itself and helps reduce noise.