• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток! Спешите принять участие в конкурсе "Таинственные миры" 2025!
    Ждем именно вас!

    Ссылка на конкурсную тему - тык
Рендер GD3D11

Gothic ½ Рендер D3D7 → D3D11, в разработке... v17.8-dev23

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.372
Благодарности
7.830
Баллы
995
  • Первое сообщение
  • #1
Gothic ½ — D3D11
G2D3D11_00.png

Ресурсы портала: World of Gothic.de
Страна разработчика: Германия
Платформа игры: "Готика 1", "Готика 2 - Ночь Ворона"
Тип обновления: Пакет
Рабочее название: D3D11-Renderer
Версия: X17.5 pre
Язык: независимо от языка
Вес: ~8,09 МБ

Автор/разработчик: Degenerated, далее перехватил инициативу kirides
Сайт проекта: Gothic-Dx11 De(Мертв), продолжение GitHub - kirides/GD3D11: D3D11-Renderer for Gothic and Gothic 2

Статус: Релиз альфа-версии (100 %)
Дата релиза: 04.09.2014
Дата обновления: 08.09.2014 | 09.09.2014 | 10.09.2014 | 14.09.2014 | 18.09.2014 | 22.09.2014 | 25.09.2014 | 26.09.2014 | 30.09.2014 | 07.10.2014 | 13.10.2014 | 20.11.2014 | 25.11.2014 | 15.12.2014 | 29.12.2014 | 08.01.2015 | 17.01.2015 | 23.01.2015 | 02.02.2015 | 10.02.2015 | 13.02.2015 | 19.02.2015 | 23.02.2015 | 24.02.2015 | 26.02.2015 | 28.02.2015 |13.03.2015| 20.03.2015 | 01.04.2015 | 02.04.2015 | 05.04.2015 | 18.04.2015 | 29.04.2015 | 25.05.2015 | 28.05.2015 | 09.06.2015 | 12.06.2015 | 19.06.2015 | 22.06.2015 | 26.06.2015 | 30.06.2015 | 15.07.2015 | 05.08.2015 | много-много версий спустя от другого разработчика |15.01.2023|

Ссылки:
M$ выпустила официальное обновление KB4019990 для Windows 7 SP1/Server 2012, которое добавляет в систему D3DCompiler_47.dll для возможности установки NET Framework 4.7.
D3DCompiler_47.dll также необходим для работы последних сборок рендера DX11.




Описание:
G½Direct3D11 Renderer, — визуализация основанная на Direct3D11 для игр "Готика 1" и "Готика 2: Ночь Ворона". Целью этого проекта является перенос графической составляющей этих игр на современный уровень графических систем. Для этого пишется прокси-DLL, которая позволяет прозванивать активный процесс Gothic2.exe использующий старый D3D7 рендер, и перехватывать его функции для пере-направления их в новую реализуемую визуализацию, которая открывает двери для динамических эффектов теней(Shaders), пост-обработке(PostProcessing), улучшенного освещения(Lighting), но прежде всего, для большей совместимости с современным железом, что является основной причиной создания этого проекта.


Основные изменения:
• Перенос рендера с D3D7 на D3D11;
• Использование драйвера много-поточности D3D11 для игры;
• Использование пакетом собственного *.INI-файла, с частично изменяемыми внутренними параметрами.

Графические технологии:
• HBAO: Horizon Based Ambient Occlusion/Глобальное освещение;
• SMAA: Enhanced Subpixel Morphological Antialiasing/Улучшенное суб-пиксельное морфологическое сглаживание;
• AF: Anisotropic Filtering/Анизотропная фильтрация;
• Pixel Shader/Пиксельные шейдеры;
• Normal mapping/Карты нормалей;
• Tesselation/Тесселяция.

Графические эффекты:
• Dynamic lighting/Динамическое освещение;
• Dynamic shadows/Динамические тени;
• Real-time reflections/Отражения в режиме реального времени.

Прочее:
• Горячая замена шейдеров;
• Собственная схема управления разрешением игры;
• Настраиваемый FOV просчитываемый на прямую из памяти игры;
• Собственная консоль управления;
• Поддержка широкоформатных мониторов;
• Изменение оригинального и поддержка нового формата текстур: *.dds;
• Возможность подгрузки высоко-полигональных мешей в игру с поддержкой других форматов моделей: *.obj, *.ase или (стандартный) *.3ds;
• Журнал лог-файла об изменениях в игре.


Описание, (в разработке)...

