Skip to content

Lights: Slice E — Light preset rigs + ambient/env controls #487

@fernandotonon

Description

@fernandotonon

Parent epic: #482
Depends on: Slice D

Goal

One-click preset rigs that produce believable lighting for the most common review/authoring scenarios. Replace the hard-coded default scene light with the "Three-point studio" rig.

Scope

  • New LightRigLibrary singleton (in src/LightRigLibrary.{h,cpp}). Returns a parameterised set of lights for a named rig.
  • Initial rigs:
    • Single Key — directional only, current default. Kept for the "minimum" case.
    • Three-point studio — key + fill + back, classic portrait lighting. Becomes the new default for CreateEmptyScene.
    • Outdoor sunset — strong warm directional + soft cool ambient. Pairs with the sunset_outdoor HDRI from HDR: Slice F — Bundled HDRI library + "HDR Environment" preset additions #472.
    • Outdoor overcast — soft directional, high ambient.
    • Indoor window — directional through a "window" + warm bounce. Pairs with indoor_window HDRI.
    • Product turntable — overhead key + two side fills, neutral colours, no shadows. For clean asset shots.
  • GUI: "Add Light → Preset Rig…" submenu and a button in the new Lighting section of the Inspector.
  • Applying a rig:
    • Adds the rig's lights as a group under a single named SceneNode ("Three-point rig", "Sunset rig", etc.).
    • Optionally replaces existing user lights (confirm dialog) or adds alongside them.
  • Ambient + scene background controls in a new "Lighting" inspector group (or the existing Environment group from HDR slice E):
  • All applied as a single undo command (the entire rig is one atomic add).
  • Replace the hard-coded line in Manager::CreateEmptyScene with LightRigLibrary::apply("three_point_studio") on first scene init; preserve "Single Key" as a setting fallback for users who prefer the old look.

Acceptance Criteria

  • All six rigs apply cleanly and produce visibly distinct, believable lighting on a default sphere.
  • Replacing existing lights goes through a confirm dialog.
  • Rig application is a single undo step.
  • New empty scenes use the three-point studio rig by default.
  • User can revert to the single-key default via a setting.
  • Sentry breadcrumb scene.light.apply_rig with the rig name.

Effort

~5 days.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestlightingScene lighting: add/edit/manage lights, shadows, IESui

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions