Bloom - это один из кинематографических эффектов постобработки, при помощи которого наиболее яркие участки изображения делаются еще более яркими. Это эффект очень яркого света, проявляющийся в виде свечения вокруг ярких поверхностей, после применения bloom фильтра такие поверхности не просто получают дополнительную яркость, свет от них (ореол) частично воздействует и на более темные области, соседствующие с яркими поверхностями в кадре. Проще всего показать это на примере:
В 3D графике Bloom фильтр делается при помощи дополнительной постобработки - смешивания смазанного фильтром blur кадра (всего кадра или отдельных ярких его областей, фильтр обычно применяется несколько раз) и исходного кадра. Один из наиболее часто применяемых в играх и других приложениях реального времени алгоритм постфильтра bloom:
Сцена рендерится во фреймбуфер, интенсивность свечения (glow) объектов записывается в альфа-канал буфера.
Фреймбуфер копируется в специальную текстуру для обработки.
Разрешение текстуры уменьшается, например, в 4 раза.
К изображению несколько раз применяются фильтры сглаживания (blur), на основе данных об интенсивности, записанных в альфа-канал.
Полученное изображение смешивается с оригинальным кадром во фреймбуфере, и результат выводится на экран.
Как и другие виды постобработки, bloom лучше применять при рендеринге в широком динамическом диапазоне (HDR).