Photographer - Camera Exposure, White balance, Autofocus and Physical Lights


I am releasing my first addon for Blender: Photographer! What does it do?

  • Adds Camera Exposure controls, per camera
  • Adds Camera White Balance, per camera
  • Adds Render resolution and Ratio presets, per camera
  • Adds Autofocus Single and Autofocus Continuous to your camera
  • Control Motion Blur using Shutter speed or Shutter angle
  • Adds Physical Light units and Color temperature (version 3 only)
  • Supports Eevee, Cycles and LuxCore

Old version 2 is available for free:

You can learn more about it by watching these videos:

Latest version for Blender 2.8x: 2020/05/20 - 3.1.1.

  • LuxCore : Fix Radiance to Luminance conversion of Physical Lights.
  • LuxCore : Camera Exposure is set Off by default when adding camera from panel. This is to make sure LuxCore Tonemapping gets properly updated when turning Exposure On.
  • Fix 2.82 version misleading warning. The add-on is compatible with 2.82.


  • Supporting animations in the viewport and rendering for Physical Lights and Physical camera.
  • Master Camera animation support, with new Set Key button.
  • Physical Light panel can now be used with LuxCore.
  • A lot of small fixes for better user experience, and code cleanup.


  • Auto Light Sampling Threshold set OFF by default as it kept refreshing the viewport.
  • Adding new warning and button in the Exposure Panel when Light Sampling is too far from its optimal value.
  • Added Preferences option to hide the warning if you find it annoying and you want to manually take care of the Light Sampling.


  • Auto Light Sampling Threshold: the value will update automatically when changing scene exposure. Can be disabled in the Preferences, which will add back the Calculate button in the render settings.


  • Fixed panel classes unregistering.


  • New Photographer panel in the 3D View. You can place Photographer options into existing panels in the Preferences.
  • New Scene Camera settings with Preset support
  • Fixed White Balance viewport refining issue when moving the mouse
  • New custom ratio option in the Resolution panel
  • Refined Exposure math and introduced Lens Attenuation factor to match Unreal. This option should help matching cine lenses and T-Stop values.
  • Adding Physical Light units (optional or additional panel in the Light properties
  • Adding Color Temperature to Light properties without using nodes (compatible with EEVEE)


  • Fixed settings that wouldn’t update if Exposure controls was turned off
  • Added False Color checkbox in Exposure to validate your exposure


  • Fixed LuxCore Depth of Field F-Stop issue.
  • Fixed restoring previous selection when creating AF-Tracker.


  • Adjusted default exposure value to make sure exposure is physically correct.
    WARNING: This means that old scenes that were using previous versions of Photographer will look darker by 1.61 EV.
  • New Exposure Compensation slider, similar to real cameras.
  • Compatible with LuxCore. You can now easily switch between Cycles and LuxCore using Photographer and physically based light intensities.
  • White Balance picker now samples a square of 9*9 pixel for more accurate reading on noisy renders. - Small fix to disable the Aperture setting if “Affects Depth of Field” isn’t checked in EV mode.


  • Camera list in the right panel.
  • Master Camera that can fly between cameras
  • Set warning when AF-S while there is a focus object defined in the camera (AF-C only shows warning in the console at the moment, it will require more work).


  • Supports latest Blender 2.8 builds after the API lock. Please make sure to update your Blender 2.8 as it won’t work with older builds.
  • Fixed White Balance Picker that was broken
  • Added Autofocus Animate
  • Added AF-Track to add a tracker on the surface of an object


  • New Continuous Autofocus setting to set the update interval
  • Focus Distance in the header is now available with AF-C
  • Updated to work with new Depth of Field API
  • Using new app.timer for cleaner code. Should be less expensive that way.
  • Depth of Field using Radius value seems to have been removed from the UI, so now Affect Depth of Field will simply turn on or off the Depth of Field. Aperture is the way to go.


  • Autofocus ray-cast change, it works with instanced collections now.
  • AF-C won’t be as expensive as it sends rays less often.
  • Hiding AF-C and AF-S header buttons if not looking through camera


  • UI improvements based on @William 's suggestions, thanks a lot for your help!
  • The UI should now be less “jumpy”, enabling or disabling settings instead of hiding them.
  • Relevant information is visible even when collapsing panels. I prefer to keep this kind of info visible as I tweak the settings rather than in a different panel.


  • Thanks @joemoehobo for starting porting over to 2.8, thanks @hypersomniac for the viewport update trick.
  • Changed context.user_preferences to context.preferences (API change)
  • Little cleaning.

Latest version for Blender 2.79: 2019/01/9: 1.2.3.


  • Fixed Blender autosave by removing the auto-apply. If you changed Resolution, Color management Curves or Depth of Field default blender settings, they will override the Photographer settings. You can use that button to reapply the Photographer settings all at once.


  • Fixed typo, this is unforgiveable.


  • Fixed error if there are no cameras in the scenes.


  • New exposure calculation: previous formula was incorrect, it is now fixed and makes EV stops work is a realistic manner.
    However, updating will affect the exposure of the scenes you had already worked on. Sorry for the inconvenience.
  • New nightly builds have got a fix for extended exposure range (now 64 stops, used to be 20), which allows the addon to work even for exposure that use to be out of realistic range. Feel free to upgrade your blender.
  • Fixed bug that would override Color Management Exposure even if Photographer Exposure control was turned off.
  • Fixed bug where using Shutter Speed presets would not update the EV guide properly.


  • More accurate Color Picker
  • If the raycast fails for whatever reason, it will now throw an error and not keep you locked with the picker icon.


  • Fixed context error that affected Resolution settings.


  • Now using Modal Timer to apply settings, works similar for nightly and official builds. Much more optimized for the CPU.


  • Adds support for real camera values in a drop down menu instead of sliders
  • Adds addon preferences to pick default behaviors


  • Adds motion blur controls using shutter speed or shutter angle


  • Addon will now work for both nightly builds and official blender versions, no need to install a different version.
  • Supports Troy Sobotka Filmic color profile ( This is a slightly different implementation from the official 2.79 one (watch Bartek Skorupa’s explanation here: )
  • Hides focus distance in 3D view header when AF-C is active to avoid confusion.


  • Removed Photographer Panel button to avoid confusion with AF buttons.

Thanks to lacilaci86, Eary_Chow and lsscpp for testing and giving feedback.
Let me know if you encounter any issue or if you have suggestions!


I tried Blender 2.79 and 2.79b. Got this error:
AttributeError: Writing to ID classes in this context is not allowed: Camera, Camera datablock, error setting Camera.dof_distance

When I click the checkbox in the Camera object Data tab, all settings dissapear.

Any idea what is could be?

Official versions seem to be, rigthfully so, more picky than the nightly builds. I’ll try to fix it ASAP.

EDIT: Fixed the issue.
If you want to make sure that the camera settings update properly when changing active cameras, please use the Make Active button in the Photographer panel.

You will also have to manually Reapply the settings if you changed the other properties in the Scene or cameras… this is less than ideal.

Congratulations Fabien! Nice work.
I especially love the per camera resolution feature. An invaluable addition to Blender imho.

Thanks, after the fix it works now.
I will experiment with it. So far I enjoy the whitebalance and ratios.

I love it!

I noticed the AF-C could spam an error, it’s fixed now!

This is just what I have been waiting for,
absolutely brilliant.

great features… exposure per camera mainly. thank you

Very good addon - it’s so helpfull to find a mood a final render:)
Are You planning add some features like Corona VFB has? Contrast, some corrections for highlights (highlight compress), filmic highlight and filmic shadows, saturation, or some vignette and LUT or glow and bloom? It’s so potential addon, man - You’ve opened new ways to preparing renders in blender:)

