Гиперионный двигатель
Hyperion Engine — это движок 3D-игр, написанный на C++. В настоящее время он предназначен для Windows, macOS и Linux и поддерживает сценарии C# через .NET Core.
Динамическое диффузное глобальное освещение (DDGI) | Частицы графического процессора |
---|
| |
Некоторые функции включают в себя:
- Многопоточность с системой задач
- Система компонентов сущности
- PBR и постобработка
- Аппаратная поддержка трассировки лучей для отражений и глобального освещения
- Скелетная анимация
- Создание сценариев C# с использованием .NET Core
- Дополнительные методы отражения и глобального освещения, такие как
- Отражения в пространстве экрана
- Трассировка воксельного конуса
- Зонды окружающей среды
- Отсечение окклюзии графического процессора
- Частицы графического процессора
Здание
Hyperion использует CMake для настройки и создания файлов сборки как для C++, так и для C#. В зависимости от вашей целевой платформы убедитесь, что у вас установлены следующие зависимости:
Окна
- Visual Studio 2019 или новее
- vcpkg (и убедитесь, что установлена переменная среды VCPKG_INSTALLED_DIR)
- Вулкан SDK
- СДЛ 2
- ОпенАЛ
- Пуля (необязательно)
- FreeType (необязательно)
- GStreamer (необязательно, требуется только для потоковой передачи WebRTC)
macOS
- Инструменты сборки Xcode (компилятор Clang)
- Homebrew (для установки необходимых зависимостей)
- MoltenVK (обертка Vulkan SDK для Metal)
- СДЛ 2
- ОпенАЛ
- Пуля (необязательно)
- FreeType (необязательно)
- GStreamer (необязательно, требуется только для потоковой передачи WebRTC)
Линукс
- GCC или Кланг
- Вулкан SDK
- СДЛ 2
- ОпенАЛ
- Пуля (необязательно)
- FreeType (необязательно)
- GStreamer (необязательно, требуется только для потоковой передачи WebRTC)
Субмодули
Вам также следует убедиться, что подмодули репозитория инициализированы и обновлены. Основные из них, которые вам понадобятся:
- Среда выполнения .NET Core (https://github.com/dotnet/runtime)
- глсланг (https://github.com/KhronosGroup/glslang)
Некоторые дополнительные подмодули включают в себя:
- xatlas (если вы планируете запекать карты освещения) (https://github.com/jpcy/xatlas)
- libdatachannel (для поддержки WebRTC) (https://github.com/paullouisageneau/libdatachannel)
git submodule update --init --recursive