Skip to content

50asa/shitsukan-diffusion-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Shitsukan Diffusion Kit v1.0.2

Free multi‑tap optical diffusion emulation for DaVinci Resolve Studio.

Creator: Stephan Wagner
License: MIT
Status: Stable (tested on macOS Metal, CUDA)


Overview

Shitsukan Diffusion Kit is a compact toolkit that emulates optical diffusion filters (Black Pro‑Mist, Glimmerglass, etc.) inside DaVinci Resolve using a scene‑linear, multi‑tap bloom architecture.

Instead of one large blur, the kit builds bloom from four blur taps at geometrically increasing radii, each with its own weight. A dedicated veil pass then adds the low‑frequency softness and highlight desaturation associated with classic glass diffusion.

This project is intended for:

  • Colorists who want a controllable, node‑based diffusion workflow.
  • Resolve users who prefer to understand and shape the look themselves rather than rely on black‑box plugins.

There are excellent ready‑made commercial tools available. Shitsukan Diffusion Kit deliberately takes the opposite approach: everything is visible, documented, and hackable.


Features

  • Scene‑linear compatible
    Designed for DWG/Intermediate, ACES and other scene‑referred workflows. Bloom is added in linear, where additive operations behave more like light.

  • Four‑tap bloom chain
    Highlight extraction → 4 blur taps with increasing radii → additive summation. This approximates a heavy‑tailed point‑spread function (tight core, wide wings).

  • Two focused DCTLs

    • HighlightExtract.dctl — soft‑threshold highlight isolation.
    • ProMistVeil.dctl — per‑pixel veil with black suppression and highlight desaturation.
  • PowerGrade‑friendly
    Supplied as a .drx so you can drop it into a node tree, tweak it once, then reuse it across shots.

  • Transparent & extensible
    All parameters live in the Color page: blur radii, tap weights, thresholds, veil strength. Extend to 5/7 taps, add halation, or retune for different “filter families”.


Node Graph Architecture

Recommended Resolve topology:

01_CST_IN         # into DaVinci Wide Gamut / scene-linear
  -> 02_Base      # base grade
  -> 03_HighlightExtract (DCTL)
      -> Tap1
      -> Tap2
      -> Tap3
      -> Tap4
      -> LayerMixer_Bloom (Add)
  -> LayerMixer_Mix (Add)  # base + bloom
  -> ProMistVeil (DCTL)
  -> CST_OUT      # back to display / output space

Tap weights (default 4‑tap preset)

Tap Relative radius Gain
1 0.50
2 0.35
3 0.20
4 0.10

Blur radii (HD, by eye):
Tap 1 ≈ 0.6–0.8, Tap 2 ≈ 1.3–1.6, Tap 3 ≈ 2.6–3.2, Tap 4 ≈ 5.0–6.5.

Resolve’s blur radius is not pixel‑linear, so treat these as visual ratios, not hard pixel sizes.


Visuals

Place these files in images/ and the README will render previews:

  • images/node-tree.jpg – full node graph
  • images/highlight-extract.jpg – HighlightExtract settings
  • images/promist-veil.jpg – ProMistVeil settings
  • images/unfiltered.jpg – base frame
  • images/filtered.jpg – frame with Shitsukan Diffusion
![Node Tree](images/node-tree.jpg)

![Highlight Extract](images/highlight-extract.jpg)

![ProMistVeil](images/promist-veil.jpg)

| Unfiltered | Filtered |
|-----------|----------|
| ![Unfiltered](images/unfiltered.jpg) | ![Filtered](images/filtered.jpg) |

Installation

1. Install DCTLs

Copy the DCTL files into your Resolve LUT/DCTL folder and restart Resolve (or refresh LUTs).

macOS

~/Library/Application Support/DaVinci Resolve/LUT/

Windows

C:\ProgramData\Blackmagic Design\DaVinci Resolve\Support\LUT\

Linux

Use your corresponding Resolve LUT directory.

2. Import the PowerGrade (optional, recommended)

  1. Open the Color page.
  2. In the Gallery, right‑click a PowerGrade album → Import.
  3. Select presets/BlackPromist_1.12.8.drx.

You can now apply the whole node tree to any clip with a double‑click.

3. Manual build (if you prefer)

Follow the topology above or the German Bauanleitung.md for a step‑by‑step construction of the node graph.


Recommended Settings

Bloom core & wings

  • Tap gains: 0.50 / 0.35 / 0.20 / 0.10
  • Blur radii (HD): 0.6–0.8 / 1.3–1.6 / 2.6–3.2 / 5.0–6.5

Start from these, then adjust:

  • Lower gains for cleaner, tighter bloom.
  • Higher gains (especially on the wider taps) for more veil and “atmosphere”.

Black Pro‑Mist‑style character

  • Black Suppress: 0.80–0.90
  • Veil: 0.03–0.05
  • Highlight Desat: 0.10–0.25

Keeps shadows comparatively clean while giving strong bloom around highlights.

Classic / milkier diffusion

  • Black Suppress: 0.25–0.50
  • Veil: 0.05–0.10
  • Highlight Desat: 0.15–0.35

Pushes more low‑frequency haze into the image; closer to non‑“Black” diffusion families.


Positioning & Limitations

  • Educational, not calibrated:
    The kit is designed as a transparent, experimental implementation. It does not attempt per‑filter calibration or per‑stop matching. Treat it as a starting point to build your own “house filter”.

  • Scene‑linear first:
    The node tree assumes a scene‑referred working space (DWG/Intermediate, ACEScct, etc.). It will run in log/Rec.709, but response and highlight roll‑off will be less predictable.

  • Radius by eye:
    Because Resolve’s blur radius is not a direct pixel value, exact numeric matches across resolutions are not guaranteed. Re‑dial Tap 1 on a reference shot, then scale the other taps relatively.


Repository Layout

shitsukan-diffusion-kit/
├── README.md
├── CHANGELOG.md
├── RELEASE_v1.0.2.md
├── LICENSE
├── Bauanleitung.md
├── dctl/
│   ├── HighlightExtract.dctl
│   └── ProMistVeil.dctl
├── presets/
│   └── BlackPromist_1.12.8.drx
└── images/
    ├── node-tree.jpg
    ├── highlight-extract.jpg
    ├── promist-veil.jpg
    ├── unfiltered.jpg
    └── filtered.jpg

Development & Contributions

Ideas for extensions:

  • Additional taps (5/7‑tap variants) for even smoother PSF approximation.
  • Separate halation branch (pre‑tone‑map) combined with the existing bloom.
  • Ready‑made presets for different diffusion “families”.

Issues and PRs are welcome. Please include Resolve version, OS, and GPU backend (Metal / CUDA / OpenCL) when reporting bugs.


License

This project is released under the MIT License.
You can use, modify, integrate, and redistribute it in personal or commercial work. Attribution is appreciated but not required.


Credits

Design & DCTL: Stephan Wagner
Concept: Multi‑scale bloom as an approximation of heavy‑tailed optical diffusion.
Platform: DaVinci Resolve Studio 19.1+