What's the best practice for matching colors between video/cgi for vfx shots in Blender?

More specifically: I have a simple scene that is lit with one light in real life (2700K). I have carefully recreated the scene in Blender, adding a point light with emission shader at K=2700.

The camera does white-balancing of the scene, so gray things are gray. Blender renders gray things as yellow/orange. I want to composite both into a single VFX shot.

Should I not worry about colors coming from render and correct them in compositing? Or is there a way to "white balance" a render?


2 Answers 2


Trying to match the placement, intensity and quality of the light sources is a good start. As for the color temperature, if the white balance was compensated in the camera for the original footage, then the white point for the scene is already in a different place, so you no longer need the original color temperature. Your light sources in blender should be achromatic (without color, or "neutral").

The crucial piece of information you need is: What color space is the original footage using? How is the scene encoded (Log, Linear? Is there a gamma correction baked into the footage?)

Blender generates scene referred data, so your video sources should be converted to the same kind of information. Make sure that you are converting the source from display referred data to the proper scene referred values to be used in blender's compositor.. In other words you need to make sure you are not mixing apples and oranges.

Once the data is in linear, scene referred values, you can use the CDL node in the compositor to match color, brightness, etc.

I would advise to stay away from curves in the color management section. It will open a new can of worms that might distort the results.

  • 1
    $\begingroup$ Scene referred values is a great tip here, thanks! Lead me to this treasure trove: paulchambers3d.com/blog/2017/8/22/… My video comes out of Canon 5D Mk4, clog (or rec709), encoded as mjpeg - which is post-processed (i.e. white balance) in camera. If I wanted to create a render to be composited outside of blender, how would that differ? Render as is and color-correct in davinci resolve or is there something smarter? $\endgroup$
    – Marcin
    Jan 16, 2020 at 5:37
  • $\begingroup$ Color correction is usually should be the last step, after compositing, or parallel to it, meaning that a LUT is generated for the data can be interpreted, and that LUT is used to visualize to the CG elements, knowing that both elements will go through the same transforms in the end. I would suggest sticking to the first option, since using LUTs in blender is not as straightforward. As for the encoding conondrum, the ideal is to record linear raw on camera (explore magilclantern the 5D). If you used C-Log, then export Linear EXRs from DaVinci, they will be scene referred, and import to blender $\endgroup$
    – user1853
    Jan 16, 2020 at 14:49
  • $\begingroup$ The ideal compositing scenario is to use linear data with scene referred values. Other thing to explore is using the CDL, The values used on that node cannot be exported directly (sadly blender has not implemented a way to write a file with it or import a text file), but the values used for the transformations can be used across platforms, since it is a standard notation. $\endgroup$
    – user1853
    Jan 16, 2020 at 14:56

You can balance black and white values directly in the viewport, by tweaking the black and white level values in the "color management" foldout, you have to check "use curves" :

enter image description here

Or afterwards in the compositor, using an rgb curves node. This one is easier to tweak since you can use the dropper to pick the desired color.

enter image description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.