Цель тональной компрессии в том, чтобы перевести цвета широкого диапазона HDR (Высокий Динамический Диапазон) в более узкий LDR (Низкий Динамический Диапазон). Это позволяет монитору правильно отображать цвета. Процесс происходит после обычного рендеринга в процессе постобработки.
Глобальная тональная компрессия – это функция, имеющая три входа (RGB) и три выхода (RGB). Локальная, помимо этого, учитывает свойства окружающих пикселей, что, естественно, ведет к большему количеству вычислений (и падениям производительности). В идеале, тональная компрессия обязана сохранять цвет пикселя даже в том случае, если он крайне яркий.
Следующий график показывает, как каждый канал в диапазоне от 0 до 5 преобразовывается в диапазон от 0 до 1:
В данном случае используется функция Код:
Гамма-цвет = ЛинейныйЦвет / (Линейный цвет + 0.187) * 1.035
(GammaColor = LinearColor / (LinearColor + 0.187) * 1.035)
Заметьте, что светлые цвета постепенно становятся светлее, но гораздо медленнее, нежели темные. Черный остается черным и это наиболее линейная часть кривой, которая несколько круче, чем должна быть. Это приводит к увеличению контраста, что вполне нормально и ожидаемо при использовании тональной компрессии. Для получения хорошего результата, исходное изображения должно иметь больше динамики в яркости (HDR).
|
|
Представленная функция уже имеет две константы. Дополнительные переменные могли бы увеличить гибкость настроек, но выведение хорошей, с точки зрения качества/гибкости/производительности, функции довольно сложно. По этой причине мы решили придерживаться простой формулы и изменять уже получившееся LDR-изображение.
Переведя цвета из HDR в ограниченный диапазон, мы получили выразительные темные цвета. Что касается светлых, то их мы можем изменять по желанию. Этот метод прост для понимания, гибок в настройке и обладает едва ли не постоянной производительностью.
Свойство | Описание |
Scene Color Tint | Цвет, являющийся фильтром, применяемым к HDR-сцене. |
Tonemapper Toe Factor | Корректирование оттенков темных цветов. Значения в промежутке [0.0, 1.0] |
Коррекция цвета
Коррекция цвета реализована как таблица поиска (lookup tables; LUTs). Причем, вместо использования трех 1D-таблиц, у нас применяется всего лишь одна, но 3D-таблица, благодаря этому становятся возможным более сложные и комплексные трансформации цвета (такие как обесцвечивание).
Следующее изображение показывает, как таблица нейтрального цвета размером 16x16x16 развернута в текстуру размером 256×16 (схоже с браузером текстур):
Вы можете использовать изображение RGBTable16x1.png с этой страницы, но для этого загрузите исходный файл, показанный выше. Для этого нажмите на него ПКМ -> Сохранить как.
|
|
Измененная текстура может выглядеть так:
Для того, чтобы использовать таблицу поиска (LUT), вам необходимо применить LUT-текстуру к волюму постобработки.
Свойство | Описание |
Color Grading Intensity | Свойство, регулирующее силу цветокоррекции. |
Color Grading LUT | LUT-текстура, используемая как таблица при цветокорреции. |
Создание LUT-текстур
Инструкция:
1. Сделайте скриншот сцены, вставьте его в документ Photoshop для дальнейшей настройки.
2. Загрузите в Photoshop нейтральную LUT-текстуру размером 256×16.
3. Взять её можно с этой страницы. Будьте внимательны: загружайте исходный файл, а не тот, который представлен на странице.
4. Вставьте LUT-текстуру в документ Photoshop со скриншотом («Выбрать все» в LUT-документе, «Скопировать», переключиться на документ со скриншотом, «Вставить»)
5. Применить манипуляции с цветом (Color Manipulatuins). Лучше всего сделать это добавлением отдельного слоя, иначе процесс осложнится)
6. Скопируйте «слияние» (Edit/Copy Merged)
7. Вставьте и сохраните получившуюся текстуру размером 256×16 в каком-нибудь несжатом формате, принимаемым движком.
8. Выполните импорт текстуры в редактор и назначьте ей группу текстур для таблиц поиска (ColorLookUpTable Texture Group).
Возможны различные изменения цвета. Вот несколько примеров:
● Яркость
● Насыщенность
● Простой контраст (линейный с ограничениями)
● Высококачественный контраст (кривые с крутой линейной частью посередине)
● Выборочные изменения темных, средних и светлых областей изображения.
● Выборочные изменения определенных цветов (лучше всего подходит то цветовое пространство, в котором яркость выделена в отдельных канал, к примеру, LAB)
● Корректировки могут быть даже выполнены в различных цветовых пространствах (так, в LAB яркость и цвет независимы друг от друга, что крайне полезно)
Depth of Field
Глубина резкости (DoF) применяет размытие к сцене, основываясь на расстоянии от фокуса. Так происходит симуляция камеры из реального мира. Эффект применяет для акцентировании внимания зрителя на определенном предмете или для достижения большего реализма изображения.