bevy/assets/textures
Bram Buurlage d390420093
Implement Auto Exposure plugin (#12792)
# Objective

- Add auto exposure/eye adaptation to the bevy render pipeline.
- Support features that users might expect from other engines:
  - Metering masks
  - Compensation curves
  - Smooth exposure transitions 

This PR is based on an implementation I already built for a personal
project before https://github.com/bevyengine/bevy/pull/8809 was
submitted, so I wasn't able to adopt that PR in the proper way. I've
still drawn inspiration from it, so @fintelia should be credited as
well.

## Solution

An auto exposure compute shader builds a 64 bin histogram of the scene's
luminance, and then adjusts the exposure based on that histogram. Using
a histogram allows the system to ignore outliers like shadows and
specular highlights, and it allows to give more weight to certain areas
based on a mask.

---

## Changelog

- Added: AutoExposure plugin that allows to adjust a camera's exposure
based on it's scene's luminance.

---------

Co-authored-by: Alice Cecile <alice.i.cecile@gmail.com>
2024-05-03 17:45:17 +00:00
..
fantasy_ui_borders Slicing support for texture atlas (#12059) 2024-03-05 16:05:39 +00:00
Game Icons
parallax_example
rpg
simplespace
array_texture.png
basic_metering_mask.png Implement Auto Exposure plugin (#12792) 2024-05-03 17:45:17 +00:00
Ryfjallet_cubemap_astc4x4.ktx2
Ryfjallet_cubemap_bc7.ktx2
Ryfjallet_cubemap_etc2.ktx2
Ryfjallet_cubemap_readme.txt
Ryfjallet_cubemap.png
slice_square_2.png Sprite slicing and tiling (#10588) 2024-01-15 15:40:06 +00:00
slice_square.png Sprite slicing and tiling (#10588) 2024-01-15 15:40:06 +00:00
spiaggia_di_mondello_1k.hdr