Hello,
Currently stuck in my chair due to a minor mechanical issue ;-), I took the opportunity to finalize a project I started last year.
The “Legacy” rendering of the basic curve module has a visual signature that I really liked with my Pentax (*ist, K-r, K-5) cameras. It’s an excellent module, but it was designed for a different generation of sensors than today’s.
The goal: to offer the best of both worlds. Total control of the dynamic range and a “cinematic” rendering, without sacrificing the simplicity of the basecurve module.
Fidelity to the “Legacy” rendering
The old method (Fusion after the curve) has proven itself on my old cameras.
- The strong point: Immediate contrast and very flattering color management.
- Full backward compatibility: The module detects and preserves this historical workflow for all my existing photos. My K-5 developments remain strictly identical to my original processing.
Scene-Referred & ACES Workflow
Recent cameras capture such a wide dynamic range that the old workflow can sometimes feel “narrow” (halos appear in extreme blending). The new ACES branch I have implemented addresses this challenge with linear processing:
-
Intelligent Neutrality: When ACES or ACES 2.0 mode is selected, the historical curve is neutralized by default. It can then be used sparingly to act at the end of the chain (after ACES).
-
Scene-Referenced Merge: Exposure merging now occurs upstream, on the raw linear signal without creating artifacts.
-
ACES 2.0 Rendering: Coupled with merging, it offers incredibly smooth highlight management, with natural, cinematic gradients.
Simplified but powerful control
We keep the “curve” logic, but give it tools to sculpt the light before the final rendering:
- Highlight Gain: Adjusts the brightness of the merged highlights. This is the “punch” slider.
- Shadow Lift: Brightens dark areas while preserving natural texture.
Performance & OpenCL
All these new features are OpenCL compatible. I invite darktable developers to check the perfect synchronization of the code, especially the alignment of memory structures between the CPU and GPU.
In summary: The idea is to offer a hybrid workflow that is accessible to beginners while taking advantage of the power of darktable’s modern “Scene-referred” workflow.
Here is a short video that quickly demonstrates the hybrid aspect of the module.
The code is available HERE,
and the appimage Base curve – Google Drive
Greetings from Brussels
Christian



















