Правильная цветопередача в WebGL / Canvas

Какое цветовое пространство веб-браузеры в целом и Chrome в частности предполагают для буфера рисования WebGL? То есть в каком цветовом пространстве шейдер должен выводить значения пикселей?

Я не могу найти ничего в спецификациях WebGL о том, какое цветовое пространство использовать для буфера рисования WebGL.

Наши эксперименты показывают, что Chrome использует sRGB во время композитинга. Элемент изображения, помеченный тегом Prophoto, правильно отображается на мониторе с широким цветовым охватом, но то же изображение, визуализированное на холсте WebGL, отображается так, как если бы оно было помечено sRGB.

Означает ли это, что в настоящее время невозможно выполнить правильную цветопередачу на дисплее с широкой гаммой в WebGL, последовательно в разных браузерах?


person Andreas Vendel    schedule 03.12.2018    source источник
comment
Эта проблема обсуждалась в общедоступном списке рассылки Khronos несколько лет назад, но, похоже, не было сделано никаких выводов: khronos.org/webgl/public-mailing-list/public_webgl/1009/   -  person Andreas Vendel    schedule 03.12.2018
comment
Предложение на github.com/WICG/canvas-color-space / blob / master / также указывает на то, что управление цветом и WebGL / Canvas - нерешенная проблема.   -  person Andreas Vendel    schedule 03.12.2018


Ответы (1)


sRGB - это стандарт

Стандарт для всего веб-контента определяется W3C как sRGB, и это применяется через CSS3.

CSS уровня 4 представит дополнительные цветовые пространства, но sRGB по-прежнему является стандартом по умолчанию.

Если в содержимом не определено цветовое пространство, такое как немаркированное изображение, пользовательский агент должен использовать sRGB. Большинство устройств поддерживают sRGB и не используют управление цветом, поэтому содержимое, отличное от sRGB, может отображаться на них некорректно.

WebGL

Сам WebGL не управляет цветом. Обратите внимание, однако, что в этой области ведется работа, особенно когда HDR и несколько цветовых пространств начинают использоваться при разработке стандартов.

Доступность

Кроме того, sRGB является стандартным цветовым пространством сети для доступности, и оно, вероятно, останется в обозримом будущем, поскольку красный основной цвет в sRGB все еще довольно заметен при недостатке цветового зрения протанопии.

Большинство сегодня

sRGB - это стандарт, используемый для большинства мониторов и устройств. Rec709, стандарт для HDTV, использует те же самые основные цвета, но имеет немного другую спецификацию кривой передачи, более подходящую для просмотра контента в более темной среде.

Пожалуйста, дайте мне знать, если у вас возникнут дополнительные вопросы.

person Myndex    schedule 08.02.2020