Light Linking#

Overview#

Light linking controls which geometry receives illumination from a particular light. Shadow linking independently controls which geometry casts shadows from that light. Use these controls for selective lighting, removing an unwanted shadow, or isolating a light to part of a scene.

Each light provides two named UsdCollectionAPI collections through UsdLuxLightAPI:

Collection

Membership effect

lightLink

Members receive the light’s contribution. Non-members do not.

shadowLink

Members cast shadows from the light. Non-members do not.

By default, both collections include the pseudo-root. Every geometry prim is therefore a member: the light illuminates the whole scene and all geometry can cast shadows from it.

Collection Attributes#

Author these collection properties on the light prim:

USD declaration

Description

uniform bool collection:lightLink:includeRoot = true

Includes the pseudo-root, so all geometry receives light unless excluded. Set to false to build an explicit receiver list.

uniform token collection:lightLink:expansionRule = "expandPrims"

Controls whether included paths also include descendants.

rel collection:lightLink:includes

Adds receiver paths to the collection.

rel collection:lightLink:excludes

Removes receiver paths from the collection. Exclusions override inclusions.

uniform bool collection:shadowLink:includeRoot = true

Includes the pseudo-root, so all geometry casts shadows unless excluded. Set to false to build an explicit caster list.

uniform token collection:shadowLink:expansionRule = "expandPrims"

Controls whether included paths also include descendants.

rel collection:shadowLink:includes

Adds shadow-caster paths to the collection.

rel collection:shadowLink:excludes

Removes shadow-caster paths from the collection. Exclusions override inclusions.

The expansion rule accepts these OpenUSD tokens:

Token

Behavior

explicitOnly

Includes only the explicitly targeted prims.

expandPrims

Includes each targeted prim and its descendant prims. This is the default.

expandPrimsAndProperties

Also includes properties. Property membership does not add renderable geometry to an ovrtx link.

Further Reading#

Refer to the UsdLux light-linking documentation and the UsdCollectionAPI reference for the complete OpenUSD collection model.