Новая версия HDR вывода. Теперь это более правильно решает #121
Как пользоваться:
Если вы используете f.lux, то он будет конфликтовать с HDR-режимом, по крайней мере вам придётся вручную в ОС включить HDR-режим (в Windows это Пуск->Параметры->Система->Дисплей->Использовать HDR->Вкл), иначе картинка будет неправильной, но это в любом случае местами будет давать неправильные оттенки, хотя и не настолько плохие если вы не включите предварительно HDR вручную. Я рекомендую временно выключать f.lux при игре с HDR.
открываем консоль, вводим vk_hdr_ и жмём клавишу Tab, там покажет доступные форматы с их id.
Указываем id через vk_hdr_output id. Сейчас поддерживаются два формата.
Переключение на лету работает некорректно и нужно перезапустить игру для правильного отображения.
В первом режиме красивее меню выглядит и сочнее цвета, но неправильнее выглядят частицы оружия, хотя во втором режиме они тоже не очень корректные (сломана глубина). Советую заценить оба режима.
Тестировал в основном на ветке handmade-brdfs там менее шумно. Diff совместим.
Что сделано:
[x] Поддержка распространённых HDR форматов вывода
[x] Переключаемый вывод форматов и правильная их подстановка
[x] Добавлены разнообразные функции для работы с HDR (c доклада High Dynamic Range Color Grading and Display in Frostbite), часть возможно портировал некорректно (математику стоит перепроверить), но основное вроде работает ожидаемым образом.
[x] Убрал красный экран при загрузке в традиционном рендере
[x] Переместил тонемапперы в отдельный файл tonemapping.glsl
[x] Добавил новые тонемапперы: Uchimura, Lottes, AgX
[x] Добавлена тестовая функция vk_debug_switch_swapchain_format чтобы применить изменение HDR режима (очень нестабильно)
[x] Починена сборка на Linux
[x] Базовая поддержка скриншотов (сейчас они создаются не совсем правильно, особенно для VK_FORMAT_R16G16B16A16_SFLOAT где сломан синий канал и я не понимаю как это чинить)
Что не сделано/Известные проблемы:
[ ] Настройка яркости (чуть позже добавлю)
[ ] В идеале ещё цветности
[ ] Костыли для традиционного рендера: в отличие от прошлого пуллреквеста здесь просто корректный (насколько это возможно) вывод картинки без вытягивания освещения в HDR пространство. Позже попробую добавить.
[ ] При валидации работать не будет (почините за меня)
[ ] Очень плохо работает переключение свапчейна на лету между форматами (с LDR на HDR может переключиться, но сломается 2d слой), я не знаю как это чинить
[ ] Для VK_FORMAT_A2B10G10R10_UNORM_PACK32 надо по другому 2д слои обрабатывать, но этот красивый вариант я думаю запрятать в квар (в идеале разделить меню и HUD чтобы задать разную яркость им).
Новая версия HDR вывода. Теперь это более правильно решает #121
Как пользоваться:
vk_hdr_
и жмём клавишу Tab, там покажет доступные форматы с их id.vk_hdr_output id
. Сейчас поддерживаются два формата.В первом режиме красивее меню выглядит и сочнее цвета, но неправильнее выглядят частицы оружия, хотя во втором режиме они тоже не очень корректные (сломана глубина). Советую заценить оба режима. Тестировал в основном на ветке handmade-brdfs там менее шумно. Diff совместим.
Что сделано:
Что не сделано/Известные проблемы: