I've been messing around a lot with Ambient Light's adaptation feature, it's quite nice for simulating HDR on LDR games, I've been wondering that since it supports stuff like Bloom and Heat Haze with adaptation, would it be possible to control SweetFX's Filmgrain with it as well?
Grainy pictures can come from ambients with low light sources, so whenever the adaptation shader reached a certain low "light level" it'd allow more film grain on the image. This is to avoid seeing film grain over Ambient Light's own 'bloom'/dirt effect which, while makes sense for 'film' aesthetics, it's not very adequate for a more realistic approach.
I feel like this wouldn't be very hard to do but I might be wrong, anyway the adaptation shader is pretty nice but it's quite hard to get it to look just right, without careful calibration just looking at sand can make everything else pure black.
I planned to make the adaptation output available globally in the framework (it kind of is alread) but had no time yet to set it up correctly.
In the meantime you might want to move filmgrain in front of the ambient light shader in the pipeline, that might have a similar effect.
For all brightness calculation I use a universally accepted formular (might have tweaked it a bit though) that has different weight for different colors. You can simply say, warm colors are considered more bright.
The administrator has disabled public write access.
Control filmgrain intensity with adaptation? 3 years 11 months ago #3