getEncodingComponents method
Implementation
List<String> getEncodingComponents(String colorSpace) {
final workingPrimaries = ColorManagement.getPrimaries(ColorManagement.workingColorSpace);
final encodingPrimaries = ColorManagement.getPrimaries(ColorSpace.fromString(colorSpace));
String gamutMapping = '';
if ( workingPrimaries == encodingPrimaries ) {
gamutMapping = '';
} else if ( workingPrimaries == P3Primaries && encodingPrimaries == Rec709Primaries ) {
gamutMapping = 'LinearDisplayP3ToLinearSRGB';
} else if ( workingPrimaries == Rec709Primaries && encodingPrimaries == P3Primaries ) {
gamutMapping = 'LinearSRGBToLinearDisplayP3';
}
switch ( colorSpace ) {
case LinearSRGBColorSpace:
case LinearDisplayP3ColorSpace:
return [ gamutMapping, 'LinearTransferOETF' ];
case SRGBColorSpace:
case DisplayP3ColorSpace:
return [ gamutMapping, 'sRGBTransferOETF' ];
default:
console.warning( 'THREE.WebGLProgram: Unsupported color space: $colorSpace');
return [ gamutMapping, 'LinearTransferOETF' ];
}
}