Spartan Engine: eine von einer Person entwickelte bindless GPU-getriebene Engine
Dieses Projekt rundet „A game engine with a fully bindless, GPU-driven renderer featuring real-time path-traced global illumination, hardware ray tracing, and a physics simulation running at 200Hz, built over 10+ years of R&D.“ zu einer praxistauglichen Open-Source-Lösung zusammen, mit wiederverwendbarer Tooling- und Integrationsunterstützung für reale Anwendungsfälle.
Auf einen Blick
- Was ist das?
- Eine persönliche F&E-Engine mit Echtzeit-Pfadverfolgung, einer 200-Hz-Autosimulation und einer Codebasis von einem einzigen Autor.
- Für wen ist es gedacht?
- Das Projekt ist eine von einer Person entwickelte Forschungs-Engine mit einer langen Funktionsliste und einer freizügigen MIT-Lizenz. Die README enthält keine Leistungsbenchmarks, Hardwareanforderungen oder Befehlszeilen-Installationsanweisungen; diese Details sind dem Wiki überlassen.
- Darf ich es kommerziell nutzen?
- Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Die letzten Commits kamen vor 2 Tagen.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich C++, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 14. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Eine persönliche Engine mit langer Geschichte
Spartan begann als Universitätsprojekt und ist laut README seitdem über mehr als ein Jahrzehnt Abend- und Wochenendarbeit eines einzelnen Ingenieurs gewachsen. Dieselbe README besagt, dass seine Rendering-Technologie in Godot Engine und S.T.A.L.K.E.R. Anomaly integriert wurde, in einem veröffentlichten Programmierbuch erscheint und eine Discord-Community von über 600 Ingenieuren unterstützt. Es beschreibt die Engine als persönliche F&E-Bemühung, ausdrücklich kein kommerzielles Produkt, ohne Roadmap-Versprechen und ohne Support-Warteschlange. Die angegebene Philosophie ist, Echtzeit gegenüber gebacken, dynamisch gegenüber statisch und modern gegenüber sicher zu bevorzugen.
Standardwelten
Die Engine startet in einen Weltauswahlbildschirm mit mehreren physikaktivierten Umgebungen. Die Waldwelt ist die anspruchsvollste, mit 256 Millionen prozedural erzeugten Grashalmen auf 64,1 km² sowie Tausenden von Bäumen und Felsen. Weitere enthaltene Welten sind Sponza 4K, Basic, Liminal Space, Showroom und eine Welt namens The Plan, die als neongetränkte Stadt beschrieben wird, die die Engine zu echtzeit-pfadverfolgtem Fahren mit 60fps bringen soll. Die README kennzeichnet diese letzte als Plan, nicht als abgeschlossenes Feature.
Rendering-Architektur
Der Renderer basiert auf der Idee, dass die GPU alle Daten besitzt. Ressourcen wie Geometrie, Materialien, Texturen, Lichter, Transformationen und AABBs leben in persistenten globalen Puffern. Es gibt einen Zero-Binding-Draw-Pfad, bei dem Push-Konstanten nur einen Index in einen einzigen bindless Storage-Buffer tragen. Ein einziger globaler Vertex- und Indexpuffer hält alle Geometrie, mit Vertex-Pulling, das den Input Assembler umgeht. GPU-getriebenes indirektes Rendering verwendet Per-Meshlet-Frustum, Hi-Z-Okklusion und Backface-Kegel-Culling; die CPU gibt einen DrawIndexedIndirectCount pro Pass aus. Meshlets werden mit meshoptimizer erzeugt, und universelles HLSL wird sowohl zu Vulkan SPIR-V als auch zu DirectX 12 kompiliert. Mip-Erzeugung und Texturkomprimierung erfolgen zur Ladezeit auf der GPU.
Beleuchtung und globale Beleuchtung
Für die Beleuchtung verwendet die Engine ReSTIR-Pfadverfolgung mit räumlich-zeitlichem Reservoir-Resampling für Echtzeit-Mehrfachstreuungs-GI. Cluster-Deferred-Shading baut ein logarithmisches Z-Gitter auf der GPU und führt Kegel-gegen-AABB-Culling für Scheinwerfer durch. Hardware-raytracende Reflexionen und Schatten kommen über Ray Queries. Die Atmosphäre umfasst Streuung, bildbasiertes Licht mit gebogenen Normalen, volumetrische Wolken im Nubis-Stil, volumetrischen Nebel mit zeitlicher Reprojektion und einen FFT-Ozean mit Tessendorf-Spektrum und Multi-Kaskaden-IFFT. Außerdem aufgeführt sind Screen-Space-Schatten inspiriert von Days Gone, XeGTAO Ambient Occlusion und eine Schattenkarten-Atlas mit Halbschatten-Schätzung.
Leistung, Upscaling und Nachbearbeitung
Der Renderer unterstützt Variable Rate Shading, dynamische Auflösungsskalierung und zeitliches Anti-Aliasing mit eingebautem Upsampling (TAAU) mit Halton-jittered History-Reprojektion und Varianz-Clipping. Intel XeSS 3-Upscaling und FXAA sind ebenfalls verfügbar. Für das Debugging bieten benutzerdefinierte Breadcrumbs GPU-Absturzverfolgung. Die physikalisch basierte Kamera verwendet Auto-Belichtung und physikalische Lichteinheiten in Lumen und Kelvin. Tonemapper umfassen ACES, AgX und Gran Turismo 7, wobei letzteres die Standardeinstellung ist. HDR10-Ausgabe wird unterstützt, zusammen mit Bloom, Bewegungsunschärfe, Tiefenschärfe, chromatischer Aberration, Filmkorn und CAS-Schärfung.
Fahrsimulation und Engine-Systeme
Eine vollständige Fahrzeugdynamiksimulation läuft in der PhysX-Festzeitschritt-Schleife mit 200Hz. Die README listet Reifenmodellierung mit Pacejka MF 5.2, Aufhängung mit Konvex-Hüllen-Sweep-Kontakt und Stabilisatoren, Gewichtsverlagerung, Antriebsstrang mit 7-Gang-Getriebe, Bremsen mit thermischem Fading, Aerodynamik, Lenkung und Assistenten wie ABS und Traktionskontrolle auf. Über Fahrzeuge hinaus umfasst die Engine GPU-getriebene Partikel, Skelettanimation mit Zwei-Knochen-IK, PhysX-Physik, Lua-5.4-Skripting über Sol2, 3D-Audio mit SDL3, ein komponentenbasiertes Entitätssystem, prozedurale Straßen, einen Kamera-Schnitt-Sequenzer, einen hardwarebewussten Thread-Pool, OpenXR-VR (als WIP markiert), einen Profiler mit Zeitachsen und einen ImGui-basierten Editor. Der Asset-Import unterstützt 40+ Modellformate, 30+ Bildformate und 10+ Schriftformate.
Erste Schritte, Community und Lizenz
Die README verweist Benutzer für einen One-Click-Projektgenerierungs-Build-Guide auf das Wiki und verweist auf Game.cpp als Einstiegspunkt zum Verständnis, wie Standardwelten geladen werden. Ein Lua-Skripting-Leitfaden befindet sich ebenfalls im Wiki. Mitwirkende werden auf einen Beitragsleitfaden verwiesen, und Sponsoring deckt das Dropbox-Hosting für das One-Click-Setup ab. Die README listet Godot Engine auf, die Spartans TAA integriert, und S.T.A.L.K.E.R. Anomaly, die ein Rendering-Addon aus Spartans Quelle verwendet, sowie ein Programmierbuch von Jesse Guerrero. Das Repository ist unter MIT lizenziert, wobei der Lizenzauszug besagt, dass die Verwendung, das Kopieren, Ändern, Zusammenführen, Veröffentlichen, Verteilen, Unterlizenzieren und Verkaufen von Kopien gestattet ist, sofern der Urheberrechtshinweis enthalten ist. Die Lizenz besagt auch, dass die Software "wie besehen" ohne Gewährleistung bereitgestellt wird.
Redaktionelles Fazit
Das Projekt ist eine von einer Person entwickelte Forschungs-Engine mit einer langen Funktionsliste und einer freizügigen MIT-Lizenz. Die README enthält keine Leistungsbenchmarks, Hardwareanforderungen oder Befehlszeilen-Installationsanweisungen; diese Details sind dem Wiki überlassen.
Community-Notizen