
Moteur Razix
Razix est un moteur de recherche haute performance pour le pipeline de production en mettant l'accent sur l'expérimentation de différentes techniques de rendu. Razix prend en charge les systèmes Windows, Mac, Linux, PSVita et PS3.
| ️ AVERTISSEMENT: Actuellement, Razix est WIP et le rendu est en cours de révision de conception majeure avec prudence pendant l'utilisation, vérifiez la feuille de route ci-dessous pour les informations de publication |
|---|
À propos
Moteur 2D et 3D multiplateforme avec support API multi-rendu (Vulkan, DirectX 12). Soutient un large éventail de rendus avec un accent extrême sur l'optimisation des scène et la mise en œuvre de techniques de rendu de pointe. L'architecture du moteur soutient une conception très éducative et optimisée.
Afficher la carte Trello et les notes d'architecture sur Draw.io
Caractéristiques
- Construit en utilisant C ++ 17. (Le moteur sera retourné à C ++ 14 une fois Entt / Sol supprimé et que seule la secousse sera compilée en mode C ++ 17)
- C ++ 14 sur C ++ 11 car
constexpr et sizeof et lamdbas améliorées sont nécessaires pour Framegraph.
- Prise en charge de Windows, Linux, MacOS.
- Prise en charge de OpenGL, Vulkan et DirectX 12.
- Framegraph basé sur les données basé sur le moteur Frostbite d'EA (basé sur l'implémentation de FrameGraph de Skaarj 1989)
- Utilise l'éditeur de graphiques de nœud personnalisé
Basé sur le nœud Éditeur de graphiques à cadre |  |
|---|
- Audio 3D utilisant Openal
- Compléter le pipeline différé + Ressources sans liaison + les rendus de type nanite (prise en charge future pour l'éditeur de graphes de rendu personnalisable pour un contrôle complet).
- Éditeur de niveau et outils construits à l'aide de QT
- Support multi-physique du moteur.
- Physique 3D à l'aide de Jolt.
- Support de script LUA de base pour les entités.
- Profil extrêmement détaillé à l'aide de Tracy et RenderDoc intégrés
- Prend en charge les langues d'ombrage GLSL, HLSL pour créer des matériaux personnalisés + des fichiers Razix Shaders personnalisés pour une compilation facile
- Gestion de la base de pools de ressources et format d'actifs personnalisés
| Visionneuse de ressources |  |
|---|
- Architecture du pipeline de données de données - FrameGraph utilise des fichiers JSON
- Mémoire Razix STL et Razix personnalisée
- WorldRenderer passe
- Éclairage et ombres
- Lumières directionnelles avec CSM (cartographie de l'ombre en cascade)
- Feux de pointe
- Projeter les projections
- PBR différé
- Ibl
- Skybox (HDR et procédure)
- Ssao
- Dessin de débogage
- Imgui
- Tonmappage
- FXAA
- TAA (WIP)
Caractéristiques expérimentales:
- Machine Learning Sandbox (CLASSE NNS CASSION + Transformers WIP) CPU uniquement pour l'instant, peut être porté sur la couche RHI du moteur
- Profilage du budget de mémoire / temps de département (Inspiration de SMS GDC Talk and Insomniac Engine)
DirectX11, OpenGL a été obsolète. Seuls les API de haut niveau et les GPU de niveau RTX seront pris en charge. PSVITA (GXM) et PS3 (GCM) seront pris en charge à l'avenir.
Outils
Razix fournit également un riche ensemble d' outils GUI et Commmand Line ainsi que l'éditeur à diverses fins telles que
- Razix Asset Packer - CLI Tool + API pour l'éditeur - Exporter des modèles 3D dans des maillages et des matériaux de format Razix personnalisés
Feuille de route
V 1.0.0 - RC

Contributif
Plus d'informations seront mise à jour sur la création de PRS et d'autres moyens de contribuer au moteur Razix.
Guide de style
Vérifiez le guide de style pour les applications de style Razix
Captures d'écran / démos

Architecture
️ Encore un travail en cours

ex. Lua Scriping API Cheatheet 
Vérifiez le dossier DOCS ou les notes d'architecture sur Draw.io pour une description d'architecture détaillée
| Systèmes de base | Graphique à cadre |
|---|
 |  |
Changelog et notes de sortie
Cliquez pour voir Changelog
Cliquez pour voir les relances
Licence
Le moteur Razix est distribué sous la licence Apache 2.0. LICENCE