Fusion occupe une place un peu particulière dans Resolve : Il travaille sur les source mais en même temps peut avoir son propre Espace Colorimétrique (En fonction de Color Science). Cela pose des soucis de Monitoring et Viewer. De facto ils ne sont pas « réglés » comme le Monitoring et les Viewer du reste de Resolve.
Pour Rappel
- le Monitoring est un Moniteur calibré pour un espace Colorimétrique et branché via une DeckLink ou un UltraStudio
- le Video CleanFeed est un moniteur informatique supplémentaire branché sur la carte Graphique
Le facteur essentiel est la Color Science :
Davinci YRGB
Dans ce cas l’espace colorimétrique de fusion est le même que celui de la timeline. Il devrait être donc aussi celui du Monitoring. Il n’y a pas de problème.
Davinci YRGB Color Managed
Lors du travail dans Fusion si on regarde/envoie un node sur le moniteur externe, il risque très probablement de ne pas avoir la bonne luminance et chrominance… c’est dû Espaces colorimétriques dans Resolve.
L’espace colorimétrique de fusion est celui de la timeline mais linéarisé. C’est cela qui est envoyé sur les Viewer et le Monitoring
Pour qu’ils correspondent aux autres pages Color et Edit de Resolve, il faut manuellement faire ce que fait resolve :
- Une conversion du Fusion ColorSpace vers le Timeline ColorSpace
- Une conversion du Timeline ColorSpace vers l’Output ColorSpace
On va donc utiliser 2 nodes ColorSpaceTransform car ils ont la même mathématique que la ColorScience Davinci YRGB Color Managed
Dans les réglages de projet le timeline ColorSpace est le Davinci Wide Gamut / Davinci Intermediate et l’output ColorSpace est le Rec709 Gamma 2,4
Si le Output Gamma est de 2.4 ➧ cocher « Apply Forward OOTF »
On se retrouve avec un Monitoring identique dans Edit/Color et Fusion
Pour les Viewers, la LUT par défaut n’est pas bonne. L’espace colorimétrique des viewer est sRGB. Ajoutons un ColorSpaceTransform pour les Viewers
Bien penser à désactiver la LUT du viewer pour éviter un double gestion de la couleur.
Le video Clean Feed à l’air de fonctionner de la même manière (A confirmer)
ACEScct
Avec ACES il suffit d’un node ACESTransform, pour le monitoring et un pour les Viewers
Le fusion ColorSpace est ACEScg et l’ACES output Transform est Rec709
Bien penser à désactiver la LUT du viewer pour éviter un double gestion de la couleur.
Le video Clean Feed à l’air de fonctionner de la même manière (A confirmer)
Les Nodes…
… a copier-coller dans votre node graph
le Davinci ColorManaged :
{
Tools = ordered() {
TimelineColorSpace = ColorSpaceTransform {
NameSet = true,
Inputs = {
InputColorSpace = Input {
SourceOp = "Publish1",
Source = "Value",
},
OutputColorSpace = Input {
SourceOp = "Publish1",
Source = "Value",
},
OutputGamma = Input {
SourceOp = "Publish2",
Source = "Value",
},
SrcLumMax = Input { Disabled = true, },
DstLumMax = Input { Disabled = true, },
},
ViewInfo = OperatorInfo { Pos = { 770, 16.5 } },
},
Publish1 = PublishFuID {
CtrlWZoom = false,
Inputs = {
Value = Input { Value = FuID { "DWG_COLORSPACE" }, }
},
},
Publish2 = PublishFuID {
CtrlWZoom = false,
Inputs = {
Value = Input { Value = FuID { "DAV_INTER_OETF_GAMMA" }, }
},
},
Viewer_sRGB = ColorSpaceTransform {
CtrlWZoom = false,
NameSet = true,
Inputs = {
InputColorSpace = Input {
SourceOp = "Publish1_1",
Source = "Value",
},
InputGamma = Input {
SourceOp = "Publish2_1",
Source = "Value",
},
OutputColorSpace = Input { Value = FuID { "SRGB_COLORSPACE" }, },
OutputGamma = Input { Value = FuID { "SRGB_GAMMA" }, },
SrcLumMax = Input { Disabled = true, },
DstLumMax = Input { Disabled = true, },
Input = Input {
SourceOp = "TimelineColorSpace",
Source = "Output",
},
Comments = Input { Value = "Use this node to Monitoriing via Decklink or ultraStudio\nOutput Gamut and Gamma must match with project settings", },
},
ViewInfo = OperatorInfo { Pos = { 935, 49.5 } },
},
Publish1_1 = PublishFuID {
CtrlWZoom = false,
Inputs = {
Value = Input { Value = FuID { "DWG_COLORSPACE" }, }
},
},
Publish2_1 = PublishFuID {
CtrlWZoom = false,
Inputs = {
Value = Input { Value = FuID { "DAV_INTER_OETF_GAMMA" }, }
},
},
OutputColorSpace = ColorSpaceTransform {
NameSet = true,
Inputs = {
InputColorSpace = Input {
SourceOp = "Publish1",
Source = "Value",
},
InputGamma = Input {
SourceOp = "Publish2",
Source = "Value",
},
OutputColorSpace = Input { Value = FuID { "SRGB_COLORSPACE" }, },
OutputGamma = Input { Value = FuID { "SRGB_GAMMA" }, },
SrcLumMax = Input { Disabled = true, },
DstLumMax = Input { Disabled = true, },
Input = Input {
SourceOp = "TimelineColorSpace",
Source = "Output",
},
Comments = Input { Value = "Use this node to Monitoriing via Decklink or ultraStudio\nOutput Gamut and Gamma must match with project settings", },
},
ViewInfo = OperatorInfo { Pos = { 935, -16.5 } },
}
}
}
le ACES :
{
Tools = ordered() {
PipeRouter1 = PipeRouter {
ViewInfo = PipeRouterInfo { Pos = { 770, 49.5 } },
},
Viewers = AcesTransform {
CtrlWZoom = false,
NameSet = true,
Inputs = {
InputTransform130 = Input { Value = FuID { "IDT_ACESCG" }, },
OutputTransform130 = Input { Value = FuID { "ODT_SRGB" }, },
Input = Input {
SourceOp = "PipeRouter1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 880, 82.5 } },
},
OutputColorSpace = AcesTransform {
NameSet = true,
Inputs = {
InputTransform130 = Input { Value = FuID { "IDT_ACESCG" }, },
OutputTransform130 = Input { Value = FuID { "ODT_REC_709" }, },
Input = Input {
SourceOp = "PipeRouter1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 880, 16.5 } },
}
}
}