Skip to content

Add Filmic, ACES and AgX tone mapping - #548

Merged
tomconder merged 1 commit into
mainfrom
tone-mapping-operators
Oct 4, 2026
Merged

tomconder merged 1 commit into
mainfrom
tone-mapping-operators

Conversation

@tomconder

@tomconder tomconder commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Adds three tone mapping operators next to Reinhard (card 92).

  • tonemap.slang: toneMapper uniform selects Reinhard, Filmic (Uncharted 2), ACES (Narkowicz fit) or AgX (minimal polynomial). Each returns linear display light, so the single gamma encode and dither are unchanged.
  • SceneTarget::resolve() takes a ToneMapper enum. It travels through the frame snapshot and MazeLayer under settingsMutex.
  • New "Tone Map" tab in the debug ImGui. The choice is saved as video.toneMapper; invalid values fall back to Reinhard, which stays the default.

Not done: the options screen has no selector, and bloom threshold and intensity are still tuned for Reinhard.

Verified: debug build, 30-frame --capture-frames run with no GL errors (Reinhard only), pre-commit run --all-files.

Select the operator with a ToneMapper enum passed to SceneTarget::resolve().
Reinhard stays the default. A Tone Map tab in the debug UI picks it, and the
choice is saved as video.toneMapper.
@github-actions github-actions Bot added sponge Sponge engine changes game Game changes labels Oct 4, 2026
@tomconder
tomconder merged commit e11e0b4 into main Oct 4, 2026
8 checks passed
@tomconder
tomconder deleted the tone-mapping-operators branch October 4, 2026 17:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

game Game changes sponge Sponge engine changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant