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

NameTypeNotes
xExpr
yExpr
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 smearAlong for a brushed look.

See also

  • smearAlong — Blurs any 2D lookup along a direction, for streaked reflections and motion smear.
  • reflect — The direction i bounced off a surface with unit normal n.
  • viewRay — The direction the viewer looks along at this pixel, for reflections that sweep across a face.

Used by

BrushedMetal, CarbonFiber, Nebula, Obsidian