
État de libération: pré-libération / bêta
Version du moteur: 0.10
Moteur de rendu 3D en temps réel. Attendez-vous à des bugs et à l'instabilité car il est toujours en cours de développement. Le moteur est gratuit et open source (sous licence sous MPL-2.0). N'hésitez pas à me contacter pour toutes les questions ou problèmes que vous avez!
(Modèle 3D: Intel Sponza)

(Modèle 3D: Bistro)

(Modèle 3D: San Miguel)
(Modèle 3D: Cornell Box)
-> Reel de fonctions vidéo
-> Bobine de fonction d'image graphique
-> Aperçu de l'architecture de haut niveau
-> Comment un cadre est rendu
Ce projet a été créé comme un projet de recherche de loisirs pour apprendre le développement de moteurs de bas niveau et la mise en œuvre de techniques graphiques modernes.
À son cœur, Stratus est d'abord un moteur de rendu avec des caractéristiques minimales trouvées dans les moteurs à usage général. Il se concentre sur les capacités graphiques 3D modernes. Pour cette raison, il a deux cas d'utilisation principaux:
Les gens le prennent et l'utilisent comme ressource d'apprentissage.
L'intégration dans d'autres moteurs à usage général (nouveaux ou existants) et les outils de modélisation.
En raison de la licence MPL, les modifications de la communauté apportées au code de rendu continueront d'aider les autres projets nouveaux et existants qui l'utilisent.
| Taper | Exigence |
|---|---|
| OS | Windows 10/11 ou Linux |
| Compilateur | Prise en charge de C ++ 17 |
| Graphique | Prise en charge de l'OpenGL 4.6 |
| Taper | Minimum |
|---|---|
| Processeur | Ryzen 3 1200 (quad core) |
| BÉLIER | 8 Go |
| GPU | Nvidia gtx 1050 ti |
Un fichier zip contenant Sponza, une salle d'interrogatoire, San Miguel, Bistro, salle de bain, etc. se trouve ici: https://drive.google.com/file/d/1nvkeuhdask61xmtsonouueu5a-u-mtko/view?uSp=Share_Link
Extraire le dossier Resources.zip dans la racine de StratusGFX. Il sera alors au même niveau que Bin /, Exemples /, source /, tests /. Assurez-vous que la structure du dossier ressemble à des stratesgfx / ressources / * où * sera des dossiers tels que Sponza, Bistro, etc.
(Voir plus loin dans cette lecture pour une liste complète de crédits pour d'où les données du modèle 3D proviennent)
Cette base de code ne fonctionnera actuellement pas sur macOS. Linux et Windows devraient tous deux être bien tant que le pilote graphique prend en charge OpenGL 4.6 et que le compilateur prend en charge C ++ 17.
Configurez d'abord le repo
git clone --recursive https://github.com/KTStephano/StratusGFX.git
cd StratusGFX
Assurez-vous que vos pilotes graphiques sont à jour.
Sur Linux, vous devrez probablement installer les packages suivants:
libgl1-mesa-dev
libxext-dev
(ou l'équivalent pour votre distribution)
C'est la version préférée si tout ce que vous voulez faire est de construire les exemples et de les exécuter.
python3 ./build_examples.py --assimp
-> Linux Remarque: Si vous obtenez une erreur lors de la version Asimp de l'étape ci-dessus, utilisez votre gestionnaire de packages local pour installer Asimp à la place. Puis réécoutez l'étape ci-dessus comme:
python3 ./build_examples.py
Maintenant, vous devriez pouvoir entrer dans le dossier stratutusgfx / bin / et exécuter les exemples!
Utilisez-le si vous prévoyez d'apporter des modifications au code source à quoi que ce soit dans des exemples / source / ou tests /. Vous n'aurez besoin de construire les dépendances qu'une fois, puis après cela, vous pouvez simplement relancer l'étape CMake Build à chaque fois que vous apportez des modifications.
Construisez les dépendances tierces -> ne devraient avoir besoin de le faire qu'une fois par clone
python3 ./dependency_build.py --assimp
-> Remarque Linux: Si vous obtenez une erreur lors de la création d'Asimp, utilisez votre gestionnaire de packages local pour installer Asimp à la place. Puis réécoutez l'étape ci-dessus comme:
python3 ./dependency_build.py
Construisez maintenant la source stratutusgfx
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
Tous les exécutables seront placés dans le dossier stratutusgfx / bin. Assurez-vous de les exécuter à l'intérieur de stratutusgfx / bin /. Les bons à courir pour voir si cela a fonctionné
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 vous rencontrez des problèmes avec le téléchargement des actifs 3D ou l'exécution des exemples, un bon endroit pour vérifier est ici:
https://github.com/ktstephano/strattusgfx/wiki/Examples
Si cela n'aide pas, n'hésitez pas à m'envoyer un e-mail ([email protected]) ou à ouvrir un problème.
Les crédits pour les actifs 3D utilisés dans les exemples / démos sont les suivants:
Crytek Sponza
Intel Sponza
San Miguel
Bistro
Fusil de junk
La salle de bain
Salle d'interrogatoire
Entrepôt abandonné
Vous pouvez vérifier la vue d'ensemble de l'architecture de haut niveau, ou vous pouvez commencer par rechercher le code sous des exemples / exampleenv00 et des exemples / exampleenv01. Ils dépendent tous les deux du code qui est à l'intérieur d'exemples / Common, qui est un autre bon endroit pour regarder autour de lui.
Aucune des scènes de test n'est regroupée avec cette source, donc le reste des environnements sera complètement vide lors de l'exécution.
Wasd pour bouger
Maison gauche pour voler, souris droite pour voler
U déverrouillage Recherchez / cherchez la caméra
F bascule la lumière de la caméra
E bascule la lumière directionnelle
G bascule l'éclairage mondial
R recompiles tous les shaders