w23 / xash3d-fwgs

Vulkan Ray Tracing fork of Xash3D FWGS engine. Intended to be merged into master at some point in the future.
160 stars 16 forks source link

HDR output (outdated) #249

Closed 0x4E69676874466F78 closed 4 months ago

0x4E69676874466F78 commented 2 years ago

Как включить

  1. В консоли ввести vk_hdr_output 1 либо в vk.cfg задать vk_hdr_output "1". Командная строка (+vk_hdr_output 1) пока нормально не поддерживается (подхватывает слишком поздно и требуется два запуска). Выйти из игры.
  2. Теперь не обязательно, но в случае проблем: проверить что в ОС включён HDR-режим (Пуск->Параметры->Система->Дисплей->Использовать HDR->Вкл).
  3. Запустить игру.
  4. При необходимости отрегируровать яркость через:

    • vk_hdr_output_manual_adjust_ui_down — яркость интерфейса
    • vk_hdr_output_manual_rtx_adjust_down — общая яркость изображения кроме addivite
    • vk_hdr_output_manual_rtx_adjust_additive_down — яркость текстур лампочек, вспышек, спрайтов
    • vk_hdr_output_manual_adjust_down — общая яркость для традиционного рендера (всё вместе)

    Потребуется перезапуск. Текущие значения рассчитаны на HDR400, на мониторах с HDR600 и HDR1000 картинка может быть слишком яркой.

Особенности

Что проделано

0x4E69676874466F78 commented 2 years ago

Известная проблема: падает если нет нужного пространства при vk_hdr 1, попробую добавить обход. Исправил.

0x4E69676874466F78 commented 2 years ago

На данный момент пуллреквест сломан. Последний рабочий коммит 354a525

0x4E69676874466F78 commented 2 years ago

Исправил. Теперь с исправлениями на гамму ещё. Но как оказалось не совсем доправил в ряде мест, картинка не совсем корректная (небо перенасыщенное, тени слишком тёмные).

0x4E69676874466F78 commented 2 years ago

https://github.com/NVIDIA/Q2RTX/pull/159/files здесь есть код для скриншотов и для вычисления nit. При этом с цветовыми пространствами для HDR там странно, завтра гляну как оно у них в игре работает.

0x4E69676874466F78 commented 2 years ago

Похоже (выявлено эмпирически) преимущество VK_FORMAT_R16G16B16A16_SFLOAT + VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT над VK_FORMAT_A2B10G10R10_UNORM_PACK32 + VK_COLOR_SPACE_HDR10_ST2084_EXT это что не надо делать гамма-коррекцию в конце и этот режим хорошо работает без тонемаппера (точнее даже плохо работает с тонемапперами). Но VK_FORMAT_A2B10G10R10_UNORM_PACK32 кажется оптимальнее потому что надо гонять 30 бит вместо 48, поэтому думаю поддерживать оба режима. https://ourmachinery.com/post/supporting-native-hdr-monitors/

0x4E69676874466F78 commented 4 months ago

Закрыто в пользу https://github.com/w23/xash3d-fwgs/pull/727