Search Tips

Search is based on keyword.

`Ex: "Procedures"`

Do not search with natural language

`Ex: "How do I write a new procedure?"`

Give Feedback Support Portal

# Lighting Your Scene

Lights are light scene graph locations with a light material assigned. The light material contains a shader, which defines how that light illuminates the scene.

One strength of Katana is its ability to only load parts of the scene graph at render time if they are needed. Lights can potentially be anywhere within the scene graph hierarchy. Katana needs to keep a list of all lights so it doesn’t need to traverse what could potentially be a very complicated scene graph, just to find all the lights. The light list is stored in the lightList attribute under the /root/world location.

Katana does not assume a given scene scale. There are no physics solvers, like those in Maya, that need to know what real world measurement a unit represents. If you're using a shader library that has real world units for shade parameters, such as emissive lights with power per unit area, that's handled by the shader implementation rather than Katana.

The unit of measure used is up to you, because Katana equates any value as being equal to one unit in 3D space. The image shows a simple scene containing an object and a camera. If the large white square in the Viewer represents one unit of measure, so the smaller squares represent one tenth of that unit. So, if you measured on set in meters, one small square could be equal to a meter, centimeter, or millimeter.

Creating a light inside Katana can be done in several ways:

• using separate nodes (LightCreate and Material) creating it from its core components. See Creating a Light.

• using the GafferThree node, which packages up light creation with a number of other useful functions. See Creating a Light Using the GafferThree Node.

• using the UsdLight node to create a single native USD light. See Using UsdLight.

• using the UsdGaffer node to create multiple native USD lights and store changes under one USD layer. See Using UsdGaffer.