On this page | |
Since | 21.0 |
This node adds the necessary USD attributes and metadata to geometry primitives to turn them into lights. It works by decorating geometry primitives with a lighting-specific API Schema.
LightAPI
Turn any geometry primitive, including meshes, points, and basiscurves, into a light.
MeshLightAPI
Shares the settings of LightAPI, but applies specifically to mesh primitives.
VolumeLightAPI
Shares the settings of LightAPI, but applies specifically to mesh primitives.
The LightAPIs embue the geometry with special status so in addition to contributing light to the scene, these gprims they can be controlled by any other light (for example light linking).
Tip
You can read more about how to use and configure geometry lights on the Geometry lights page.
Materials ¶
Geometry lights need to know how to deal with emissive materials bound to the objects. This node provides access to the Material Sync Mode control, available on all three Light APIs. This property specifies the interaction between the light properties and geometry’s material.
The images below illustrate each mode’s characteristics; the mesh light’s color is a blue of (0,0.5,1.0):



The render delegate handles making the connection between the shader’s emissiveness, and the light properties. The user does not need to care what terminology the shader uses to define emissiveness (i.e. glow, incandescence, emission, etc…).
Warning
Materials with partial opacity, or the presence of stencil maps, will prevent Karma from recognizing these as lights. They may still emit light into the scene, but will be noisier.
Parameters ¶
Sampling Behavior
Cooking this node can generate many USD time samples, rather than just a single time sample at the current time. This can be equivalent to having a Cache LOP following this node, but it will evaluate much faster, and does not cache data from any other nodes. This allows animated data to be authored to USD without introducing a node time dependency which would then cause all following nodes to also be time dependent. This can vastly improve playback performance of some LOP Networks.
In all sampling modes, if a parameter on this node does not vary with time, and does not rely on other time sampled data from the stage, only a single default value will be generated in USD for the corresponding attribute. USD time samples are only generated for parameters that may vary over time.
Sample Current Frame
A single time sample will be generated for the current time.
Sample Frame Range If Input Is Not Time Dependent
If the input to this node is time dependent, this node behaves as if it is in Sample Current Frame mode. Otherwise it behaves as if it is in Sample Frame Range mode.
Sample Frame Range
The Start/End/Inc parameter is used to generate multiple times at which this node’s parameters are evaluated, and a USD time sample is created for each attribute at each one of these times.
Start/End/Inc
When the Sampling behavior is Sample Frame Range, this parameter controls the number and spacing of base time samples to be generated by this node. The default values of this parameter are @fstart
, @fend
, and @finc
. These values correspond to the start, end, and step size of the global Houdini animation settings when interacting with Houdini. When using a ROP node to generate a range of frames, these values correspond to the start, end, and increment values specified on the ROP node being executed. This default ensures that a USD file written to disk will contain time samples for exactly the frame range requested by the ROP (regardless of the Houdini animation settings).
Subframe Sampling
For each primary sample generated by this node, these parameters can cause additional samples to be generated around that primary sample time. This is most often used to ensure that accurate data exists at exactly the camera shutter open and close times, as well as at the primary sample time.
Shutter
Controls the method used to specify the shutter open and close times relative to the primary sample times.
Specify Manually
The Shutter Open/Close parameter values provide exact offset values relative to the primary sample time.
Use Camera Prim
The Camera Prim parameter provides the scene graph path of a camera primitive from which the shutter open and close times are extracted to provide the offset values relative to the primary time sample.
Shutter Open/Close
When Shutter is set to Specify Manually, these two offset values are added to the primary sample time to indicate the shutter open and close times. The open time should be less than or equal to zero, and the close time should be greater than or equal to zero.
Camera Prim
When Shutter is set to Use Camera Prim, this is the scene graph path of a camera prim on the input node’s stage. The shutter open and close attribute values are read from this primitive.
Samples
The number of subframe samples to create for each primary sample. These samples are evenly distributed between the shutter open and close times. Note that such an even distribution may or may not create a sample at exactly the primary sample time.
Always Include Frame Sample
When turned on, forces a sample to be created at exactly the primary sample time. If the Samples value, together with the shutter open and close times, already place a sample at the primary sample time, turning on this option has no effect. Otherwise, this option causes an addition sample to be added. This means that the actual number of samples per primary sample may in fact be one more than the number specified in the Samples parameter.
Primitives
The parameter geometry primitives (“Gprims”) you want to convert into geometry lights. Note that you can only convert primitives of type geometry, for example mesh
, points
, BasisCurve
or volume
. You can ⌃ Ctrl-click the Select button beside the text box to select the geometry primitives from a panel. You can also use primitive patterns for advanced matching. Alternatively, you can drag geometry primitives from the Scene Graph Tree to this parameter or enter a path manually.
Initialize Parameters
Changes the state of all control menu parameters to Do Nothing, so that this node will not apply any changes. Also grabs the current values of each property from the first Primitives match, and sets the values of the corresponding parameters to match. This means that changing any parameter’s control menu to Set or Create mode will set the property to its current value, making it easier to apply changes to an existing value rather than setting a brand new value.
API Schema
Select which lighting schema to apply to the specified primitives.
Tip
Currently there are relatively few differences between these API Schemas, apart from default behaviors for presences of materials.
LightAPI
Turn any geometry primitives into lights.
MeshLightAPI
Turn mesh primitives into lights.
VolumeLightAPI
Turn volume primitives into lights.
Standard ¶
Intensity
A linear scale on the power output of the light.
Exposure
Scales the power output exponentially as a power of 2, similar to an F-stop control. 0
does not scale intensity, negative numbers scale intensity down by the square, positive numbers scale intensity up. Often you will set the Intensity to what looks like the right amount of light, and then use this parameter to “tweak” it.
Color
The color of the light, in energy-linear terms.
Enable Color Temperature
Use Color Temperature to control the light color. The color calculated by Color Temperature is multiplied by the RGB color in Color, so if you want the “pure” temperature color, you should set Color to 1.0, 1.0, 1.0
.
Color Temperature
When Enable Color Temperature is on, the temperature (in degrees Kelvin) to simulate. The valid range is from 1000
to 10000
. Lower values are warmer and higher values are cooler. The default is the common D65 white point.
If necessary, you can compute the same color value using the UsdLuxBlackbodyTemperatureAsRgb()
function from the USD library.
Material Sync Mode
Determines how the light properties interact with the material glow/emission of the geometry. There are three modes available:
Material Glow Tints Light
The light properties are multiplied with the material’s glow/emission. Note that, for camera rays, the object’s emissive response is solely dictated by the bound material.
Independent
The material is left as-is, and only the light properties illuminate the scene. Note that, for camera rays, the object’s emissive response is solely dictated by the bound material.
No Material Response
The material is completely ignored, and only the light properties illuminate the scene.
Normalize Power
Divides the set power output (intensity scaled by exposure) by the surface area or angular size of the light. This makes it easier to adjust and compare energy output without it being affected by the size of the light.
Diffuse Multiplier
Scales the effect this light has on the diffuse response of shaders. This is a non-physical “tweak”.
Specular Multiplier
Scales the effect this light has on the specular response of shaders. This is a non-physical “tweak”.
Light Filters
A space-separated list of light filters you want to use with the light. You can create a light filter in a Light Filter Library LOP.
Warning
Karma does not support light filters on geometry lights in Houdini 21.
Shadow ¶
Enable
When this is on, objects hit by this light will cast shadows (subject to shadow masks).
Color
Tints the color of shadows cast by this light. Changing this from black (0, 0, 0
) is a non-physical “tweak”.
Falloff Start Distance
The near distance at which shadow falloff begins.
The default value (-1
) indicates no falloff.
Falloff Gamma
A gamma (i.e., exponential) control over shadow strength with linear distance within the falloff zone (between Falloff and Distance).
Distance
The maximum distance to check for objects shadowing this light. The default is -1
, meaning no limit. Setting this may speed up rendering if you know all objects you want shadowed are within a certain distance.
Karma ¶
MIS Bias
Controls whether multiple importance sampling will sample from the BSDF, the light, or both the BSDF and light.
Sampling Quality
This is the per-light sampling quality, that acts as a multiplier on the global Light Sampling Quality. Increasing the quality will add additional samples for this light source, improving the sampling quality of this light relative to other light sources.
Sampling Mode
When using the light tree for rendering, Karma will try to put any light source that’s compatible into the tree. This option can force a light to be excluded from the tree and subject to uniform sampling, which can sometimes yield an improved sampling quality the light at the expense of speed.
Maximum HDRI Size
If an environment map is larger than this resolution, it will be scaled down when performing texture analysis. If the map has some very small, very bright values, this filtering may affect how sampling of the environment map is performed.
Portal MIS Bias
Controls whether the dome light is more likely to sample from the
environment map or the portal geometry. For high-contrast HDRI with strong light sources, it may be beneficial to sample more from the environment map (set it less than 0
), and for low-contrast/flat HDRI, the opposite may be true (set it greater than 0
). Leave it at ß
for balanced approach.
Light Shader
Defines a VEX shader to be used for light evaluation. If the string is empty, the value will be taken from the HOUDINI_VEX_DEFAULT_LIGHTSURFACE
configuration variable.
Active Radius
Artificially clamp the illumination distance from the light. Outside this radius, the light will have no effect.
Point Light Radius
As point lights get closer to geometry, the attenuation equation causes the intensity of lights to go to infinity (a singularity caused by the division by the distance between the light and the surface). Increasing this value to something larger than zero creates an artificial buffer zone to prevent the light from going to infinity. If the radius is set to 1
, the brightest value for the point light will be twice the intensity specified on the
light. If the value is 1.4142
(sqrt(2)
), the brightest value will be the intensity specified.
For distant geometry, there should be very little change in the intensity.
Single Sided
Does the light emit light from a single side (ie along the normal) or from both sides? This only has effect on planar area light types.
Render Light Geometry
Causes the light source geometry to be visible in the render.
Light Geometry Casts Shadow
Causes the light source geometry to cast shadows in the render.
LPE Tag
Custom label assigned to lights or objects for use with light path expression.
Illuminate Background Holdout
If a light exists to add new light source instead of trying to replicate lighting in the live action plate, enable this parameter so that its effect on background holdout geometry shows up in indirect bounces and its contribution to shadow holdout AOVs is omitted.
Contributions
Provides detailed control over which BSDF component the light affects.
Contributes to Caustics
Default is true. Note that Karma only renders caustics if they are enabled on both the light and the object. This option has no effect unless you also turn on Enable Caustics on the geometry object.
Spread
Ranges between 0
to 1
and controls beam direction along the light’s normal. A value of 1
results in diffuse emission, and a value close to 0
gives parallel beams of light similar to directional light. Note that the Spread option is only supported for area lights with Type set to Rectangle or Disk.
In conjunction with Disk lights you can, for example, create focused laser beams by leaving Spread at 0
.