Вышла новая версия D7VK - 1.7

Разработчики D7VK продолжают расширять границы поддержки старых 3D-API. Версия 1.7 фокусируется на одной из наиболее сложных областей — устаревших (D3D6 и старше) вершинных преобразованиях, отсечении (clipping) и освещении (lighting). Хотя работа ещё не завершена полностью, результаты уже впечатляют.

Главные улучшения: освещение и преобразования

  • Реализовано устаревшее функциональное освещение с аттенуацией для D3D6 и более ранних версий. Теперь тёмные планеты и юниты в O.R.B: Off-World Resource Base красиво освещены. Другие игры, использующие старое функциональное освещение, пока не столь «везучи» — работа над ними продолжается.
  • Реализованы преобразования вьюпорта, отсечение, а также трансформации execute buffers для D3D3. Благодаря расследовательским навыкам @CkNoSFeRaTU, теперь в более-менее играбельном состоянии находятся многие ранние игры на D3D3 и более поздних версиях: Resident Evil, Revenant, Forsaken и многие другие.

Новые играбельные игры

После некоторых доработок в области игр, которые долгое время были сломаны на Linux/Wine (опять же с помощью @CkNoSFeRaTU), были найдены способы и обходные пути для запуска следующих тайтлов:

  • Requiem: Avenging Angel — игра теперь запускается корректно вместо жалоб на отсутствие поддержки D3D (благодаря обходу причуды инициализации iClassFactory).
  • Warhammer: Dark Omen — реализован обходной путь для презентации (blit-instead-of-flip), который корректно обрабатывает странный способ настройки цепочки обмена в игре. Теперь интро и геймплей работают, а не показывают чёрный экран. (Примечание: игра всё ещё страдает от нескольких ошибок поверхностного блинка в Wine, вызывающих пропадание/переворот элементов меню.)

Другие исправления и улучшения

  • Улучшено управление счётчиками ссылок (reference counting): Это может помочь с совместимостью на Windows, хотя платформа остаётся неофициально поддерживаемой.
  • Исправлена проблема с отчётом о видеопамяти на GPU с менее чем 2 ГБ VRAM и некоторых встроенных GPU.
  • Добавлена минимальная реализация ComputeSphereVisibility: Этого достаточно для запуска Space Empires V (спасибо @Duneathor).
  • Исправлена проблема очистки вьюпорта в D3D6: Благодаря расследованию @CkNoSFeRaTU исправлен цвет неба в Need For Speed III: Hot Pursuit (с современным патчем).
  • Исправлены проблемы с завершением работы устройства в Incoming: Устранены падения при выходе из игры.
  • Исправлены отсутствующие 2D-фоны в Return to Krondor.
  • Переработаны модификации D3D9-бэкенда D7VK: Теперь они корректно взаимодействуют с существующей реализацией D3D8/9 для одновременного использования. Это упростило интеграцию между кодом D7VK и DXVK и открыло путь для… даунстриминга (см. следующий раздел).

Благодаря усилиям @pythonlover02, D7VK был портирован обратно на DXVK-Sarek. Это отличная новость для тех, кто всё ещё использует GPU с поддержкой только Vulkan 1.1/1.2, особенно:

  • Видеокарт NVIDIA Kepler.
  • Старых поколений встроенной графики Intel.

Производительность на таком оборудовании не будет выдающейся, но её будет достаточно для D3D7 и более ранних API. DXVK-Sarek теперь поддерживает всё от D3D3 до D3D11 включительно.

Разработчики рекомендуют дождаться следующего релиза DXVK-Sarek, так как некоторые улучшения портирования и качества жизни всё ещё в разработке. DXVK-Sarek также получит портирование последней работы по устаревшей модели освещения — переписанной поверх старого компилятора шейдеров DXVK.

Релиз D7VK 1.7 уже доступен на GitHub-странице проекта. Приятного погружения в ретро-гейминг и сообщайте о любых проблемах, особенно в малоизвестных играх!

  • Просмотров: 228