Полезные клавиши/функции, настройки и управление:
(Для альфа-версии рендера G½D3D11-v21 и частично Х17.1)
Консоль:
Для рендера визуализации создана собственная консоль, обладающая простым интерфейсом и снабжённая стандартной функцией "авто-завершения" набираемого текста(команд), на манер консоли игры "Готика".
В активной сессии консоли блокируется перехват всех событий о нажатых клавишах для игры, до тех пор, пока активна сессия "режима консоли".
В режиме компиляции текстур, в консоль выводится информация о проблемных шейдерах, в случае возникновения ошибок с ними.
  • Клавиши и сочетания клавиш:
    [F11] — активирует режим консоли D3D11 в игре.
    [ESC] — закрывает активную сессию режима консоли в игре.
    [↑] или [↓] — используя стрелки вверх/вниз можно вызывать или просматривать ранее уже введённые команды.
  • Команды консоли:
    Help
    ; ... выводит список всех доступных команд используемых рендером визуализации.
    ListKeys
    ; ... выводит список всех клавиш клавиатуры используемых рендером визуализации.
    DebugHud
    ; ... отключает вывод информации от глобального пользовательского интерфейса(HUD),
    ; будет полезна для создания скриншотов, - включено (0) или выключено (1), по-умолчанию: 1.

Рендер D3D11:
  • Клавиши и сочетания клавиш:
    [Alt] + [Tab ⇆] — активирует возможность управления мышью.
    [Alt] + [↵ Enter] — позволяет переключаться между оконным и полно-экранном режимами в игре. В настоящее время всегда используется оригинальное разрешение рабочего стола, имейте это ввиду.
    [+] или [−] — позволяют регулировать сколько объектов визуализации может быть максимально отображено, в значении (−1), все.
  • Цифровая клавиатура:
    [Numpad 0] — активирует функцию "Горячей замена шейдеров", каждый раз при её нажатии подгружает шейдер по-новому.
    [Numpad 1] — включает/отключает, функцию записи всех D3D7- и DDRAW вызовов в файл Log.txt, с сохранением его каталог: "..\Gothic II").
    [Numpad 2] — включает/отключает, функцию записи всех основных изменений в лог-файл;
    [Numpad 3] — активирует функцию сохранения текстур. При этом, все текстуры загружаемые игрой, будут сохранены в каталог: "..\System\Textures", в формате *.PNG;
    [Numpad 4] — ??
    [Numpad 5] — включает/отключает поддержку технологии HBAO.
    [Numpad 6] — включает/отключает поддержку карт нормалей(Normal map) рендером визуализации.
    [Numpad 7] — активирует функцию создания скриншотов(при активации, затеняет участок текста сверху, слева, на скриншоте, в который проставляется логотип), с последующим автоматическим их сохранением в каталог: "..\System\Screenshots".
    [Numpad 8] — ??
    [Numpad 9] — ??
  • Команды консоли:
    "hbaoRadius"
    ; ... изменяемый параметр для актуального радиуса освещения, при "hbaoRadius 5.2" устанавливает его значение равным - 5.2.
    ExperimentalWater
    ; ... активирует функции рендера для "Новой воды" и "Отражений" с автоматическим выбором визуализации между "океаническими" и "не океаническими" шейдерами, - океан (1) или море/река/озеро (0), по-умолчанию: 0.
    UseOceanShader
    ; ... активирует функции рендера для "Отражений" с автоматическим выбором визуализации между "океаническими" и "не океаническими" шейдерами, - океан (1) или море/река/озеро (0), по-умолчанию: 1.
    HideWorldMeshes
    ; ... отключает отрисовку мешей мира игры, - включено (1) или выключено (0), по-умолчанию: 1.
    ; используя её, вы можете подменять меши миров с низко-полигональных на высоко-полигональные, причем старые,
    ; также будут использоваться для просчета коллизий. Но эти меши не используются при просчете глобального освещения!
    EnableSMAA
    ; ... активирует функцию для сглаживания рёбер на мешах моделей, - включено (1) или выключено (0), по-умолчанию: 0.
    WorldShadows
    ; ... активирует функцию наложения динамических теней на мир игры, - включено (1)
    ; или выключено (0), по-умолчанию: 0.
    ; лучше всего её применять после полной загрузки игры и используемых текстур.
    ; это снизит вероятность вылета игры с ошибкой: "Файл не найден".
    • SunShadowRangeScale
      ; ... регулируемый множитель для дистанции дальности наложения теней.
      ; более высокие значения уменьшают качество теней, отчего они накладываются на большие дистанции видимости.
    • ShowShadowCamera
      ; ... активирует функцию пред-просмотра и определения теней камерой игры. Может быть полезной, если поиграться с её параметрами.
      EnableHBAO
      ; ... описание ??
      ShowReflectionBuffer
      ; ... описание ??