1 Like

Well the full potential of an addon like this, would be to have the entire color management and render settings bound to cameras, or to word it better, have those settings overridable per-camera.
But hey! It’s version 1.0 :wink:

1 Like

Wonderfull, a Time and Color Saver.

As you may have noticed, the white balancing is only controlling White Levels of the Curves in the Color Management. Anything that can be done with curves is doable:

  • Contrast should be pretty easy. You do have different contrasts available to you in the Look menu, although I have to admit they are not very flexible, and not per camera (only per scene)

  • As far as I understand, Filmic shadows works like contrast… would have to test it to know what it does exactly.

  • Highlight compress should be doable, although not sure it’s really needed if you use Filmic tonemapping…

  • Saturation can’t be done with curves. Although the same way you can use LUTs for contrasts, we could have different levels of saturation there and control it per camera…

  • LUTs… to be honest I wished there was an easier way to make LUTs for Blender. Exporting Cube files from Resolve is pretty straight forward, but having to convert them to spi3d LUTs is kind of a pain. Because the functionality is already there, you can copy any OCIO LUTs to Blender\2.79\datafiles\colormanagement\filmic and you’re set.

  • Vignette, glow and bloom: these are post effects, easily done in the Compositor as you probably know, but not possible to do in the Viewport with the way Blender works right now. Probably needs C++ features. Hopefully bloom can be added in 2.8 as a post pass as it already exists for Eevee.

Googling about generating spi3d files, I came across this really AMAZING tool:
Oh god, this is so perfect.

Nice work ! Thx !

Great work. Thanks

This is really nice to work with.

Thanks! I noticed that the AF-C would not work if the Photographer panel was turned off, so I removed the Panel button entirely. It was just adding complexity for no real reason.

Noticed some errors when turning on and off the addon, this should be fixed now in the latest version. Sorry for the inconvenience.

FYI, the Focus Distance in AF-C doesn’t always update in realtime in the 3D view header, you have to do an action (like mouse click) or move the mouse over it to refresh. But don’t worry, the focus is done properly.
I’m looking for an elegant solution to refresh the UI in a cheap manner.

Very Good! This is what I want.
Thanks you for sharing!