ACES and the ColorChecker - Part One

Tags: #<Tag:0x00007fa8f875f820> #<Tag:0x00007fa8f875f6e0> #<Tag:0x00007fa8f875f5a0> #<Tag:0x00007fa8f875f460> #<Tag:0x00007fa8f875f320> #<Tag:0x00007fa8f875f1e0>

I use the X-Rite ColorChecker Classic, Photo and Video to color balance and match the exposures of plate photography (from digital cinema cameras or DSLR photo cameras) to 360° HDRIs in ACES. A 3D scene is then lit by the HDRI and if everything went well, the 3D render should match very good to the background plate.

I finished up an introduction to a topic that “riddles” me a lot over the last years. The color patches on the ColorChecker in plates photography and HDRIs. This is Part One. Comments and feedback are welcome. Thanks.

1 Like

Two things are likely showing for you.

Some cameras do not show a pure linear which shows when the gray scale does not match but one patch does. The iPhone is a good example it precorrects to make it look good on the iPhone display. The other color issue is that 3x3 matrices cannot bring in all colors unless you are rendering RGB with the exact same spectral sensitivities as the camera had. There will always be some colors that are not quite. In fact, neutrals can match but all colors can be ‘off’. The average error can be pretty low which is somewhat the goal with ACES, but perfection requires full 1nm or better spectral rendering which isn’t practical.


this is a great topic to see coming up here. I have been working on automated HDRI sphere capture robot that uses a 5d mk2 (the hardware and software is all open source if anyone is interested and the ACES link with this is something i have been looking forward to getting more clarity about.

a question.
is it appropriate to try to match a 32 bpc HDRI image to the ACES gamut?
my understanding (admittedly rudimentary) is that and HDRI image is more akin to radiometric data than what we typically think of as an RGB image.

wouldn’t the goal be to create as close to a linear 32 bpc HDRI file as is possible with the bracketed images and use that to light the 3d scene with 32 bpc rgb then target the render output either to a linear or perhaps aces space?
i’m sure i’m missing some important details here so i am looking forward to learning how wrong i am about this.


ACEScg, BT.2020 or P3 are good RGB colourspaces to encode HDRI data with, 32-Bit Float is recommended as you will likely clip your data with 16-Bit Half, i.e. 65504.

1 Like

i am certain my ignorance of the details here is holding me back, but i struggle to find places to learn so I appreciate your help.

isn’t the HDRI sphere that is used as the emitter in a 3D scene relying on the 32 bpc of data to not only get the color correct, but also the intensity of the emitter?
my (probably incorrect) understanding is that the renderer would see each pixel as a light source in the ray tracer and for that needs the color and energy. if you go to 16 bpc is there enough data for that?
I feel like my understanding is missing a fundamental piece of this puzzle, so hopefully my question isn’t so far off base that it doesn’t make sense. :grin:

Entirely depends on the HDRI, if the maximum value is under 65504, then you are fine with a 16-Bit Half encoded HDRI. 32-Bit Float will help to go above that value and will bring more precision, at the expense of larger storage space. That being said I don’t think one could see the difference between the two files.

1 Like

Hi Jim,
thanks for your explanation.
I find it very useful and good to understand.

Hopefully I can finish up the next part of the webpage soon and learn more about this topic.

Best regards


Hi @TooDee,

Went through the blog post quickly, something I would suggest is to lay the ColorChecker flat where you are shooting the HDRI. A few reasons for that:

  • The Illumination captured by your HDRI is only right at the very single point where the lens entrance pupil was, anywhere else and you start to introduce error, thus the ColorChecker needs to be very close.
  • The ColorChecker to be useful in this context should be sampling as much of the same Illumination than the HDRI, given that we are mostly interested by the upper hemisphere, it makes sense to put it flat pointing to the sky so that there is no preferred angle in the upper hemisphere that would bias the measured values.



Hi Thomas,

I’ve been lurking on this thread and it’s been helpful for me establishing my own personal setup.

Your suggestion to lay the color checker flat makes a lot of sense to capture the dominant diffuse reflection.
Often the habit (at my current VFX company) is to repeat the first or last photo of an HDRI Pano to get the color checker, but generally it’s just presented to the camera straight on (with grey and steel balls attached).

Do you have any practical suggestions on how to capture the horizontally flat color checker in a timely fashion?

In our current workflow, I would worry if it was presented it at an oblique angle to the camera you would introduce more fresnel reflection on the card and skew your results?

Or the alternative is another camera position setup (adding a time consuming step) with the camera pointing as far down as possible to get the color checker as flat-on as possible. But sometimes this is hard to sell this on-set when people are waiting.

Any advice welcome.


1 Like


Welcome to ACESCentral…thanks for your first post!

Steve T and the ACES Team


I guess it depends on the Camera/Lens combination you are using. I usually put it on the floor or a box a few steps away from tripod. You might/can also shoot a top/down brackets series specifically for the chart.



@stobenkin Thanks!

We’re usually using a 8mm fisheye tilted up slightly with 4 sets of brackets at 90 degree intervals.

So this would put the color checker at quite an off-angle from camera.

So again, I’d worry that the measurements from the color checker would be quite skewed by the more exaggerated fresnel reflection on the card - but perhaps in practice it does not matter as much as I think?

I guess I’ll try a few experiments when I get a chance with a 5th camera angle pointing down with the color checker under the tripod.


Yes, in this case I do shoot a specific brackets series top-down to minimise reflections on the ColorChecker

When shooting with the 16mm I always have one top-down, so it is part of the process anyway.