Лог изменений:
— Функция "bForceOceanWaterShader" была удалена из списка команд.

На что стоит обратить внимание:
— Игра обязательно должна запускаться в оконном режиме (!) Вместе с пакетом поставляется обновленный файл Gothic.ini, который поможет вам в этом;
— Визуализация всегда работает с разрешением рабочего стола. Так как разрешение в игре имеет свои настройки для широкоформатных мониторов, используется "Пользовательский интерфейс" игры, то вам для правильной работы пакета, необходимо выставить равнозначное значение для разрешения рабочего и разрешения в игре. Файл: [Gothic.INI], параметры: "zVidResFullscreenX" и "zVidResFullscreenY";
— Рендер визуализации регулирует угол обзора(FOV) для широкоформатных мониторов, более не требуется никаких фиксов для них.

Установка/удаление:
— Для установки распаковать содержимое архива "GD3D11_V*.zip" в каталог: "..\Gothic II\System". При необходимости создать требуемые каталоги;
— Для де активации работы пакета достаточно, переименовать/удалить файл "ddraw.dll". Для полной деинсталляции пакета необходимо удалить все соответствующие файлы и каталоги созданные при его установке.

Детальное описание изменений:
Системные требования и ПО (версии 1-21, Х1-Х17.1):
Минимальные системные требования:
- Windows Vista со всеми обновлениями и выше;
- DirectX 11 с последними обновлениями;
- Видеокарта с аппаратной поддержкой DirectX 11.

Необходимое ПО:
"OС Windows" — Redistributable Pack MS Visual C++ 2012 (64-bit или 32-bit), или полная версия — Redistributable Pack MS Visual C++ 2005-2008-2010-2012-2013 Extended (x86, x64)
"Готика 2: Ночь Ворона" — Report версия 2.6.0.0-rev2 (fix), GothicStarter ver.2.6f, G2MDK-ver.2.6, Patch G2MDK-ver.2.6a

Релизы на GitHub'e:
GitHub - ataulien/GD3D11: D3D11-Renderer for Gothic and Gothic 2 - Неактуально.
Продолжение разработки рендера теперь тут:
GitHub - kirides/GD3D11: D3D11-Renderer for Gothic and Gothic 2

Предрелизы:
v17.8-dev10, v17.8-dev11, v17.8-dev12, v17.8-dev13, v17.8-dev14, v17.8-dev15
Подробней Releases · SaiyansKing/GD3D11
 
Последнее редактирование модератором:

SuperDave500

Участник форума
Регистрация
26 Янв 2021
Сообщения
138
Благодарности
42
Баллы
125
SuperDave500, автор dx11 в принципе редко отвечает и вряд ли будет что-то улучшать. А я брать на себя еще и dx11 не хочу, слишком много времени на Готику уходит. Даже пока ветер под вопросом.

Я понимаю, что ты имеешь в виду. Я просто подкидываю идеи для ветки, на случай, если кто-то слушает. Я на самом деле не прошу тебя делать какие-либо моды =).
 

Gotoman-Gothic

Участник форума
Регистрация
11 Янв 2015
Сообщения
297
Благодарности
163
Баллы
210
Новая версия от SaiyansKing v17.8-rev'SK3
  • Восстановление обратной совместимости со старой библиотекой Microsoft C++ Runtime
  • Исправление рендеринга декалей с alpha blending
  • Добавлена недостающая функция - ветер, теперь растительность колышется аналогично DX7 рендеру (только Gothic II), благодаря LikerGothic
 

SuperDave500

Участник форума
Регистрация
26 Янв 2021
Сообщения
138
Благодарности
42
Баллы
125
Простой режим: трава, пшеница, вечнозеленые деревья просто двигаются вперед и назад. Больше ничего не движется. Папоротники, травы, кустарники и все остальные деревья не двигаются. Расширенный режим: трава и пшеница двигаются немного более естественно. Ни одно из деревьев или что-либо еще не движется. Я не вижу возможности изменить скорость ветра, чтобы немного потестировать.
 

N1kX

