
Motor Razix
Razix es un motor de investigación de alto rendimiento para la tubería de producción con énfasis en experimentar con diferentes técnicas de representación. Razix admite sistemas Windows, Mac, Linux, PSVITA y PS3.
| ️ ADVERTENCIA: Actualmente Razix es WIP y el renderizador se somete a un hilo de revisión de diseño importante con precaución mientras usa, consulte la hoja de ruta a continuación para obtener información de lanzamiento |
|---|
Acerca de
Motor 2D y 3D multiplataforma con soporte de API de renderizado múltiple (Vulkan, DirectX 12). Admite una amplia gama de renders con un énfasis extremo en la optimización de escenas e implementando técnicas de representación de última generación. La arquitectura del motor admite un diseño muy educativo y optimizado.
Ver el tablero Trello y las notas de la arquitectura en Draw.io
Características
- Construido usando C ++ 17. (El motor se volverá a volver a C ++ 14 una vez que Entt/SOL se haya eliminado y solo se compilará Jolt en el modo C ++ 17)
- C ++ 14 sobre C ++ 11 porque se necesitan
constexpr y sizeof y lamdbas mejorados para FrameGraph.
- Soporte para Windows, Linux, MacOS.
- Soporte para OpenGL, Vulkan y DirectX 12.
- FrameGraph basado en datos basado en el motor Frostbite de EA (basado en la implementación de FrameGraph de Skaarj 1989)
- Utiliza el editor de gráficos de nodo personalizado
Basado en el nodo Editor de gráficos de cuadro |  |
|---|
- Audio 3D con Openal
- COMPLETO DE CUBIERTA DE FLAFRADA + RECUSTOS DE BINDLESS + RENDITORES similares a la nanita (soporte futuro para el editor de gráficos de renderizado personalizable para el control completo).
- Editor de niveles y herramientas construidas con QT
- Soporte de motores múltiples de física.
- Física 3D usando Jolt.
- Soporte básico de secuencias de comandos Lua para entidades.
- Perfiles extremadamente detallados utilizando Tracy y RenderDoc Integrated
- Admite los lenguajes de sombreado GLSL, HLSL para crear materiales personalizados + archivos personalizados de Razix Shaders para una fácil compilación
- Gestión de la base de grupos de recursos y formato de activos personalizados
| Visor de recursos |  |
|---|
- Arquitectura de tuberías de la unidad de datos: FrameGraph utiliza archivos JSON
- Memoria personalizada de Razix STL y Razix
- Pases de Worldrenderer
- Iluminación y sombras
- Luces direccionales con CSM (mapeo de sombras en cascada)
- Luces de punto
- Luces de manchas
- PBR diferido
- Ibl
- Skybox (HDR y procedimiento)
- SSAO
- Dibujo de depuración
- Imgui
- Toneladas de toneladas
- FXAA
- TAA (WIP)
Características experimentales:
- Machine Learning Sandbox (clase NNS personalizada + transformadores WIP) CPU solo por ahora, más tarde se puede portar sobre la capa RHI del motor
- Perfil de presupuesto de tiempo de memoria/marco basado en el departamento (inspiración en SMS GDC Talk y Insomniac Engine)
DirectX11, OpenGL ha sido desaprobado. Solo se admitirán las API de alto nivel y las GPU de nivel RTX. PSVITA (GXM) y PS3 (GCM) serán compatibles en algún momento en el futuro.
Herramientas
Razix también proporciona un rico conjunto de herramientas de GUI y línea de comunicación junto con el editor para diversos fines, como
- Razix Asset Packer - CLI Tool + API para editor - Exportar modelos 3D a mallas y materiales de formato Razix personalizado
Hoja de ruta
V 1.0.0 - RC

Que contribuye
Se actualizará más información sobre la creación de relaciones públicas y otras formas de contribuir al motor Razix.
Guía de estilo
Revise la guía de estilo para obtener las ejecuciones de estilo Razix
Capturas de pantalla/demostraciones

Arquitectura
️ Sigue siendo un trabajo en progreso

ex. Lua Scriping API Cheatsheet de trucos 
Consulte la carpeta Docs o las notas de arquitectura en Draw.io para una descripción detallada de la arquitectura
| Sistemas centrales | Gráfico de marco |
|---|
 |  |
Notas de ChangeLog and Release
Haga clic para ver ChangeLog
Haga clic para ver Releasenotes
Licencia
El motor Razix se distribuye bajo la licencia Apache 2.0. LICENCIA