The Chronicles Of Myrtana: Archolos

The Chronicles Of Myrtana: Archolos

Not enough ratings
[GD3D11] Water shader fix
By Malwarax
Исправление проблемы с рендерингом воды для пользователей AMD Radeon.
   
Award
Favorite
Favorited
Unfavorite
DirectX 11
У тех, кто поставил себе DirectX 11 renderer (на момент написания руководства это v17.8-dev8), может наблюдаться проблема с мерцанием воды (волны не отрисовываются либо появляются артефакты).


Как пишет разработчик:
Originally posted by SaiyansKing:
Information to AMD Radeon users:
Due to some weird driver bug in the newest drivers the water can't be rendered properly(it is either synchronization issue or something from water shader that the new driver doesn't like). For some users helped adding DXVK beside GD3D11 so it looks like the only fix for now.

Я нашел два решения, выбирайте понравившееся.
Вариант 1. Редактирование PS_Water.hlsl
Источник информации[github.com]

Переходим в папку \TheChroniclesOfMyrtana\System\GD3D11\shaders.
Открываем файл PS_Water.hlsl через блокнот или любой текстовый редактор и удаляем 3 строки[gist.github.com]:
  • float3 sceneWet = lerp(sceneClean, sceneClean * 0.01f, f); // Darken border-scene
  • scene = lerp(scene, scene * float3(4, 0.2f, 0.1f) * 0.05f, f); // Darken distorted scene
  • color = lerp(color, sceneWet, (1-shallowDepth));
У меня это были строки с номерами 121, 122 и 128.
Заходим в игру и проверяем.

Может ли это потом что-то сломать при рендере в дальнейшем я без понятия.
Вариант 2. DirectX 11 + DXVK
Решение - добавить DXVK.

DXVK - это набор программных библиотек, которые переводят вызовы API DirectX в вызовы API Vulkan. Он поддерживает DirectX версий 9, 10 и 11.

Загружаем последнюю версию DXVK с GitHub (Github page[github.com], releases page[github.com])

Используем 7-Zip (или другой архиватор) для разархивирования и распаковки папки dxvk-x.x.x (где x.x.x - номер версии).

Установка:
  1. Откройте папку, в которой находится .exe файл игры (...\TheChroniclesOfMyrtana\System)
  2. Откройте папку, куда вы извлекли DXVK и зайдите в папку x32.
  3. Скопируйте файлы d3d11.dll и dxgi.dll в папку с .exe (...\TheChroniclesOfMyrtana\System)
На этом установка заканчивается. Заходим в игру и проверяем.

Добавление DXVK может крашить игру при попытке открыть оверей настроек графики на F11. Помогает убрать файлы d3d11.dll и dxgi.dll, поменять настройки и добавить их обратно. Другого варианта я пока не нашел.
Заключение
Надеюсь, GD3D11 скоро пофиксят и не придется устраивать эти танцы с бубнами.

7 Comments
CAPONE 21 Sep, 2023 @ 1:01pm 
Похоже фикс был просто в дровах амд, т.к. у меня и на dev8 перестало глючить.
CAPONE 21 Sep, 2023 @ 12:12pm 
на версии v17.8-dev8 у меня баг больше не воспроизводится, наверное починили
коля митбол 11 Sep, 2023 @ 10:30am 
спасибо, все работает
CAPONE 14 Oct, 2022 @ 12:40pm 
Я пока остановлюсь на 1 пункте. Настройки не сильно нужны.
Malwarax  [author] 14 Oct, 2022 @ 6:39am 
Вообще я наткнулся на еще одно решение. Вот ссылка [github.com]
Здесь вообще не нужен dxvk . Так что можно удалить d3d11.dll и dxgi.dll
Нужно зайти по пути \TheChroniclesOfMyrtana\System\GD3D11\shaders . Открыть файл PS_Water.hlsl через блокнот или любой текстовый редактор и убрать 3 строчки [gist.github.com]
Я проверил, вроде работает. Но вот может ли это потом что-то сломать я без понятия.
Чуть позже закину это в руководство.
Malwarax  [author] 14 Oct, 2022 @ 6:38am 
@CAPONE - я думаю ты можешь временно убрать эти 2 файла dxvk , поменять настройки графики и снова их закинуть. Получается по колхозному конечно.
CAPONE 11 Oct, 2022 @ 12:02am 
У меня после установки dxvk перестаёт открываться оверлей настроек, как по F11, так и из главного меню. При попытке открыть его появляется сообщение об ошибке

Failed to share D3D11-Surface with D2D. If you are running on Windows 7, you may just need to installthe latest platform-update, which enables you to use DXGI 1.1.
You can get it here: https://msdn.microsoft.com/en-us/library/windows/desktop/jj863687(v=vs.85).aspx
This will not crash the Renderer, but you will have to continue without editor-features.

и игра закрывается.