Closed
Conversation
Contributor
|
For your awareness: There is already another open pull request adressing some of the issues you brought up in your YouTube comment: |
Contributor
Author
|
Thanks! I'll close this PR and and see if my contribution can be useful in #6677 instead |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Objective
Explanation
What is bloom
Bloom occurs in real life when light passes through an imperfect medium such as a lens and slightly scatters around before continuing on its way to the sensor or the retina. Bloom is effectively just a blur effect created by imperfections in glass or human eyes.
Motivation
To emulate it in a natural-looking way it should be energy-conserving and based on its real-life counterpart. The existing implementation is quite close but it does not emulate the scattering perfectly and is certainly not energy-conserving. As a result, the current implementation is easy to configure in an obnoxious way and ruin the look of the game.
Examples
Bloom example with existing implementation:
Bloom example in this PR:
Lighting example with existing implementation of bloom:
Lighting example with bloom in this PR:Note: The existing implementation could look closer to this PR if the intensity is turned down, however, the existing implementation never results in a natural look at high intensity values, that is what the examples try to highlight.
Existing implementation with intensity of 1 (not related to a physical parameter):
Bloom in this PR with intensity of 1 (light is equally as likely to exit at any point of the lens). This is still WIP since the whole screen should be the same colorSolution
Changelog
Changed:
Migration Guide
thresholdandkneefields from all instances ofcore_pipeline::bloom::BloomSettings.debloomingfiled to approximate the look threshold values above 0 created.