meta4d-me / CatDogEngine

A cross-platform game engine/editor written in modern C++ (WIP)
GNU General Public License v2.0
159 stars 17 forks source link

[PostEffect] Bloom #342

Closed T-rvw closed 1 year ago

T-rvw commented 1 year ago

bgfx bloom example only applies a very simple bloom effect without blur filter. So we need to try different blur filters(Gaussian for example) after downsample step. And think about PS/CS switch to improve performance such as UE, SpartanEngine and other open source game engines.

Except blur filters, some details should be careful:

  1. Bloom is not cheap so it requires an option(consider uber option) to enable/disable fully.
  2. UI options should have a collapse bar to make all bloom options as a group.
  3. Should do some performance testing.
  4. Should try different scenes to see if current implementation's advantages and disadvantages.
  5. Have a look at below documents. Learn more about industry level bloom techs.

Documents: Traditional Bloom in UE4 Unreal Engine - Image-Based (FFT) Convolution for Bloom Bloom in COD WareFrame SpartanEngine