
Raux -Motor
Razix ist ein Hochleistungsforschungsmotor für Produktionspipeline mit Schwerpunkt auf dem Experimentieren mit unterschiedlichen Rendering -Techniken. Razix unterstützt Windows, Mac, Linux, PSVita und PS3 -Systeme.
| Euen WARNUNG: Derzeit ist Razix WIP und der Renderer wird vorsichtig mit Vorsicht unterwegs |
|---|
Um
Plattformübergreifende 2D- und 3D-Motor mit Multi-Render-API-Unterstützung (Vulkan, DirectX 12). Unterstützt eine breite Palette von Rendern mit extremer Schwerpunkt auf die Optimierung der Szene und die Implementierung hochmoderner Techniken der Kunstwiedergabe. Die Motorarchitektur unterstützt ein sehr lehrreiches und optimiertes Design.
Sehen Sie sich das Trello Board und die Architekturnotizen auf Draw.io an
Merkmale
- Gebaut mit C ++ 17. (Der Motor wird nach dem Entfernen von Entt/Sol zurück zu C ++ 14 zurückgekehrt und nur Ruck im C ++ 17 -Modus zusammengestellt)
- C ++ 14 über C ++ 11, weil für Framegraph und
constexpr und sizeof und verbesserte Lamdbas verbesserte lamdbas benötigt werden.
- Unterstützung für Windows, Linux, macOS.
- Unterstützung für OpenGL, Vulkan & DirectX 12.
- Datengetriebener Framegraph basierend auf EA's Frostbite Engine (basierend auf der Framegraph -Implementierung von Skaarj 1989)
- Verwendet benutzerdefinierten Knotengrafikeditor
Knotenbasis Frame Graph Editor |  |
|---|
- 3D -Audio mit Openal
- Vollständige aufgeschobene Pipeline + Bindless Ressourcen + nanitähnliche Renderer (zukünftige Unterstützung für den anpassbaren Render-Diagramm-Editor für die vollständige Kontrolle).
- Level Editor & Tools, die mit QT erstellt wurden
- Motorhilfe für Multi -Physik.
- 3D -Physik mit Ruck.
- Basic lua Scripting -Unterstützung für Unternehmen.
- Extrem detaillierte Profilerstellung mit Tracy und Renderdoc integriert
- Unterstützt GLSL, HLSL -Schattierungssprachen, um benutzerdefinierte Materialien + benutzerdefinierte Razix Shaders -Dateien für die einfache Kompilierung zu erstellen
- Ressourcenpool -Basismanagement und benutzerdefiniertes Vermögensformat
| Ressourcenzuschauer |  |
|---|
- Data Drive Pipeline Architecture - Framegraph verwendet JSON -Dateien
- Benutzerdefinierte Razix STL und Razix -Speicher
- Weltrenderer ist vorbei
- Beleuchtung und Schatten
- Richtungslichter mit CSM (kaskadierte Schattenzuordnung)
- Punktlichter
- Spotlichter
- Aufgeschobener PBR
- Ibl
- Skybox (HDR & prozedural)
- SSAO
- Debuggenzeichnung
- Imgui
- Tonemapping
- FXAA
- TAA (WIP)
Experimentelle Merkmale:
- Sandbox für maschinelles Lernen (benutzerdefinierte NNS -Klasse + Transformers WIP) CPU Nur vorerst, später möglicherweise über die Motor -RHI -Schicht portiert werden
- Abteilungsbasierte Speicher-/Frame -Zeit -Budget -Profilerstellung (Inspiration von SMS GDC -Gespräch und Insomniac Engine)
DirectX11, OpenGL wurde veraltet. Es werden nur APIs und RTX-GPUs auf hoher Ebene unterstützt. PSVITA (GXM) und PS3 (GCM) werden irgendwann in Zukunft weit unterstützt.
Werkzeuge
Razix bietet zusammen mit dem Editor auch eine Reihe von GUI- und Commmand -Linien -Tools für verschiedene Zwecke wie zum Beispiel
- RAZIX ASSET PACKER - CLI -Tool + API für Editor - Exportieren Sie 3D -Modelle in benutzerdefinierte Razix -Format -Netze und -materialien
Roadmap
V 1.0.0 - RC

Beitragen
Weitere Informationen finden Sie in der Aktualisierung des Erstellens von PRs und anderen Möglichkeiten, um zu Razix Engine beizutragen.
Stilhandbuch
Überprüfen Sie den Style Guide für Durchsetzungen im Razix -Stil
Screenshots/Demos

Architektur
Euen Noch in Arbeit

ex. Lua Scriping API -Cheatsheet 
Überprüfen Sie den Ordner oder die Architekturnotizen von DOCS auf Draw.io für eine detaillierte Architekturbeschreibung
| Kernsysteme | Frame -Diagramm |
|---|
 |  |
Changelog- und Release -Notizen
Klicken Sie hier, um ChangeLog anzuzeigen
Klicken Sie hier, um Releases anzuzeigen
Lizenz
Razix Engine ist unter Apache 2.0 -Lizenz verteilt. LIZENZ