Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
dt_iop_filmic_params_t Struct Reference
+ Collaboration diagram for dt_iop_filmic_params_t:

Data Fields

float grey_point_source
 
float black_point_source
 
float white_point_source
 
float security_factor
 
float grey_point_target
 
float black_point_target
 
float white_point_target
 
float output_power
 
float latitude_stops
 
float contrast
 
float saturation
 
float global_saturation
 
float balance
 
int interpolator
 
int preserve_color
 

Detailed Description

DOCUMENTATION

This code ports :

  1. Troy Sobotka's filmic curves for Blender (and other softs) https://github.com/sobotka/OpenAgX/blob/master/lib/agx_colour.py
  2. ACES camera logarithmic encoding https://github.com/ampas/aces-dev/blob/master/transforms/ctl/utilities/ACESutil.Lin_to_Log2_param.ctl

The ACES log implementation is taken from the profile_gamma.c IOP where it works in camera RGB space. Here, it works on an arbitrary RGB space. ProPhotoRGB has been chosen for its wide gamut coverage and for conveniency because it's already in darktable's libs. Any other RGB working space could work. This chouice could (should) also be exposed to the user.

The filmic curves are tonecurves intended to simulate the luminance transfer function of film with "S" curves. These could be reproduced in the tonecurve.c IOP, however what we offer here is a parametric interface useful to remap accurately and promptly the middle grey to any arbitrary value chosen accordingly to the destination space.

The combined use of both define a modern way to deal with large dynamic range photographs by remapping the values with a comprehensive interface avoiding many of the back and forth adjustments darktable is prone to enforce.

Field Documentation

◆ balance

float dt_iop_filmic_params_t::balance

Referenced by legacy_params().

◆ black_point_source

float dt_iop_filmic_params_t::black_point_source

Referenced by legacy_params().

◆ black_point_target

float dt_iop_filmic_params_t::black_point_target

Referenced by legacy_params().

◆ contrast

float dt_iop_filmic_params_t::contrast

Referenced by legacy_params().

◆ global_saturation

float dt_iop_filmic_params_t::global_saturation

Referenced by legacy_params().

◆ grey_point_source

float dt_iop_filmic_params_t::grey_point_source

Referenced by legacy_params().

◆ grey_point_target

float dt_iop_filmic_params_t::grey_point_target

Referenced by legacy_params().

◆ interpolator

int dt_iop_filmic_params_t::interpolator

Referenced by legacy_params().

◆ latitude_stops

float dt_iop_filmic_params_t::latitude_stops

Referenced by legacy_params().

◆ output_power

float dt_iop_filmic_params_t::output_power

Referenced by legacy_params().

◆ preserve_color

int dt_iop_filmic_params_t::preserve_color

Referenced by legacy_params().

◆ saturation

float dt_iop_filmic_params_t::saturation

Referenced by legacy_params().

◆ security_factor

float dt_iop_filmic_params_t::security_factor

Referenced by legacy_params().

◆ white_point_source

float dt_iop_filmic_params_t::white_point_source

Referenced by legacy_params().

◆ white_point_target

float dt_iop_filmic_params_t::white_point_target

Referenced by legacy_params().


The documentation for this struct was generated from the following file: