
Estado de liberação: pré-lançamento/beta
Versão do motor: 0.10
Motor de renderização em tempo real em tempo real. Espere bugs e instabilidade, pois ainda estão em desenvolvimento. O motor é gratuito e de código aberto (licenciado no MPL-2.0). Por favor, não hesite em entrar em contato comigo sobre quaisquer perguntas ou problemas que você tenha!
(Modelo 3D: Intel Sponza)

(Modelo 3D: Bistro)

(Modelo 3D: San Miguel)
(Modelo 3D: Cornell Box)
-> rolo de recurso de vídeo
-> Recurso de imagem gráfica carretel
-> Visão geral da arquitetura de alto nível
-> Como um quadro é renderizado
Este projeto foi criado como um projeto de pesquisa de hobby para aprender o desenvolvimento de motores de baixo nível e implementar técnicas gráficas modernas.
Em seu núcleo, o Stratus é um mecanismo de renderização primeiro com recursos mínimos encontrados nos motores de fins gerais. Seu foco está nos modernos recursos gráficos 3D. Por esse motivo, ele tem dois casos de uso principal:
Pessoas pegando e usando -o como um recurso de aprendizado.
Integração em outros mecanismos de uso geral (novos ou existentes) e ferramentas de modelagem.
Devido à licença da MPL, qualquer alteração da comunidade feita no código de renderização continuará ajudando outras pessoas em projetos novos e existentes que a usam.
| Tipo | Exigência |
|---|---|
| OS | Windows 10/11 ou Linux |
| Compilador | Suporte para C ++ 17 |
| Gráficos | Apoio ao OpenGL 4.6 |
| Tipo | Mínimo |
|---|---|
| CPU | Ryzen 3 1200 (Quad Core) |
| BATER | 8 GB |
| GPU | NVIDIA GTX 1050 TI |
Um arquivo zip que contém esponza, sala de interrogatório, San Miguel, bistrô, banheiro etc.
Extraia a pasta Recursos.zip na raiz do stratusgfx. Em seguida, estará no mesmo nível que o bin/, exemplos/, origem/, testes/. Certifique -se de que a estrutura da pasta se pareça com Stratusgfx/Recursos/ * onde * serão pastas como esponja, bistrô, etc.
(Veja mais abaixo este readme para obter uma lista completa de créditos de onde vieram a amostra dos dados do modelo 3D)
Atualmente, esta base de código não funcionará no macOS. Linux e Windows devem ficar bem, desde que o driver gráfico suporta o OpenGL 4.6 e o compilador suporta C ++ 17.
Primeiro, configure o repositório
git clone --recursive https://github.com/KTStephano/StratusGFX.git
cd StratusGFX
Verifique se seus drivers de gráficos estão atualizados.
No Linux, você provavelmente precisará instalar os seguintes pacotes:
libgl1-mesa-dev
libxext-dev
(ou o equivalente para sua distro)
Esta é a construção preferida, se tudo o que você deseja fazer é criar os exemplos e executá -los.
python3 ./build_examples.py --assimp
-> Linux Nota: Se você receber um erro durante a construção do Assim da etapa acima, use o gerenciador de pacotes local para instalar o Assimp. Em seguida, execute novamente a etapa acima como:
python3 ./build_examples.py
Agora você deve poder entrar na pasta Stratusgfx/ Bin/ e executar os exemplos!
Use isso se você planeja fazer alterações de código -fonte em qualquer coisa em exemplos/ origem/ ou testes/. Você só precisará criar as dependências uma vez e, depois disso, poderá executar novamente a etapa CMake Build sempre que fizer alterações.
Construir dependências de terceiros -> deve precisar fazer isso apenas uma vez por clone
python3 ./dependency_build.py --assimp
-> Linux Nota: Se você receber um erro ao criar o Assimp, use o gerenciador de pacotes local para instalar o Assimp. Em seguida, execute novamente a etapa acima como:
python3 ./dependency_build.py
Agora construa a fonte Stratusgfx
cmake -Bbuild -S. -DBUILD_TESTS=ON
cmake --build build/ -j 8 --config RelWithDebInfo
cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTS=ON
cmake --build build/ -j 8
Todos os executáveis serão colocados na pasta stratusgfx/bin. Certifique -se de executá -los enquanto estiver dentro do stratusgfx/bin/. Bons para correr para ver se funcionou são
Ex00_StartupShutdown.exe (runs through initialize, run one frame, shutdown sequence)
Ex01_StratusGFX.exe (you should see a forest of red cubes since textures aren't bundled with source)
StratusEngineUnitTests.exe
StratusEngineIntegrationTests.exe
Se você está tendo problemas com o download dos ativos 3D ou executando os exemplos, um bom lugar para verificar está aqui:
https://github.com/ktstephano/stratusgfx/wiki/examples
Se isso não ajudar, sinta -se à vontade para me enviar um email ([email protected]) ou abrir um problema.
Os créditos para os ativos 3D utilizados nos exemplos/demos são os seguintes:
Crytek Sponza
Intel Sponza
San Miguel
Bistro
Junk Shop
O banheiro
Sala de interrogatório
Armazém abandonado
Você pode verificar a visão geral da arquitetura de alto nível ou começar examinando o código em exemplos/exemploenv00 e exemplos/exemploenv01. Ambos dependem do código que está dentro de exemplos/comuns, que é outro bom lugar para olhar em volta.
Nenhuma das cenas de teste é agrupada com essa fonte, para que o restante dos ambientes fique completamente em branco ao executar.
Wasd para se mover
Mouse esquerdo para voar para cima, rato direito para voar para baixo
U desbloqueia procure/procure para a câmera
F Alterna a luz da câmera
E alterna a luz direcional
G alterna a iluminação global
R recomtila todos os shaders