Closed walbourn closed 3 years ago
There's also a Display P3 matrix one could use as well:
const XMMATRIX c_from709toDisplayP3 =
{
0.822461969f, 0.033194199f, 0.017082631f, 0.f,
0.1775380f, 0.9668058f, 0.0723974f, 0.f,
0.0000000f, 0.0000000f, 0.9105199f, 0.f,
0.f, 0.f, 0.f, 1.f
};
All of these options defintely pushes to the idea of having the shader fetch the HDR10 colorspace matrix from a CB instead of having it baked into the shader...
See also this issue
The shader that performs HDR10 signal preparation assumes the HDR source is using the Rec.709 color primaries when it does the rotation to Rec.2020:
The result is 'correct', but can result in less saturated colors. A common hack is to assume DCI-P3 color primaries instead:
Another option is a slightly expanded custom color space version of Rec.709:
The
ToneMapPostProcess
class should be updated to support these new options for the final output.