Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

LightFilter "PxrGobo" "gobo1"  "string coordSys" ["Gobo1"] "string map" ["ratGrid.tx"]
AreaLightSourceLight "PxrArealightPxrPrectLight" "light1"

Like lights, light filters are enabled by default. They may be disabled on a particular geometric primitive using:

EnableLightFilter "light1" "gobo1" 0

 Light filters may be selectively enabled using a group membership similar to light linking and ray tracing subsets.  By default, a light filter belongs to a global group and is enabled everywhere.  If a filter expresses that it belongs to a named group, it will instead be disabled by default and enabled for only those geometric primitives that subscribe to the group.  Light filter groups are specified through a parameter to the light filter and reported to the renderer through the light filter GetProperty() method (see below).  For example:

LightFilter "PxrBlocker" "blocker" "string linkingGroups" ["blockers"]

...

Attribute "lightfilter" "string subset" ["blockers"]

Sphere ...

Will turn on all light filters in group "blockers" for all lights shining on the sphere.  By convention, all of the filters shipped with RenderMan use "linkingGroups" as the name of the parameter.   Both the "linkingGroups" and "lightfilter:subset" strings may be comma-separated lists of group names.  Group name matching is not scoped to a light.  Any filter in a matching group on any light active on a given geometric primitive will be enabledThis turns off the filter gobo1 bound to light light1. Later we'll show how more than one filter can be run on a single light.

Filtering

A light filter plugin implements the following method:

...