godotengine / godotengine/godot
Compatibility: Canvas tonemap does not always work and exposure never works
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
- Reproducible in v4.5.stable.official [876b29033]
- Reproducible in v4.3.stable.official [77dcf97d8]
- Somewhat reproducible in Godot 4.2 and earlier, but because glow and adjustments were not implemented in Compatibility yet, no tonemapping ever works
### System information
Godot v4.5.stable - Windows 11 (build 26100) - Multi-window, 2 monitors - OpenGL 3 (Compatibility) - NVIDIA GeForce RTX 5070 Ti (NVIDIA; 32.0.15.8108) - 13th Gen Intel(R) Core(TM) i7-13700K (24 threads) - 63.74 GiB memory
### Issue description
With the compatibility renderer, when `Environment` background mode is set to Canvas, the tonemap does not function at all unless glow or adjustments are enabled.
Additionally, the tonemap exposure does not work at all regardless of whether glow or adjustments are enabled.
### Steps to reproduce
1. Create a 2D scene
2. Add a 2D node like a sprite
3. Add a WorldEnvironment and change its background to Canvas
4. Try adjusting tonemap and exposure: they do not do anything
5. Enable glow or adjustments
6. Note that tonemap now works, but tonemap exposure does not
### Minimal reproduction project (MRP)
[compatibility-canvas-tonemap.zip](https://github.com/user-attachments/files/22541328/compatibility-canvas-tonemap.zip)
Contributor guide
Research direction
Start with the linked compatibility-canvas-tonemap.zip project and reproduce the issue using the Compatibility renderer with a Canvas background. Trace the renderer path handling Canvas tonemapping, glow, adjustments, and exposure. Done means tonemapping works without unrelated effects and exposure changes the result in the stated reproduction steps.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, godot
- Domain
- computer-graphics, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100