HDR image manipulation for free with GIMP 2.9

Posted in Software on 18 July 2016

Lately I've been playing around with HDRI maps and creating my own 360 HDR panos to use for image-based lighting with Redshift.

Bumpercars in the evening pano

I quickly realized that some of those maps would need to be tweaked a bit for a better result. For that you need some piece of software... like Photoshop for example. Unfortunately Photoshop costs money and even with subscription may not be the best choice for a hobbyist on a budget. Besides, Photoshop isn't the only tool on the market that can do this, right?

GIMP logo

I then turned to GIMP only to find out that current stable version didn't support floating point image manipulation of any kind. What I didn't know was that GIMP team have been long working on the new color management implementation which would support HDR workflows and more!

Turns out a week ago they actually released the 2.9.4 version of GIMP with numerous improvements over the 2.8.x branch. At the moment it's only available in the form of a development snapshot in git, but if you wish to give it a go right away without compiling it yourself, you can try out the experimental GIMP builds from partha.com.

I've tested the latest experimental GIMP 2.9.3 which comes with an awesome dark skin and found it a blast to work with! It also sports a new look which is so much better than the old one it's hard to believe that it's the same piece of software!

New GIMP 2.9 skin and layout

2.9 branch introduced floating point image manipulation and a large number of updates to the color management implementation which now allows GIMP to natively work with high dynamic range images.

32-bit workflow in GIMP

At the moment it wouldn't be fair to compare GIMP's floating point manipulation abilities to those of Photoshop, so I'll just list the good and the not-so-good of what you'll get if you choose GIMP for HDR image manipulation:

The good:

  • Completely 100% free.
  • Correctly resizes floating point images.
  • Has OpenCL acceleration for some of the tools!
  • Color picker tool can display actual floating point pixel values.
  • You can paint with values over 1 by picking colors from the image and using the brush, although the color selection window still displays 8-bit color values.

GIMP color selection widget

  • Exposure tool is very similar to the one in Photoshop which is great news.

HDR exposure in GIMP

After -2 EV correction:

EV HDR correction in GIMP

  • Reads EXRs compressed with any of the standard methods.
  • Did I mention that you get all of these tools for free?

All in all, you can actually use GIMP 2.9 to manipulate your HDRI maps which is something I've been successfully doing for the past week.

The not-so-good:

  • Due to EXR IO support being quite basic you cannot currently change EXR save options (like compression or alpha channel prefs). Hence images always get saved with a (rather weak) ZIP blocks compression. Because of this resulting files are usially 50-60% larger than those saved from Photoshop (I usually prefer PIZ, then ZIP compression when saving out my EXRs).
  • There is no layered EXR support. Coming (hopefully) in GIMP 3.
  • Saving 32-bit EXRs sometimes produces broken images. Mostly applies to large (over 4000px wide) images, so avoid exporting large 32-bit HDRIs. It's pretty much pointless anyway since 16-bit (half) float is plenty, so not much of a con here.

Broken EXR image saved from GIMP

Get GIMP

  • Experimental GIMP 2.9.X builds. I recommend downloading the GIMP 2.9.X 64-bit Experimental, not the patched version since patched 2.9.3 was crashing on me with any EXR images.
  • Check out this link for more comprehensive info on the high bit depth support in the GIMP 2.9 branch.