Table of Contents
RealBloom is a bloom simulation / post processing tool for achieving more realism in 3D renders and HDR images.
RealBloom was started as a hobby project in late August 2022, inspired by AngeTheGreat's video on bloom and how to simulate it in a physically accurate manner. I highly recommend watching this video to get a basic understanding of how RealBloom works. Make sure to check out their GitHub page and their other projcets!
The ultimate goal of bloom is to achieve more realism in 3D renders that contain bright spots on dark backgrounds. For example, the sun in a blue sky, a car headlight at night, bright lights at a concert, a flashlight pointing directly at the camera, you name it.
RealBloom can be used to produce some other effects, including film halation, motion blur with arbitrary curves, uniform lens blur, etc. These, and more, can be achieved with the three main modules in RealBloom:
- Diffraction (2D FFT)
- Dispersion
- Convolution
RealBloom is written in C++ with Visual Studio 2022. The target platform is Windows. However, considering all the libraries used and most of the code for RealBloom are platform-independent, it should be fairly easy (ish) to port to other major desktop platforms.
Library | Used for |
---|---|
GLEW | OpenGL extensions |
GLFW | Window and context creation |
Dear ImGui | Graphical user interface |
NFD Extended | Native file dialogs |
OpenColorIO | Color management |
OpenImageIO | Reading and writing images |
PocketFFT | 2D Fast Fourier Transforms |
dj_fft | 2D FFT on the GPU |
pugixml | Parsing and serializing XML files |
Rapidcsv | Parsing CSV files |
RealBloom requires Microsoft Visual C++ Runtime in order to run properly. To get RealBloom, you can download the latest release here.
-
64-bit version of Windows
-
4 GB of RAM
-
GPU with OpenGL 3.2 support
If you're using RealBloom for the first time, check out this step-by-step tutorial on getting started with RealBloom, along with more details and information about the project. This will cover most of what you need to know.
The project was made for Windows and built with MSVC. To build a local copy of RealBloom, have a recent version of Visual Studio ready.
RealBloom uses vcpkg to link some of the libraries, specifically, OpenColorIO and OpenImageIO. Here are the basic steps to install vcpkg and the mentioned libraries.
-
Follow the vcpkg installation instructions to install vcpkg and enable Visual Studio integration.
-
Run the following command from vcpkg's root directory:
vcpkg install openimageio[opencolorio,tools]:x64-windows --recurse
Note that this might take some time to finish.
Now, to build RealBloom,
-
Clone the repo:
git clone https://github.com/bean-mhm/realbloom.git
-
Open
RealBloom.sln
in Visual Studio. -
Build the solution and run
RealBloom.exe
. Feel free to explore and play with the code!
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
See open issues for a full list of proposed features (and known issues).
Distributed under the AGPL-3.0 license. See LICENSE.md for more information.
☀️ RealBloom Community Server: Discord
🧑💻 Harry Bean (Developer): Email
🔗 Project Link: GitHub