Motor Hyperion
Hyperion Engine é um motor de jogo 3D escrito em C++. Atualmente, ele é voltado para Windows, macOS e Linux e tem suporte para scripts C# via .NET Core.
Iluminação Global Difusa Dinâmica (DDGI) | Partículas de GPU |
---|
| |
Alguns recursos incluem:
- Multi threading com sistema de tarefas
- Sistema de componentes de entidade
- PBR e pós-processamento
- Suporte de rastreamento de raio de hardware para reflexos e iluminação global
- Animação esquelética
- Script C# usando .NET Core
- Mais técnicas de reflexão e iluminação global, como
- Reflexos do espaço da tela
- Rastreamento de cone Voxel
- Sondas ambientais
- Seleção de oclusão de GPU
- Partículas de GPU
Prédio
O Hyperion usa CMake para configurar e gerar os arquivos de compilação para C++ e C#. Dependendo da sua plataforma de destino, certifique-se de ter as seguintes dependências instaladas:
Windows
- Visual Studio 2019 ou mais recente
- vcpkg (e certifique-se de que a variável de ambiente VCPKG_INSTALLED_DIR esteja definida)
- SDK Vulkan
- SDL 2
- OpenAL
- Marcador (opcional)
- FreeType (opcional)
- GStreamer (opcional, necessário apenas para streaming WebRTC)
macOS
- Ferramentas de construção Xcode (compilador Clang)
- Homebrew (para instalar as dependências necessárias)
- MoltenVK (invólucro Vulkan SDK para Metal)
- SDL 2
- OpenAL
- Marcador (opcional)
- FreeType (opcional)
- GStreamer (opcional, necessário apenas para streaming WebRTC)
Linux
- GCC ou Clang
- SDK Vulkan
- SDL 2
- OpenAL
- Marcador (opcional)
- FreeType (opcional)
- GStreamer (opcional, necessário apenas para streaming WebRTC)
Submódulos
Você também deve garantir que os submódulos do repositório sejam inicializados e atualizados. Os principais que você precisará são:
- Tempo de execução do .NET Core (https://github.com/dotnet/runtime)
- glslang (https://github.com/KhronosGroup/glslang)
Alguns submódulos opcionais incluem:
- xatlas (se você planeja preparar lightmaps) (https://github.com/jpcy/xatlas)
- libdatachannel (para suporte WebRTC) (https://github.com/paullouisageneau/libdatachannel)
git submodule update --init --recursive