9.3
Racket
90 3D: Finite-light animation🔗ℹ
3D reference map · First 3D picture
Authored lights use the same immutable, random-access timeline as spatial
objects and cameras. A light request names the owning
view and the stable light ID separately; it captures the exact field value at
the start of its local clip. It therefore works as a leaf of timed,
succession, animation-group, lagged-start, and a
change-speed timing curve without a frame-by-frame updater.
Interpolates one light’s nonnegative intensity from its clip-start value.
Interpolates one opaque light
colour in linear light, then encodes the sampled colour back to sRGB.
Moves a point light
to an absolute position.
Moves a point light by
delta from its clip-start position.
Moves a spot light to
an absolute position.
Interpolates a spot
direction toward the clip-start position’s direction to target.
Direction vectors use normalized vector interpolation; near a half-turn, a
deterministic quaternion interpolation avoids the zero-vector singularity.
|
| view-id : symbol? |
| light-id : symbol? |
| inner-angle : nonnegative-real? |
| outer-angle : positive-real? |
Interpolates a spot’s inner and outer cone angles while retaining the required
0 <= inner <= outer <= pi invariant.
Current limitation. Light-animation requests define and sample the exposed light values.
Both the software and OpenGL renderers display finite illumination, but
attenuation, range, and the reserved shadow descriptor are not animatable.