Введение в высокий динамический диапазон (HDR)
Высокий динамический диапазон (HDR) — это техника, которая производит изображения с большим динамическим диапазоном яркости, чем изображения со стандартным динамическим диапазоном (SDR), позволяя реалистичное изображение цвета и яркости.
Как работает HDR
В стандартном отображении красные, зеленые и синие значения пикселей хранятся с помощью 8-битного значения между 0 и 1, где 0 означает нулевую интенсивность, а 1 означает максимальную интенсивность для устройства отображения. Этот ограниченный диапазон значений не точно отражает то, как мы воспринимаем свет в реальной жизни, и приводит к нереалистичным изображениям, когда присутствуют очень яркие или очень темные элементы.
В отображении HDR значения пикселей хранятся в виде чисел с плавающей запятой. Это позволяет получить гораздо более широкий диапазон значений, который более точно отражает то, как человеческий глаз воспринимает цвет и яркость.
HDR и Unity
В Unity изображения HDR можно использовать для внутренних расчётов рендеринга. Эта возможность называется HDR-рендерингом. Когда он включён, Unity отрисовывает сцену в буфер HDR-изображения и выполняет над этим изображением операции рендеринга — например, эффекты постобработки. Благодаря этому расчёты ведутся с реалистичными значениями, что даёт более достоверный результат.
На некоторых совместимых платформах Unity поддерживает отправку изображения HDR на устройство отображения. Эта функция называется HDR Output.
Соображения, касающиеся использования HDR
HDR предлагает множество преимуществ и недостатков, которые вы должны рассмотреть, прежде чем использовать HDR, чтобы убедиться, что это правильный выбор.
Преимущества использования HDR
HDR предлагает следующие преимущества:
- Цвета не теряются в зонах высокой интенсивности
- Лучшая поддержка цветения и сияния
- Сокращение полосы в зонах низкочастотного освещения
Недостатки использования HDR
HDR имеет следующие недостатки:
- Увеличение использования VRAM
- Дополнительные расходы на вычисление тональных карт, когда они используются
- Аппаратное сглаживание несовместимо с HDR рендером
Совместимость конвейера отображения
Для информации о HDR отображении и HDR выходе в URP, см. HDR выход в URP.
Для информации о HDR отображении и HDR выходе в HDRP, см. HDR выход в HDRP.
Для получения дополнительной информации о поддержке HDR Представление и HDR Вывод в конвейере скриптового отображения URP и HDRP, см. Сравнение функций конвейера отображения.
Тоновое отображение
Тоновое отображение представляет собой процесс отображения значений цветов из одного диапазона в другой. При работе с HDR, вы должны использовать тоновое отображение для преобразования цветов в буфере изображения HDR так, чтобы значения находились в диапазоне, который может обрабатывать ваше устройство отображения. Если вы не используете тоновое отображение, вы можете потерять много деталей и цветовой информации из изображения, особенно в очень ярких областях.
При использовании рендеринга HDR с выводом SDR, вы должны использовать тоновое отображение для преобразования буфера изображения HDR в изображение SDR для отображения. Unity предоставляет эффекты тонового отображения для последующей обработки, которые позволяют вам это сделать: пакет Post-Processing Stack V2, интегрированное решение для последующей обработки URPи интегрированное решение для последующей обработки HDRP все содержат эффекты тонового отображения.
При использовании отображения HDR с выходом HDR вы можете либо:
- Создайте свое собственное решение тонового картографирования, которое преобразует буфер изображения HDR непосредственно в совместимый формат HDR для отображения
- Используйте эффекты пост-обработки тонового отображения Unity для преобразования буфера HDR в изображение SDR (как выше), а затем используйте автоматическое тоновое отображение выхода Unity для преобразования этого изображения SDR в подходящий выходной формат. Более подробную информацию об автоматическом тоновом отображении выхода Unity см. в документации по HDROutputSettings.automaticHDRTonemapping.