Skip to content

rendering: local reflection probes (baked cubemap specular for interiors) #167

Description

@shadow-kernel

Context

Environment reflection is currently a sky/ground-color sphere approximation in standard.hlsl — every metallic or glossy PBR surface inside a windowless horror interior reflects the outdoor sky, which reads as deeply wrong in dark rooms. SSR is deferred to backlog by design; baked local cubemap probes are the standard cheap indoor fix and have no ticket anywhere.

Goal

ReflectionProbe component: bake a cubemap at the probe position in-editor, store it with the scene, and sample the nearest/blended probe for specular IBL instead of the sky approximation.

Acceptance Criteria

  • ReflectionProbe component with box extents + bake button (renders 6 faces offscreen, prefilters mips by roughness)
  • Probe cubemaps serialized with the scene and shipped in .vpak
  • standard.hlsl samples the probe (box-projected) for specular IBL; falls back to sky when no probe covers the pixel
  • Blending between overlapping probes or nearest-probe selection (documented choice)
  • Dark-interior test scene: metallic props reflect the room, not the sky (before/after captures)

Technical Notes

Reuse AssetPreviewRenderer-style offscreen rendering for the bake; prefilter with a compute or pixel-shader mip chain (GGX importance sampling).

Dependencies

  • rendering: post-processing framework (offscreen infrastructure, soft)

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2-mediumMittlere Prioritätarea:renderingRenderer, Lichter, Schatten, Post-FX, Shadersize:L~1 Wochetype:featureNeues Engine-/Editor-Feature

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions