 d390420093
			
		
	
	
		d390420093
		
			
		
	
	
	
	
		
			
			# 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>
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
| [package]
 | |
| name = "bevy_core_pipeline"
 | |
| version = "0.14.0-dev"
 | |
| edition = "2021"
 | |
| authors = [
 | |
|   "Bevy Contributors <bevyengine@gmail.com>",
 | |
|   "Carter Anderson <mcanders1@gmail.com>",
 | |
| ]
 | |
| description = "Provides a core render pipeline for Bevy Engine."
 | |
| homepage = "https://bevyengine.org"
 | |
| repository = "https://github.com/bevyengine/bevy"
 | |
| license = "MIT OR Apache-2.0"
 | |
| keywords = ["bevy"]
 | |
| 
 | |
| [features]
 | |
| dds = ["bevy_render/dds"]
 | |
| trace = []
 | |
| webgl = []
 | |
| webgpu = []
 | |
| tonemapping_luts = ["bevy_render/ktx2", "bevy_render/zstd"]
 | |
| 
 | |
| [dependencies]
 | |
| # bevy
 | |
| bevy_app = { path = "../bevy_app", version = "0.14.0-dev" }
 | |
| bevy_asset = { path = "../bevy_asset", version = "0.14.0-dev" }
 | |
| bevy_core = { path = "../bevy_core", version = "0.14.0-dev" }
 | |
| bevy_color = { path = "../bevy_color", version = "0.14.0-dev" }
 | |
| bevy_derive = { path = "../bevy_derive", version = "0.14.0-dev" }
 | |
| bevy_ecs = { path = "../bevy_ecs", version = "0.14.0-dev" }
 | |
| bevy_reflect = { path = "../bevy_reflect", version = "0.14.0-dev" }
 | |
| bevy_render = { path = "../bevy_render", version = "0.14.0-dev" }
 | |
| bevy_transform = { path = "../bevy_transform", version = "0.14.0-dev" }
 | |
| bevy_math = { path = "../bevy_math", version = "0.14.0-dev" }
 | |
| bevy_utils = { path = "../bevy_utils", version = "0.14.0-dev" }
 | |
| 
 | |
| serde = { version = "1", features = ["derive"] }
 | |
| bitflags = "2.3"
 | |
| radsort = "0.1"
 | |
| nonmax = "0.5"
 | |
| thiserror = "1.0"
 | |
| 
 | |
| [lints]
 | |
| workspace = true
 | |
| 
 | |
| [package.metadata.docs.rs]
 | |
| rustdoc-args = ["-Zunstable-options", "--cfg", "docsrs"]
 | |
| all-features = true
 |