DCTLs and Resolve OFX

Something I put together for my own workflow and figured I'd share here.

The core problem with software diffusion is that a single Gaussian blur doesn't match how real diffusion filters actually behave. Real filters have a heavy-tailed PSF — a tight bright core with wide, faint wings that fall off gradually. One blur gives you neither convincingly.

This kit approximates that shape using four weighted blur taps at geometrically-doubling radii, summed in scene-linear light. A HighlightExtract DCTL isolates what feeds the bloom; a ProMistVeil DCTL adds the characteristic milky veil and selective highlight desaturation on top. Black Suppress parameter switches between milky blacks (classic Pro-Mist) and clean blacks (Black Pro-Mist).

Setup is manual — you build the node tree once in Resolve (Layer Mixer + four Blur nodes at increasing radii, weighted gains), save as a PowerGrade, apply from there. Transparent by design: every node visible, every value yours to tune.

Honest scope: not a calibrated per-filter replacement for Scatter. Call it ~70–80% of the look, hand-tuned, no empirical per-radiance mapping. But it's free, open-source, and you understand exactly what it's doing.

Comparison stills and build guide at shitsukan.de — kit on GitHub: https://github.com/50asa/shitsukan-diffusion-kit

Happy to get feedback...
 
Something I put together for my own workflow and figured I'd share here.

The core problem with software diffusion is that a single Gaussian blur doesn't match how real diffusion filters actually behave. Real filters have a heavy-tailed PSF — a tight bright core with wide, faint wings that fall off gradually. One blur gives you neither convincingly.

This kit approximates that shape using four weighted blur taps at geometrically-doubling radii, summed in scene-linear light. A HighlightExtract DCTL isolates what feeds the bloom; a ProMistVeil DCTL adds the characteristic milky veil and selective highlight desaturation on top. Black Suppress parameter switches between milky blacks (classic Pro-Mist) and clean blacks (Black Pro-Mist).

Setup is manual — you build the node tree once in Resolve (Layer Mixer + four Blur nodes at increasing radii, weighted gains), save as a PowerGrade, apply from there. Transparent by design: every node visible, every value yours to tune.

Honest scope: not a calibrated per-filter replacement for Scatter. Call it ~70–80% of the look, hand-tuned, no empirical per-radiance mapping. But it's free, open-source, and you understand exactly what it's doing.

Comparison stills and build guide at shitsukan.de — kit on GitHub: https://github.com/50asa/shitsukan-diffusion-kit

Happy to get feedback...
I know this sample footage ;) On my M1 mac the HighlightExtract.dctl caused errors. I changed the code to this: in case anybody else runs into the same issue.
 

Attachments

  • HighlightExtract.dctl.zip
    970 bytes · Views: 18
The core problem with software diffusion is that a single Gaussian blur doesn't match how real diffusion filters actually behave. Real filters have a heavy-tailed PSF — a tight bright core with wide, faint wings that fall off gradually. One blur gives you neither convincingly.

I find that Scatter (and DigiDiff) both take care of these problems very well. I frequently have to augment the diffusion plug-in with a mask to avoid affecting areas I want to stay clean, which is one of many advantages of digital diffusion over doing it in-camera. I concede that Scatter / DigiDiff / Hazy / Nano all cost money.
 
I know this sample footage ;) On my M1 mac the HighlightExtract.dctl caused errors. I changed the code to this: in case anybody else runs into the same issue.
I know you know ;-) ...I am in Holliday at the moment . will look into it- and thank you for the input...
I find that Scatter (and DigiDiff) both take care of these problems very well. I frequently have to augment the diffusion plug-in with a mask to avoid affecting areas I want to stay clean, which is one of many advantages of digital diffusion over doing it in-camera. I concede that Scatter / DigiDiff / Hazy / Nano all cost money.
you are so right about Scatter and the others...Scatter is great ... It's more about understanding what's happening in principle under the hood. On a very basic level there are great one-stop solutions on the commercial side.
 
any ideas why...yours is a bit simpler but on my M2 no issues with both of them ? yours is a bit simpler in code?...(davinci 21) osx
not sure. sometimes different systems are more tolerant using code which is actually not precise enough for other systems. I had that with square roots of numbers which can have more than one result or forgetting the float f or using val.r, val.g, val.b instead of val.x, val.y, val.z. maybe it is something in this ballpark, but M1 and M2 shouldn't be too much of a difference regarding that.
 
Back
Top