
Veröffentlichungsstatus: Vorveröffentlichung/Beta
Motorversion: 0.10
Echtzeit 3D -Rendering -Motor. Erwarten Sie Fehler und Instabilität, da sie noch in der Entwicklung befinden. Der Motor ist frei und Open Source (lizenziert unter MPL-2.0). Bitte kontaktieren Sie mich gerne über Fragen oder Probleme, die Sie haben!
(3D -Modell: Intel Sponza)

(3D -Modell: Bistro)

(3D -Modell: San Miguel)
(3D -Modell: Cornell Box)
-> Video -Funktionsrolle
-> Grafik -Bildfunktionsrolle
-> Übersicht über die Architektur auf hoher Ebene
-> Wie ein Rahmen gerendert wird
Dieses Projekt wurde als Hobby -Forschungsprojekt für das Erlernen von Motorentwicklung mit niedriger Ebene und die Implementierung moderner Grafiktechniken erstellt.
In seinem Kernstratus befindet sich zunächst ein Rendering -Motor mit minimalen Merkmalen in Generalzweckmotoren. Sein Fokus liegt auf modernen 3D -Grafikfunktionen. Aus diesem Grund hat es zwei Hauptanwendungsfälle:
Menschen nehmen es ein und nutzen es als Lernressource.
Integration in andere Generalzweckmotoren (neu oder vorhanden) und Modellierungswerkzeuge.
Aufgrund der MPL -Lizenz werden alle Änderungen der Community am Rendering -Code weiterhin anderen in neuen und vorhandenen Projekten helfen, die ihn verwenden.
| Typ | Erfordernis |
|---|---|
| Betriebssystem | Windows 10/11 oder Linux |
| Compiler | Unterstützung für C ++ 17 |
| Grafik | Unterstützung für OpenGL 4.6 |
| Typ | Minimum |
|---|---|
| CPU | Ryzen 3 1200 (Quad Core) |
| RAM | 8 GB |
| GPU | Nvidia gtx 1050 ti |
Eine ZIP-Datei mit Sponza, Verhörraum, San Miguel, Bistro, Badezimmer usw. finden Sie hier: https://drive.google.com/file/d/1nvkeuhdask61xmtonouUuUu5-u-mtko/view?usp=share_link
Extrahieren Sie den Ordner ressourcen.zip in die Wurzel von Stratusgfx. Es befindet sich dann auf dem gleichen Niveau wie Bin/, Beispiele/, Quelle/, Tests/. Stellen Sie sicher, dass die Ordnerstruktur wie Stratusgfx/Ressourcen aussieht/ * wo * Ordner wie Sponza, Bistro usw. sind.
(Weiter unten in diesem Readme finden Sie eine vollständige Liste von Credits dafür, woher die Beispieldaten für 3D -Modelldaten stammen.)
Diese Codebasis funktioniert derzeit nicht auf macOS. Linux und Windows sollten beide in Ordnung sein, solange der Grafiktreiber OpenGL 4.6 unterstützt und der Compiler C ++ 17 unterstützt.
Richten Sie zuerst das Repo ein
git clone --recursive https://github.com/KTStephano/StratusGFX.git
cd StratusGFX
Stellen Sie sicher, dass Ihre Grafiktreiber auf dem neuesten Stand sind.
Unter Linux müssen Sie wahrscheinlich die folgenden Pakete installieren:
libgl1-mesa-dev
libxext-dev
(oder das Äquivalent für Ihre Distribution)
Dies ist der bevorzugte Build, wenn Sie nur die Beispiele erstellen und ausführen möchten.
python3 ./build_examples.py --assimp
-> Linux HINWEIS: Wenn Sie während der Annehnung des oben genannten Schritts einen Fehler erhalten, verwenden Sie stattdessen Ihren lokalen Paketmanager, um Annahme zu installieren. Dann den obigen Schritt erneut ausführen als:
python3 ./build_examples.py
Jetzt sollten Sie in der Lage sein, in den Stratusgfx/ bin/ Ordner zu gehen und die Beispiele auszuführen!
Verwenden Sie dies, wenn Sie vorhaben, Quellcode Änderungen in Beispielen/ Quelle/ oder Tests vorzunehmen/. Sie müssen die Abhängigkeiten nur einmal erstellen und danach können Sie den CMake-Build-Schritt jederzeit erneut ausführen, wenn Sie Änderungen vornehmen.
Bauen Sie Abhängigkeiten der Drittanbieter -> sollte dies nur einmal pro Klon tun müssen
python3 ./dependency_build.py --assimp
-> Linux HINWEIS: Wenn Sie beim Erstellen von Assimp einen Fehler erhalten, verwenden Sie stattdessen Ihren lokalen Paketmanager, um Annahme zu installieren. Dann den obigen Schritt erneut ausführen als:
python3 ./dependency_build.py
Erstellen Sie nun die Stratusgfx -Quelle
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
Alle ausführbaren Sachen werden in den Ordner Stratusgfx/Bin eingerichtet. Stellen Sie sicher, dass Sie sie in Stratusgfx/bin/ausführen. Gute zu rennen, um zu sehen, ob es funktioniert hat
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
Wenn Sie Probleme mit dem Herunterladen des 3D -Vermögens oder mit dem Ausführen der Beispiele haben, ist ein guter Ort zum Überprüfen hier:
https://github.com/ktstephano/stratusgfx/wiki/examples
Wenn dies nicht hilft, schicken Sie mir gerne eine E -Mail ([email protected]) oder öffnen Sie ein Problem.
Credits für die in den Beispielen/Demos verwendeten 3D -Vermögenswerte sind wie folgt:
Crytek Sponza
Intel Sponza
San Miguel
Bistro
Trödelladen
Das Badezimmer
Verhörraum
Verlassenes Lagerhaus
Sie können die Übersicht über die Architektur auf hoher Ebene überprüfen oder mit dem Code unter Beispiele/Beispielenv00 und Beispielen/Beispielenv01 beginnen. Beide sind auf Code angewiesen, der sich in Beispielen befindet/gemeinsam ist, was ein weiterer guter Ort ist, um sich umzusehen.
Keine der Testszenen ist mit dieser Quelle gebündelt, sodass der Rest der Umgebungen beim Ausführen vollständig leer ist.
WASD zu bewegen
Linke Maus zum Fliegen, rechte Maus zum Fliegen nach unten
Du entsperrst nach oben/schaust nach der Kamera nach unten
F schaltet Kameralicht um
E richtungslicht umschaltet
G Umschaltet die globale Beleuchtung
R kompiliert alle Shader neu