
Estado de liberación: prelanzamiento/beta
Versión del motor: 0.10
Motor de representación 3D en tiempo real. Espere errores e inestabilidad, ya que todavía está en desarrollo. El motor es gratuito y de código abierto (con licencia bajo MPL-2.0). ¡No dude en ponerse en contacto conmigo sobre cualquier pregunta o problema que tenga!
(Modelo 3D: Intel Sponza)

(Modelo 3D: Bistro)

(Modelo 3D: San Miguel)
(Modelo 3D: Cornell Box)
-> carrete de funciones de video
-> carrete de características de imagen gráfica
-> Descripción general de la arquitectura de alto nivel
-> Cómo se representa un marco
Este proyecto fue creado como un proyecto de investigación de pasatiempos para aprender el desarrollo de motores de bajo nivel e implementar técnicas de gráficos modernos.
En su núcleo, Stratus es un motor de representación primero con características mínimas que se encuentran en los motores de propósito general. Su enfoque está en las modernas capacidades de gráficos 3D. Debido a esto, tiene dos casos de uso principales:
Personas que lo toman y lo usan como recurso de aprendizaje.
Integración en otros motores de propósito general (nuevos o existentes) y herramientas de modelado.
Debido a la licencia MPL, cualquier cambio de comunidad realizado en el código de renderizado continuará ayudando a otros en proyectos nuevos y existentes que la usan.
| Tipo | Requisito |
|---|---|
| Sistema operativo | Windows 10/11 o Linux |
| Compilador | Soporte para C ++ 17 |
| Gráficos | Soporte para OpenGL 4.6 |
| Tipo | Mínimo |
|---|---|
| UPC | Ryzen 3 1200 (Quad Core) |
| RAM | 8 GB |
| GPU | Nvidia gtx 1050 ti |
Se puede encontrar un archivo zip que contiene esponza, sala de interrogatorio, San Miguel, bistro, baño, etc.
Extraiga la carpeta recursos. ZIP en la raíz de StratusGFX. Luego estará al mismo nivel que bin/, ejemplos/, fuente/, pruebas/. Asegúrese de que la estructura de la carpeta se vea como Stratusgfx/Resources/ * donde * estarán carpetas como Sponza, Bistro, etc.
(Consulte más abajo este readme para obtener una lista completa de créditos sobre de dónde provienen los datos del modelo 3D de muestra)
Esta base de código actualmente no funcionará en macOS. Linux y Windows deberían estar bien siempre que el controlador de gráficos admita OpenGL 4.6 y el compilador admite C ++ 17.
Primero configure el repositorio
git clone --recursive https://github.com/KTStephano/StratusGFX.git
cd StratusGFX
Asegúrese de que sus controladores de gráficos estén actualizados.
En Linux, es probable que necesite instalar los siguientes paquetes:
libgl1-mesa-dev
libxext-dev
(o el equivalente para su distribución)
Esta es la construcción preferida si todo lo que desea hacer es construir los ejemplos y ejecutarlos.
python3 ./build_examples.py --assimp
-> Nota de Linux: si recibe un error durante la compilación de Assimp del paso anterior, use su administrador de paquetes local para instalar Assimp en su lugar. Luego vuelva a ejecutar el paso anterior como:
python3 ./build_examples.py
¡Ahora debería poder entrar en la carpeta Stratusgfx/ bin/ y ejecutar los ejemplos!
Use esto si planea hacer cambios en el código fuente en cualquier cosa en ejemplos/ fuente/ o pruebas/. Solo necesitará construir las dependencias una vez y luego, solo puede volver a ejecutar el paso de compilación de CMake en cualquier momento que realice cambios.
Construir dependencias de terceros -> solo debe necesitar hacer esto una vez por clon
python3 ./dependency_build.py --assimp
-> Nota de Linux: si recibe un error al crear Assimp, use su administrador de paquetes local para instalar Assimp en su lugar. Luego vuelva a ejecutar el paso anterior como:
python3 ./dependency_build.py
Ahora construya la fuente 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 los ejecutables se colocarán en la carpeta Stratusgfx/bin. Asegúrese de ejecutarlos mientras está dentro de Stratusgfx/bin/. Buenos para correr para ver si funcionó son
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
Si tiene problemas con la descarga de los activos 3D o ejecutando los ejemplos, aquí está un buen lugar para verificar:
https://github.com/ktstephano/stratusgfx/wiki/examples
Si esto no ayuda, no dude en enviarme un correo electrónico ([email protected]) o abrir un problema.
Los créditos para los activos 3D utilizados en los ejemplos/demostraciones son los siguientes:
Crytek Sponza
Intel Sponza
San Miguel
Pequeño restaurante
Chatarra
El baño
Sala de interrogatorio
Almacén abandonado
Puede verificar una descripción general de la arquitectura de alto nivel, o puede comenzar mirando el código en ejemplos/ejemploenv00 y ejemplos/ejemploenv01. Ambos dependen del código que esté dentro de ejemplos/comunes, que es otro buen lugar para mirar a su alrededor.
Ninguna de las escenas de prueba se agrupa con esta fuente, por lo que el resto de los entornos estarán completamente en blanco cuando se ejecute.
Wasd para moverse
Mouse izquierdo para volar hacia arriba, el mouse derecho para volar hacia abajo
U desbloqueos buscar/mirar hacia abajo para la cámara
F alternar la luz de la cámara
E alternar luz direccional
G TOMINGLE ILLUMINACIÓN GLOBAL
R recompensa a todos los sombreadores