Участник форума
Регистрация
13 Ноя 2009
Сообщения
6.354
Благодарности
5.960
Баллы
940
Простой режим: трава, пшеница, вечнозеленые деревья просто двигаются вперед и назад. Больше ничего не движется. Папоротники, травы, кустарники и все остальные деревья не двигаются. Расширенный режим: трава и пшеница двигаются немного более естественно. Ни одно из деревьев или что-либо еще не движется. Я не вижу возможности изменить скорость ветра, чтобы немного потестировать.
Это заложено в саму локацию. Если разраб модификации не добавляет силу ветра и вообще не включает ветер у объектов. Ничего не поможет.
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.812
Благодарности
2.811
Баллы
450
SuperDave500, я писал об этом автору dx11, но он сказал что только реализация по объектам. То есть если в моде не будет проставлен ветер каждому объекту = ветра не будет. В оригинале он тоже не проставлен.

В Новом Балане по скрипту будет проставляться всем объектам где может быть ветер. Так что там везде будет.
 

SuperDave500

Участник форума
Регистрация
26 Янв 2021
Сообщения
138
Благодарности
42
Баллы
125
SuperDave500, я писал об этом автору dx11, но он сказал что только реализация по объектам. То есть если в моде не будет проставлен ветер каждому объекту = ветра не будет. В оригинале он тоже не проставлен.

В Новом Балане по скрипту будет проставляться всем объектам где может быть ветер. Так что там везде будет.

Прошло очень много времени с тех пор, как я играл без рендерера D3D11. Поэтому я играл в чистую установку Gothic 2:NoTR. Никаких модов, только gothic2_fix-2.6.0.0-rev2, Union_Primary_Universal, Union 1.0m. Без мода D3D11.

В ванильной Готике 2:N\oTR: Следующие растения двигаются: трава, пшеница, вечнозеленые деревья (не все одновременно), небольшие обычные деревья (тонкие деревья высотой около 10-15 футов). Очень немногие большие деревья (не вечнозеленые) двигаются. Что не двигается: большинство больших деревьев (не вечнозеленых), папоротники, кустарники, травы, лианы, ежевика. Также кажется, что иногда растение движется, только если вы находитесь в определенном визуальном диапазоне от него (например, менее 100 футов). Все растения не двигаются одновременно. В одной области, где находится игрок, некоторые растения могут двигаться, а другие — нет. Я также заметил в лесах некоторые случайные листья, падающие.

Мое личное мнение (да, это, вероятно, потребует много работы): было бы хорошо, если бы все растения (возможно, не такие, как настенные лозы) в ванильной Gothic 2 / Gothic 2:NoTR имели флаг ветра. Возможно, даже флаги и настенные баннеры. Большинство текстур-паков и модов-расширений используют ванильные растения с обновленными текстурами - или они скопированы / изменены / переименованы. Поэтому наличие ванильных активов, установленных для ветра, также помогло бы с модами, которые такие большие, как new balance или имеют большую команду разработчиков.
 
Последнее редактирование:

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.812
Благодарности
2.811
Баллы
450
SuperDave500, ветер - это свойство объекта, для этого надо проставить ветер каждому объекту (руками или кодом). Возможно, я выпущу потом плагин для этого.

Как оказалось, если убрать галку Atmospheric Scattering то рисуется обычно небо с dx7, там луна есть.... Надо будет подумать.
 

Сахар

Участник форума
Регистрация
5 Янв 2017
Сообщения
68
Благодарности
49
Баллы
180
Мое личное мнение (да, это, вероятно, потребует много работы): было бы хорошо, если бы все растения (возможно, не такие, как настенные лозы) в ванильной Gothic 2 / Gothic 2:NoTR имели флаг ветра.
Не имею опыта работы с моделями, но если я правильно понимаю, то некоторые объекты (деревья в том числе) являются уже укомплектованной частью меша игрового мира NEWWORLD.ZEN, а не отдельными вобами. Их невозможно даже выделить в спейсере. Именно у них другой цвет (текстуру можно поменять) и на них ветер не распространяется. Скорее всего, для этого нужно будет заново пересобирать zen, потом заново расставлять объекты и уже после этого прикреплять к ним ветер.

Как мне кажется, функция ветра в новой версии вообще лишняя, так как часть деревьев колышется, а часть - нет. Было бы неплохо, если бы она отключалась.
 
Последнее редактирование:

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.812
Благодарности
2.811
Баллы
450
Сахар, на такие объекты забить. Часть деревьев находится в меше, да. Так это опция же, просто выключаешь на f11, она по умолчанию выключена.
 

SuperDave500

