How Big Budget AAA Games Render Bloom

preview_player
Показать описание
Trying out some of the latest approaches to Bloom used in Unity/Unreal.

Disclaimer: Commission is earned from qualifying purchases on Amazon links.

Follow me on:

In this video, I tried going through some of the modern approaches to Bloom, explained a bit of the history, and where it may be going in the future. I walk through Kawase's Blur Filter, box and gaussian blurs and how to do separable filters, and explore the fourier transform and convolution bloom.

Referenced Papers/Talks:
Рекомендации по теме
Комментарии
Автор

Patrons can now vote for the next video! Thank you for your support.

simondev
Автор

I'm almost surprised there isn't just a hardware implementation for FFT in modern GPUs, it seems like it would be useful for many things

NNOTM
Автор

Using FFT for blurring and bloom is really awesome, I'm definitely going to play with that

hollyy
Автор

"Back in the day, we developers thought it looked awesome and so next-gen, and it kinda did, so how about shut up." Amazing. Thank you for all the info, btw!

FunSizedDragon
Автор

using the fft for image processing is really interesting, something I will definitely look into

one pedantic note though is that the karis average is actually for suppressing bright pixels not preserving them. The karis average helps with fireflies and shimmering artifacts by preventing really high hdr values from overwhelming the ultimately very small sample set of pixels.

Acerola_t
Автор

I love your explanations, they're so clear and concise, it really helps me understand these complex topics better even without a formal education. thanks so much for what you do :)

cnnabxnny
Автор

FFTs are super powerful. They are commonly used in signal processing to do essentially the opposite of bloom: remove artifacts of the sensor. This reverse process, so-called deconvolution, can for example remove the 6-star artifacts on the JWST images.

ProjectPhysX
Автор

There is a correct way of doing bloom, it's just way too computationally expensive to do in real time. The idea is to get the result of the diffraction of light around the aperture of th light capturing device ( eye or camera). The "blur and down sample" approach from advanced warfare was found to give results very close to the 1/d³ falloff of a real airy spot, which is the bloom you obtain with a round aperture at the focal point. The fact that it gets faster due to downsampling is a nice side-effect.

stephaneduhamel
Автор

This is an insane amount of info on bloom in just 13 minutes! Thanks to you I know there's faster and prettier ways of doing bloom and I might implement them in the future!

csaki
Автор

i have a feeling that some of the intense color grading and bloom seen in the 2000s was at least partly inspired by Need for Speed Most Wanted without taking into account why they did it and what look they were trying to emulate (a stylized bleach bypass)

TorutheRedFox
Автор

FFT-based glare is the same method I implemented for Megamind. It turns out that Fraunhofer diffraction through an aperture is essentially equivalent to an FFT. With that and making sure you rescale appropriately for each wavelength of light, you get the point spread function, which you can inverse-FFT and use to convolve. But since Fraunhofer diffraction is equivalent to an FFT anyway, the inverse FFT just gets you back to the simulation of your aperture, and you can just use that as your convolution filter... This means you can simulate the bloom based on a lens or even a human eye as long as you can adequately simulate the aperture. Yes Fresnel diffraction is more appropriate for an eye because of the short distance between the pupil and retina, but it's still pretty convincing in producing a glare that looks like glare you'd personally experience through your own eyes.

It would be cool to see FFT blur be practical in realtime... It is just plain simple and generic in the same way that ray tracing is.

parasharkchari
Автор

If the FFT is cheap enough, I'd love to try animating or dynamically changing the bloom shape one the fly.

DanielSavageOnGooglePlus
Автор

your vids are a blessing, and the demonstration of convolution bloom was especially eye-opening

nstryder-music
Автор

seriously perfect video, I cannot say enough how refreshing the format, tone, and pacing was. thank you

damiemcrea
Автор

One of the few channels I actually get exited when new content is released!

JuanRenoldi
Автор

HE's BACK! You are a legend my friend. You helped me so much along the way, thank you.

daniel_grindforce
Автор

The FFT is a heavy operation but it really frontloads your computational work as so many involved image manipulations can be done incredibly cheaply once you do get that transform.

spore
Автор

I'm glad you're still teaching. Industry massively lacking in content for anything beyond the Unity scene-graph, unless you dive into shaders... which I see you have a course now.

feitingschatten
Автор

Please keep going with these topics (more post-processing)! It's always a good day when you release on of your videos! 🙂

UstymUkhman
Автор

Well where was this video 2 years ago when I needed it? I think the shader I ended up using was Unity Style, so it’s nice to heave a clear explanation of how it works. Thanks!

nicrule
welcome to shbcf.ru