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.

Definition at line 101 of file filmic.c.

Field Documentation

◆ balance

float dt_iop_filmic_params_t::balance

Definition at line 115 of file filmic.c.

◆ black_point_source

float dt_iop_filmic_params_t::black_point_source

Definition at line 104 of file filmic.c.

◆ black_point_target

float dt_iop_filmic_params_t::black_point_target

Definition at line 108 of file filmic.c.

◆ contrast

float dt_iop_filmic_params_t::contrast

Definition at line 112 of file filmic.c.

◆ global_saturation

float dt_iop_filmic_params_t::global_saturation

Definition at line 114 of file filmic.c.

◆ grey_point_source

float dt_iop_filmic_params_t::grey_point_source

Definition at line 103 of file filmic.c.

◆ grey_point_target

float dt_iop_filmic_params_t::grey_point_target

Definition at line 107 of file filmic.c.

◆ interpolator

int dt_iop_filmic_params_t::interpolator

Definition at line 116 of file filmic.c.

◆ latitude_stops

float dt_iop_filmic_params_t::latitude_stops

Definition at line 111 of file filmic.c.

◆ output_power

float dt_iop_filmic_params_t::output_power

Definition at line 110 of file filmic.c.

◆ preserve_color

int dt_iop_filmic_params_t::preserve_color

Definition at line 117 of file filmic.c.

◆ saturation

float dt_iop_filmic_params_t::saturation

Definition at line 113 of file filmic.c.

◆ security_factor

float dt_iop_filmic_params_t::security_factor

Definition at line 106 of file filmic.c.

◆ white_point_source

float dt_iop_filmic_params_t::white_point_source

Definition at line 105 of file filmic.c.

◆ white_point_target

float dt_iop_filmic_params_t::white_point_target

Definition at line 109 of file filmic.c.


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