The common explanation(and, perhaps, overly simplified) online is that 3D and 1D LUT's simply give a certain RGB output for a given RGB input. This explanation doesn't seem to explain how then does a 3D Conversion LUT actually map a color gamut of a color space to a gamut of another color space. Taking an example:
SLOG3(Which uses S-Gamut3 or S-Gamut3.Cine)to Rec709.
Looking at the chromaticity primaries for S-Gamut3 vs Rec709 we'll see that the S-Gamut3 dwarfs Rec709 with it's vastly richer and deeper primaries(2 of the primaries: Green and Blue, go so far as to be even out of the visible spectrum).
So, in a 10 bit file captured on the S-Gamut3 profile, something with an RGB value of (1023,0,0) will give a much richer red on a screen that can actually display S-Gamut3 as opposed to something captured on a Rec-709 profile with an RGB value of (1023,0,0) and shown on a Rec709 display.
Now. What happens when we insert the S-Gamut3 image into an NLE(Premiere or Resolve) that's displaying on a screen with a Rec709 space?
Does the monitor receive the Value (1023,0,0) and just display the reddest red it's capable of(which is less richer than what the SGamut-3 space actually captured). In which case I understand that it's automatically mapped. The display assigns it's own colors to the code values and displays the colors only it can display. The problem arising being that there can be color shifts and this is what the 3D LUT is fixing (Also the Gamma curve of the Log Image but I'm not discussing the Gamma curve and washed outness of the LOG image, that part I understand. Purely the color values and how they're interpreted is what I'm interested in)
OR
Does something tell the monitor that this is a (1023,0,0) meant for S-Gamut3 and it doesn't know how to interpret that thus randomly assigns an RGB Value within the rec709 color space. And this is where the 3D Lut comes in, in which case it has to Map the Gamut of SGamut3 to Rec709 and then the monitor finally understands to display the reddest red it's capable of.
SLOG3(Which uses S-Gamut3 or S-Gamut3.Cine)to Rec709.
Looking at the chromaticity primaries for S-Gamut3 vs Rec709 we'll see that the S-Gamut3 dwarfs Rec709 with it's vastly richer and deeper primaries(2 of the primaries: Green and Blue, go so far as to be even out of the visible spectrum).
So, in a 10 bit file captured on the S-Gamut3 profile, something with an RGB value of (1023,0,0) will give a much richer red on a screen that can actually display S-Gamut3 as opposed to something captured on a Rec-709 profile with an RGB value of (1023,0,0) and shown on a Rec709 display.
Now. What happens when we insert the S-Gamut3 image into an NLE(Premiere or Resolve) that's displaying on a screen with a Rec709 space?
Does the monitor receive the Value (1023,0,0) and just display the reddest red it's capable of(which is less richer than what the SGamut-3 space actually captured). In which case I understand that it's automatically mapped. The display assigns it's own colors to the code values and displays the colors only it can display. The problem arising being that there can be color shifts and this is what the 3D LUT is fixing (Also the Gamma curve of the Log Image but I'm not discussing the Gamma curve and washed outness of the LOG image, that part I understand. Purely the color values and how they're interpreted is what I'm interested in)
OR
Does something tell the monitor that this is a (1023,0,0) meant for S-Gamut3 and it doesn't know how to interpret that thus randomly assigns an RGB Value within the rec709 color space. And this is where the 3D Lut comes in, in which case it has to Map the Gamut of SGamut3 to Rec709 and then the monitor finally understands to display the reddest red it's capable of.
