studioSoftboxes
The brightness of a five-light studio seen in a reflected direction.
studioSoftboxes(x: Expr, y: Expr, opts: {
/** A `direction()` vector that rotates the studio. */
rotation: Expr
keyRadius: Expr | number
drift: Expr | number
strength: Expr | number
skyGain: number
}): Expr
Import materials from shaders/std and use materials.studioSoftboxes.
Pass the x and y of a reflected view ray. rotation is a direction() vector that turns the studio. keyRadius sizes the main light (0.16 crisp, 0.42 soft), drift slides it, strength scales the whole bank and skyGain the floor-to-sky gradient behind it (0.3–0.4).
Parameters
| Name | Type | Notes |
|---|---|---|
x | Expr | |
y | Expr | |
opts | `{ |
/** A `direction()` vector that rotates the studio. */
rotation: Expr
keyRadius: Expr \| number
drift: Expr \| number
strength: Expr \| number
skyGain: number
}` | |
Example
const env = studioSoftboxes(R.member('x'), R.member('y'), {rotation: direction(u.envRotation), keyRadius: 0.3, drift: 0, strength: u.environment, skyGain: 0.38})
Tip. Smear it with
smearAlongfor a brushed look.
See also
smearAlong— Blurs any 2D lookup along a direction, for streaked reflections and motion smear.reflect— The directionibounced off a surface with unit normaln.viewRay— The direction the viewer looks along at this pixel, for reflections that sweep across a face.