NVIDIA сегодня выпустила версию 0.2 RTX Remix, которая помимо множества улучшений также открывает мост NVIDIA RTX Remix Bridge.
Что это такое? Платформа для моддинга, которая позволяет людям делать «RTX ремастеры» различных старых игр, улучшая их с помощью трассировки лучей и DLSS. Это происходит благодаря слою перевода DXVK, для которого NVIDIA теперь имеет свой собственный форк. Это та же технология, которую NVIDIA использовала для Portal с RTX.
Начиная с версии 0.2, они также открыли исходный код Remix Runtime Bridge на GitHub:
Проект NVIDIA RTX Remix позволяет привнести в классические игры высококачественный траекторный рендеринг, освещение, тени и т.д. Это репозиторий содержит клиентские и серверные компоненты NVIDIA RTX Remix Bridge, необходимые для взаимодействия 32-битной игры с 64-битной Remix Runtime dll.
Так что в конечном итоге мы можем увидеть целую кучу модов для старых игр DirectX 8 и 9, чтобы придать им новые фантастические возможности рендеринга. Хотя в дорожной карте NVIDIA говорится, что со временем планируется поддержка и OpenGL игр. Все они должны легко запускаться на Linux, так как Remix работает с Vulkan благодаря использованию DXVK.
Основные изменения
- Remix Runtime Bridge теперь с открытым исходным кодом на GitHub! Вы можете найти репозиторий здесь!
- В этот релиз были внесены многочисленные улучшения моста для решения различных проблем совместимости с играми:
- Исправлены проблемы с логикой парсера шейдеров, что помогает в играх с Shader Model 2+.
- Исправлена проблема с питчем данных поверхности, которая приводила к сбоям в некоторых играх.
- Добавлена поддержка игр, которые изменяют хэндл главного окна при Reset().
- Разрешено объявление нулевых вершин на сервере для устранения ненужных сбоев в некоторых ситуациях.
- Правильная инициализация состояния рендеринга в соответствии с официальной документацией DirectX9 для устранения повреждений геометрии в некоторых играх.
- Обработка вызовов CreateTextureXXX() с уровнями = 0 для исправления повреждений геометрии в некоторых играх.
- Исправлена обработка ввода мыши в играх, где указатель мыши не перемещался в игре или при открытом меню Remix, а также добавлены другие исправления DirectInput для игр, использующих различные эксклюзивные режимы. Также добавлен дополнительный хук подкачки входных сообщений, необходимый для некоторых игр.
- Улучшено соответствие поведению родного D3D9 при работе с шейдерами и инициализации цепочки подкачки.
- Добавлена дополнительная проверка ввода на стороне клиента и сервера — сервер теперь правильно возвращает коды отказа клиенту, когда отказ допустим.
- Добавлено понимание DPI в клиент моста, чтобы игровое окно масштабировалось, а ввод мыши обрабатывался правильно на дисплеях с более чем 100% DPI.
- Оптимизирована работа SharedHeap, чтобы уменьшить количество сбоев при запуске и требовать меньше тонкой настройки его параметров. Поскольку SharedHeap все еще может приводить к проблемам в некоторых играх, мы отключили его по умолчанию, но его можно включить в bridge.conf с помощью параметра useSharedHeap.
- В bridge.conf добавлена опция client.forceWindowed для клиента с принудительным окном.
- Улучшения DXVK-Remix и исправления совместимости с играми:
- Улучшения проблем с выбраковкой — теперь Remix включает в себя начальный набор эвристик для работы с выбраковкой на стороне двигателя.
- Улучшена обработка альфа-тестированной геометрии, использующей дробную («пернатую») альфу.
- Улучшено обнаружение теневых объемов.
- Поддержка захвата нормалей в пути захвата вершин.
- Улучшения меню и документации RTX Remix: расширена и уточнена существующая документация, а также добавлены всплывающие подсказки в пользовательском интерфейсе, чтобы сделать его более доступным.
- Отладочные символы для выпуска теперь доступны в отдельном пакете remix-0.2.0-symbols.zip, чтобы облегчить отладку исходного кода из скомпилированных двоичных файлов.