Releases: bean-mhm/realbloom
v0.7.0-beta
RealBloom v0.7.0-beta
This version comes with many quality-of-life enhancements and new features. Here's a quick summary of what's changed!
Diffraction
- The output is now perfectly centered and sharp due to forcing odd resolutions (example: 501x517).
- Now defaults to linear normalization for more realistic results. Logarithmic normalization can be optionally enabled.
- Removed the Aperture slot. Diffraction Input and Diffraction Result should be used instead.
- The output no longer goes into the Dispersion Input slot. You can use the new Move To button in the Image Slots panel to move the contents of Diffraction Result into Dispersion Input.
Dispersion
- Now using proper logarithmic scaling.
- The new Edge Offset parameter defines whether to scale inward, outward, or in between.
Convolution
- The FFT CPU method now supports deconvolution (experimental).
- Renamed the LAYERS section to BLENDING.
- Minor improvements
Image Transforms
You can now apply an Image Transform to input images in modules for basic corrections and modifications. Adding Image Transforms allowed for a much simpler UI layout and cleaner code. You can read more about this in the updated tutorial. A new image-transform
command has also been added to the CLI.
Color Management
- Now using grace as the default user config and the internal config.
- Minor improvements
Drag 'n Drop
You can finally drag and drop an image file into the main window to load the contents into the selected slot.
UI Layout
- Added a Move To button in Image Slots for moving the contents of one slot to another.
- Added a Clear button in Image Viewer for clearing and resetting the contents of the selected slot.
- All modules are now in separate tabs/panels.
- Minor layout changes and improvements
CLI
- New command
image-transform
was added to apply an Image Transform to any arbitrary image file. - Updated the arguments according to the new features and options added in different modules.
Code
- Many loops have been accelerated using OpenMP parallelization.
- Fixed invalid includes for OCIO and OIIO, the code no longer includes the sources and binaries for these libraries. The How To Build section in
README.md
now explains how to install and use vcpkg for linking with said libraries. - Performance improvements, bug fixes, and code cleanups
Tutorial
The tutorial has been updated to match the latest changes. If you are confused by any new changes, I suggest rereading the tutorial from scratch.
Other
There have been many small changes made to different parts of the code. This may lead to inconsistent results between this version and the previous ones. See the commits for a detailed list of changes made to the code over time.
v0.5.0-alpha
RealBloom v0.5.0-alpha
This version focuses on new features along with many small tweaks and improvements, to hopefully deliver a better overall experience. Here's what's new.
Color Management
- RealBloom now comes with a custom OCIO config, made by using Troy Sobotka's new AgX config generator and Eary Chow's version of AgX.
Image IO
-
A new IMAGE IO section has been added for adjusting image input/output color management settings. The user is no longer prompted to choose a color space when importing/exporting images.
-
More output image formats are now supported, including TIFF, PNG, and JPEG. The active view transform is applied to non-linear formats like PNG and JPEG and can be optionally applied to linear images as well.
-
Upgraded to Native File Dialog Extended.
Dispersion
- A GPU method has been implemented, allowing for much faster simulations.
Convolution
-
A new experimental GPU FFT method has been added. This method performs poorly as of now and is intended to improve in later releases.
-
New Kernel Color parameter for colorizing the kernel
-
The threshold knee is now transformed exponentially.
Main
-
The GUI now requires OpenGL 3.2.
-
The main config is now stored in an XML file (
config.xml
).
CLI
-
The new CLI provides an interactive way to perform actions. You can enter the CLI by running
realbloom cli
, usehelp
to get a list of the supported commands, and exit the program withquit
. This saves a lot of resources previously used for initializing and cleaning up during repeated tasks such as batch processing a sequence of images. -
The CLI now requires OpenGL 3.2.
-
New commands for getting a list of the available
displays
,views
, andlooks
in the OCIO config -
New output color management and view transform arguments in
diff
,disp
,conv
, andcmf-preview
-
New
--gpu
option indisp
-
New
--kernel-color
argument inconv
-
Removed
--compact
incolorspaces
, it now prints compact output by default, unless--verbose
is used. -
demo/Scripts/anim_conv.py
has been updated to work with the new interactive CLI.
More
- Layout improvements
- Improved code quality and structure
- Performance boosts and bug fixes
- Improved state handling in modules
- Better error handling and reporting
- Dispersion color and kernel color are now applied live in preview.
- New Compare button for Dispersion Input and Dispersion Result
- Updated demo images
- Now including licenses in the build directory
v0.4.3-alpha
RealBloom v0.4.3-alpha
This version brings minor changes and improvements. Here's what's new.
-
Color pickers, color buttons, and color tooltips now use the active display/view transform.
-
New "Auto-Exposure" option for convolution which helps match the brightness of the convolution output to the input.
-
Removed the kernel normalization option.
-
File dialog paths are now stored separately for each slot. As an example, if you are continuously opening kernel images from a
Kernels
folder, and aperture images from anApertures
folder, the file dialog will store the individual directories for each image slot. -
Image Viewer now displays the image source filename.
-
New
--compact
option for thecolorspaces
command -
Added a template Python script in
demo/Scripts
for performing convolution on a sequence of frames. -
Minor improvements and bug fixes
v0.4.1-beta
RealBloom v0.4.1-beta
This version brings a lot of changes and improvements, but here's a quick summary of what's new.
FASTER EVERYTHING
All three modules are now much faster and more optimized.
-
New FFT Convolution Method
... which is orders of magnitudes faster than previous methods. (Spoiler: GPU FFT Convolution coming soon!) -
Multithreading for Dispersion
... allowing for more efficient simulations. -
Now using PocketFFT
... for more overall performance and consistency.
COMMAND LINE INTERFACE
The new CLI makes RealBloom's functionalities accessible from within a terminal, or any other program. That's right, you can now do animations and design automated workflows that use RealBloom! Get started by running realbloom help
.
COLOR MANAGEMENT
RealBloom now supports accurate color management, tone mapping, and more image formats, thanks to utilizing new industry-standard libraries.
-
OpenColorIO
... for accurate color management throughout the program. RealBloom uses a fork of the new experimental AgX config made by Troy Sobotka, the author of the Filmic config for Blender, and a true master of color science. The default OCIO config for RealBloom can be swapped with your own custom one. -
OpenImageIO
... to support a - very - wide range of image formats, including OpenEXR. -
Color-Matching Functions
... for more accurate Dispersion. You can use and preview any arbitrary CMF table. RealBloom comes with 3 tables by default.
A FRESH LOOK
The user interface has been redesigned and re-themed for a more modern and comfortable look.
DEMO CONTENT
New demo content has been added.
-
More Apertures
-
New "Kernels" Folder
... with premade and ready-to-use kernels. Includes a custom gaussian kernel generator. -
Updated HDR Images
-
Now using OpenEXR
AND MORE
- Diffraction Pattern can now work with any dimensions and aspect ratio
- Mix mode for blending the convolution result
- Support for non-uniform scaling and cropping of the kernel
- Can now disable kernel normalization
- New sophisticated XYZ conversion system
- More intuitive image slots
- New S-shaped contrast curve
- Bug fixes and performance improvements
WHAT'S PLANNED
In the next few months, I'll be working to make the current set of features utilize the GPU, for more performance.
- Dispersion on the GPU
- Diffraction Pattern (FFT) on the GPU
- FFT Convolution on the GPU
- Image transforms on the GPU (e.g. kernel scaling)
THANK YOU
As always, thank you for spending the time to read through this. Please make sure to report any bugs that you might encounter, and request any features that you want to be added to RealBloom. Your contributions and feedback are greatly appreciated. Have a bloomy day!
SPECIAL THANKS
I'd like to say a huge thank you to Nihal and their colleagues for supporting the development of RealBloom by helping with research, testing dev builds and finding bugs, suggesting new features - including a CLI, the use of OCIO, adding demo kernels and a gaussian kernel generator, etc. - and trying out RealBloom on their artworks and renders.
v0.2.0-beta
Initial Release