Участник форума
Регистрация
26 Янв 2021
Сообщения
138
Благодарности
42
Баллы
125
SuperDave500, ветер - это свойство объекта, для этого надо проставить ветер каждому объекту (руками или кодом). Возможно, я выпущу потом плагин для этого.

Как оказалось, если убрать галку Atmospheric Scattering то рисуется обычно небо с dx7, там луна есть.... Надо будет подумать.

Вы правы. Я пробовал. Луна снова появляется. Проблема с простым отключением "атмосферного рассеивания" заключается в том, что моды вроде Vurt's Skies для GD3D11 (Vurt's Skies for GD3D11) и мод случайной текстуры неба Hedin's (Union / Юнион - Плагин случайных текстур неба под DX11) больше не работают. Они добавляют невероятную красоту ночному небу. Днем этой проблемы нет. Днем включено атмосферное рассеивание, солнце в небе, моды Vurt's и Hedin's работают вместе без проблем.

Признаюсь, я не понимаю, является ли перемещение частей деревьев, растений, кустарников и т. д. больше функцией рендерера или чем-то более сложным, например, созданием "скелетов" для растений. В TES: Oblivion у нас были моды, которые позволяли листьям деревьев и частям растений двигаться от ветра, дождя и т. д. Кажется, я понимаю, что в Gothic реалистичный эффект ветра на растениях и т. д. - а не просто "качание" всего дерева, как в ванильном Gothic, - невозможен без перестройки мира?
 
Последнее редактирование:

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.812
Благодарности
2.811
Баллы
450
SuperDave500, ветер - это вершинный шейдер, чем выше от корня - тем сильнее качка. Это визуальный эффект, с самой моделькой ничего не делается. В объекте лишь задается сила качания и включен ли эффект. Никаких скелетов у деревьев в Готике просто нет.

"атмосферное рассеивание" - это просто способ отрисовки неба dx11, если выключить = рисуется как на dx7 где луна есть. В общем как сделать луну при рассеивании я пока не знаю :)
 
Последнее редактирование:

SuperDave500

Участник форума
Регистрация
26 Янв 2021
Сообщения
138
Благодарности
42
Баллы
125
SuperDave500, ветер - это вершинный шейдер, чем выше от корня - тем сильнее качка. Это визуальный эффект, с самой моделькой ничего не делается. В объекте лишь задается сила качания и включен ли эффект. Никаких скелетов у деревьев в Готике просто нет.

"атмосферное рассеивание" - это просто способ отрисовки неба dx11, если выключить = рисуется как на dx7 где луна есть. В общем как сделать луну при рассеивании я пока не знаю :)

Я читал о вершинных шейдерах и векторном ветре, поскольку они влияют на локоны. У меня ограниченный опыт работы с сетками растений в Gothic. У меня есть небольшой проект по созданию нескольких масштабированных версий некоторых ретекстурированных трав и растений. Некоторые из этих сеток растений кажутся очень упрощенными. Из того, что я видел, я не уверен, что в них достаточно вершин, чтобы создать что-то большее, чем простые «колышущиеся» деревья. Другими словами, у меня нет большой надежды увидеть, как отдельные ветви деревьев или листья движутся независимо от ствола, как это происходит в реальной жизни. Может, я ошибаюсь?
 

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.812
Благодарности
2.811
Баллы
450
SuperDave500, в готике без шансов. Листья - не отдельные вершины, а текстура. Такое даже в современных играх не везде есть. :) Ну только если ты лично не создаешь модели деревьев и не перепишешь рендер чтобы ветер на листья действовал. Так что не стоит тратить время.
 

SuperDave500

Участник форума
Регистрация
26 Янв 2021
Сообщения
138
Благодарности
42
Баллы
125

Спасибо. По моему мнению, если моддеры заинтересованы - есть большой потенциал для будущего развития этого. Погодные моды, которые производят разные типы погоды случайным образом (сильный ветер без дождя, сильный ветер с большим количеством дождя, сильный ветер с небольшим дождем, большой дождь с небольшим ветром и т. д.), разные области карты с разными ветрами (леса, пещеры, береговые линии, высокие горы, равнины и т. д.). Дневной и ночной ветер. Разные значения ветра в зависимости от высоты растения (более высокие деревья качаются сильнее, чем более низкие и т. д.)
 

Yuujin

Участник форума
Регистрация
25 Сен 2016
Сообщения
73
Благодарности
24
Баллы
175
Грозу бы еще починить...
 
Сверху Снизу