Bloom in NEON GENESIS
Bloom in NEON GENESIS is different from a lot of other lighting mods. It's done in a very avant-garde and more functionally simple way. Zero-threshold, and normal blending.
What is bloom? And what makes NEON GENESIS different?
Bloom, at least, in the conventional definition of lens-based bloom (sensor bloom is different entirely and is an exposure issue), is the phenomenon of light entering the lens, bouncing around it, and scattering into the sensor.
This adds a slight flare to any bright light sources, which can be used to one's advantage when stylizing a photo.
However, games confuse the fact that bright light sources are bloomed with that only bright light sources are bloomed. This is simply not true. Any amount of light can enter the lens and scatter; not just a bright value at an arbitrary threshold—which is how bloom is implemented in nearly all game engines, which includes REDengine 4, Cyberpunk's engine.
A lot engines also blend bloom additively, which is wholly incorrect. This is not energy-preserving, you can't just add scattered light to the direct light itself, they both come from the same light source.
How does NEON GENESIS fix it?
We're fortunate enough to have the sceneColorScale and bloomColorScale variables in the bloom settings, as well as a customizable amount of downsample passes.
Because 2.0 introduced a more anamorphic approach to lens emulation (anamorphic depth-of-field, bloom, and chromatic aberration), we need more downsample passes than the default 8 passes. This is because the texture is stretched, as such, we require more blur to account for it. NEON GENESIS increases it to 10, which is the engine-enforced maximum. This gives very smooth, consistent and stable bloom.
As well as this, we set sceneColorScale and bloomColorScale to be proportional to each other. For example, if our bloom color scale is 20%, our scene color scale is 100% - 20%, which is 80%. This, paired with the by-default additive blend, makes it use a normal blend instead of the additive blend. NEON GENESIS also sets the threshold to be exactly zero, so everything is blurred, which is exactly how it works in real life, as there is no differentiation or threshold between the scattered light in the real world. It's just difference in the amount of scattered light.
0 comments