Nodes/radiance/DaVinci Wide Gamut
ComfyUI Node

DaVinci Wide Gamut

One node for Blackmagic's colour space

By FXTD-Studios·Created 8 months ago·Updated about 18 hours ago· 246
DaVinci Wide Gamut
  • image
  • image
◄transformLinear to DaVinci WG►

DaVinci Wide Gamut is Blackmagic's answer to ACEScg: a wide working space with a log-ish companion curve, DaVinci Intermediate, that lets you push a grade around without the numbers falling off the end. If you're delivering to a Resolve timeline, it's the space the colourist is probably working in - and this node gets you in and out of it.

What it is

A single-input, single-output converter with a six-way transform dropdown:

  • Linear to DaVinci WG / DaVinci WG to Linear - primaries only, linear in, linear out.
  • Linear to DaVinci Intermediate / DaVinci Intermediate to Linear - the same gamut, with the DaVinci Intermediate log curve applied or removed.
  • DaVinci WG to ACEScg / ACEScg to DaVinci WG - straight gamut hop between the two wide working spaces, no curve.

The maths uses Blackmagic's published DWG↔XYZ(D65) matrices, so it's the real transform, not an approximation someone eyeballed.

Two things the tooltip is at pains to make clear, and both are the sort of thing that quietly ruins a comp:

"Linear" means linear Rec.709/sRGB primaries. Not display-encoded sRGB. If you feed it gamma-encoded sRGB and ask for Linear to DaVinci WG, it does the primaries maths on display values and you get a plausible-looking image that's wrong. The typical wire-up is: decode sRGB to linear, then this node.

The Intermediate options apply the log curve; the WG options don't. These are separate concerns - gamut and transfer - and the dropdown is honest about which does which. If your Resolve side wants DWG/Intermediate and you sent DWG linear, the numbers are legitimate but the contrast is wildly off. Match the pair.

Output is a single image. No metadata string, no passthrough, nothing else to wire.

Where it fits

There are really two uses.

The first is the delivery round trip: convert a scene-linear float image into DWG/Intermediate, hand it to your write node or straight across via Export to Resolve, and let the colourist work in the house space. Then use the same node in reverse to bring a graded element back in if you need another generation pass over it.

The second is ACES↔DWG interchange, which happens more than people expect when a project's pipeline is ACES but the grading is in Resolve. ACEScg to DaVinci WG is the one hop you need, and having it as a dropdown rather than a matrix you type into a spreadsheet is the whole value.

Note the gap: there's no direct path from camera log (LogC3, Log3G10, BMD Film Gen5) to DWG here. Do the log decode with RadianceColorSpaceConvert first - which treats camera logs as transfer curves on Rec.709 primaries - and then hand the linear result to this node for the gamut change. Two nodes, correct answer, because that's genuinely two operations.

Install

Part of the Radiance pack. ComfyUI Manager → search Radiance → install, then restart ComfyUI and hard-refresh the browser. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/fxtd-studios/radiance.git
cd radiance
python -m pip install -r requirements.txt

Use ComfyUI's own Python - on Windows portable that's python_embeded\python.exe. Nothing downloads for this node; it's pure maths.

Where people get burned

Feeding it 0–1 display values and expecting a technical transform. The single most common mistake, and it doesn't throw an error - you just get a slightly-off image and conclude the node's maths is bad.

Using it as a viewing transform. This is a working-space conversion, not a display conversion. If you want to see a DWG image on a monitor, you need a tone map or an OCIO display transform, not DaVinci WG to Linear followed by a shrug.

Forgetting it's a one-way dial you have to think about. If you're upgrading from a pre-3.5 Radiance, check old graphs that use this node - the widget layouts moved in that release and a stale saved workflow can come back with the wrong dropdown selection, which is not something you notice by looking at the picture.

CategoryFXTD STUDIOS/Radiance/Color

Inputs (2)

NameTypeDefaultDescription
imageIMAGEImage in the space named on the left of the chosen transform. 'Linear' means linear Rec.709/sRGB primaries, not display-encoded sRGB.
transformCOMBOLinear to DaVinci WGConversion to run. The DaVinci WG options change primaries only (linear in, linear out); the Intermediate options also apply or remove the DaVinci Intermediate log curve.

Outputs (1)

NameTypeDescription
imageIMAGE—