
# Objective - Simplify `Camera` initialization - allow effects to require HDR ## Solution - Split out `Camera.hdr` into a marker `Hdr` component ## Testing - ran `bloom_3d` example --- ## Showcase ```rs // before commands.spawn(( Camera3d Camera { hdr: true ..Default::default() } )) // after commands.spawn((Camera3d, Hdr)); // other rendering components can require that the camera enables hdr! // currently implemented for Bloom, AutoExposure, and Atmosphere. #[require(Hdr)] pub struct Bloom; ```
13 lines
514 B
Markdown
13 lines
514 B
Markdown
---
|
|
title: Camera Restructure
|
|
pull_requests: [18873]
|
|
---
|
|
|
|
As part of the rendering crate reorganization, we've been working to simplify Bevy `Camera`s:
|
|
|
|
- `Camera.hdr` has been split out into a new marker component, `Hdr`
|
|
- before: `commands.spawn((Camera3d, Camera { hdr: true, ..default() });`
|
|
- after: `commands.spawn((Camera3d, Hdr));`
|
|
- rendering effects can now `#[require(Hdr)]` if they only function with an HDR camera.
|
|
This is currently implemented for `Bloom`, `AutoExposure`, and `Atmosphere`
|