Уравнения для преобразования линейного в цветовое пространство Apple Display P3 и наоборот - PullRequest
0 голосов
/ 21 января 2019

Я занимаюсь разработкой приложения для обработки изображений. В этом приложении мне нужно применить Линейный к Apple Display P3 преобразование цвета в мою текстуру ( Линейный ). Операция должна быть выполнена с использованием шейдеров. Я уже создал шейдер, используя эти уравнения из архива документации Apple , который конвертируется из линейного в sRGB и наоборот:

rgb = mix(rgb.0.0774, pow(rgb*0.9479 + 0.05213, 2.4), step(0.04045, rgb))
rgb = mix(rgb12.92, pow(rgb*0.4167) * 1.055 - 0.055, step(0.00313, rgb))

У меня вопрос, каким будет уравнение для преобразования линейного в цветовое пространство Apple Display P3 и наоборот?

1 Ответ

0 голосов
/ 22 января 2019

Преобразование между линейным и кодированным RGB в цветовом пространстве Дисплей P3 такое же, как и для sRGB.

Обратите внимание, что DCI-P3 и дисплей P3 не являются одним и тем же цветовым пространством, даже если они используют одинаковые красные, зеленые и синие точки (первая использует простую функцию мощности для преобразования между линейным и кодированным RGB; например, pow(rgb, 2.2) для преобразования в линейный).

Обратите внимание, что "линейный RGB" - это неполное описание цветов текстуры. Скорее, текстура должна находиться в некотором известном цветовом пространстве (например, sRGB или DCI-P3); это часто sRGB, если текстура не имеет встроенного цветового профиля. Во многих случаях «линейный RGB» просто означает, что соответствующая функция передачи цветового пространства не применялась к цветам RGB текстуры.

...