Skip to content

Expose option to render the procedural atmosphere without the direct solar disc (sun‑disk) #20425

@defuz

Description

@defuz

What problem does this solve or what need does it fill?

When baking irradiance volumes (or any probe‑based GI) we need indirect diffuse + skylight without the direct sun disc; it is added later via DirectionalLight + shadows. The current atmosphere shader always draws the disc, so probes capture the sun twice and scenes appear over‑bright. No public control exists to disable only the disc. This overlaps with #16278 but focuses on the sky shader side.

What solution would you like?

Expose a flag such as include_sun_disc: bool (default true) or a SunDiscMode enum in Atmosphere. When disabled the shader skips the inner‑disc branch yet still scatters the sun’s radiance into the sky, preserving energy. Probe cameras can then render sky‑only during baking.

What alternative(s) have you considered?

  • Custom sky shader on a separate RenderLayer.
  • Disabling the DirectionalLight during capture.
  • Subtracting the sun’s SH term after capture.
  • Clamping or filtering bright texels.

All are error‑prone or add maintenance / runtime cost compared to a single field.

Additional context

Relates to #16278. Unity ("Sun Disk Intensity 0") and Unreal (disk multiplier) expose similar toggles for GI workflows.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-RenderingDrawing game state to the screenC-FeatureA new feature, making something new possibleD-StraightforwardSimple bug fixes and API improvements, docs, test and examplesS-Ready-For-ImplementationThis issue is ready for an implementation PR. Go for it!X-UncontroversialThis work is generally agreed upon

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions