Common Attributes#

Overview#

Concrete UsdLux light types automatically provide UsdLuxLightAPI and its common emission controls. These attributes work with the type-specific shape and dimensions described on each light page. Refer to Overview for the units and normalization model.

USD declaration

Description

float inputs:intensity = 1

Base luminance in nits for an unnormalized light. DistantLight overrides the fallback to 50000.

float inputs:exposure = 0

Base-2 exposure in stops. Each increase of one doubles emission.

color3f inputs:color = (1, 1, 1)

Emission color in the rendering color space.

bool inputs:enableColorTemperature = false

Enables multiplication by the color computed from inputs:colorTemperature.

float inputs:colorTemperature = 6500

White-point temperature in Kelvin. The valid range is 1000–10000 K; lower values appear warmer and higher values cooler.

bool inputs:normalize = false

Divides emission by a type-specific size factor so changing source size does not change total power.

float inputs:diffuse = 1

Unitless multiplier for diffuse material response. This is a non-physical control.

float inputs:specular = 1

Unitless multiplier for specular material response. This is a non-physical control.

Intensity#

The following comparison increases intensity while holding exposure at zero:

Rect lights with intensity values of 250000, 1000000, and 4000000

Intensity scales light emission linearly.#

Exposure#

The following comparison changes exposure from -2 to +2 stops:

Rect lights with exposure values of negative 2, 0, and positive 2

Each increase of one exposure stop doubles emission.#

Color#

The following comparison changes the energy-linear emission color:

Rect lights with white, blue, and red emission colors

The color attribute tints all light contributions.#

Enable Color Temperature#

The following comparison toggles color temperature at 3000 K:

Rect lights with 3000 Kelvin color temperature disabled and enabled

Color temperature affects emission only when enabled.#

Color Temperature#

The following comparison increases color temperature from 2000 to 10000 K:

Rect lights with color temperatures of 2000, 6500, and 10000 Kelvin

Lower temperatures appear warmer; higher temperatures appear cooler.#

Normalize#

The following comparison toggles normalization on the same small rect light:

Rect lights with normalization disabled and enabled

Normalization divides luminance by emitting area to preserve total power as source size changes.#

Diffuse#

The following comparison changes the diffuse contribution multiplier:

Rect lights with diffuse contribution multipliers of 0, 0.5, and 1

Diffuse changes the light’s contribution to diffuse material response.#

Specular#

The following comparison changes the specular contribution multiplier:

Rect lights with specular contribution multipliers of 0, 0.5, and 1

Specular changes the light’s contribution to specular material response.#

Authoring Common Attributes#

The following examples configure the same common attributes in USDA and with the USD Python API:

def SphereLight "KeyLight"
{
    color3f inputs:color = (1, 0.85, 0.7)
    float inputs:colorTemperature = 4500
    float inputs:diffuse = 1
    bool inputs:enableColorTemperature = true
    float inputs:exposure = 2
    float inputs:intensity = 1000
    bool inputs:normalize = false
    float inputs:specular = 1
}
light = UsdLux.SphereLight.Define(stage, "/World/KeyLight")
light_api = light.LightAPI()
light_api.GetColorAttr().Set(Gf.Vec3f(1.0, 0.85, 0.7))
light_api.GetColorTemperatureAttr().Set(4500.0)
light_api.GetDiffuseAttr().Set(1.0)
light_api.GetEnableColorTemperatureAttr().Set(True)
light_api.GetExposureAttr().Set(2.0)
light_api.GetIntensityAttr().Set(1000.0)
light_api.GetNormalizeAttr().Set(False)
light_api.GetSpecularAttr().Set(1.0)

Further Reading#

Refer to the UsdLuxLightAPI reference for the complete OpenUSD common-light model.