bevyengine / bevyengine/bevy

Allow usage of `Rg11b10Float` for HDR

Open
#13,011 0 comments 3 reactions 0 assignees View on GitHub
A-Rendering C-Feature
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

## What problem does this solve or what need does it fill?

This potentially gives a huge performance boost on weaker mobile devices.

E.g. in my game, I just changed `ViewTarget::TEXTURE_FORMAT_HDR` from `Rgba16Float` to `Rg11b10Float` and fps increased from 70 to 100 on my Xiaomi Note 8 Pro (midrange phone from 2019). In SDR the fps was about 110. No other changes were required to make it work.

## What solution would you like?

It could be a simple feature flag or a more convenient but complicated to implement run time option.

This format seems to be pretty imprecise (https://bartwronski.com/2017/04/02/small-float-formats-r11g11b10f-precision/) so shouldn't be used all the time.

## What alternative(s) have you considered?

## Additional context

There was some discussion about this in Discord rendering-dev, and it turns out the HypeHype engine uses this format too for mobile perf.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.