
Motor Razix
O Razix é um mecanismo de pesquisa de alto desempenho para o pipeline de produção, com ênfase em experimentar diferentes técnicas de renderização. Os sistemas RAZIX suporta Windows, Mac, Linux, Psvita e PS3.
| ️ Aviso: Atualmente, o Razix é WIP e o renderizador está passando por um grande tópico de revisão de design com cautela ao usar, verifique o roteiro abaixo para obter informações sobre liberação |
|---|
Sobre
Motor 2D e 3D de plataforma cruzada com suporte de API de renderização múltipla (Vulkan, DirectX 12). Suporta uma ampla gama de renderizações, com ênfase extrema na otimização de cenas e implementando técnicas de renderização de última geração. A arquitetura do motor suporta um design muito educacional e otimizado.
Veja a placa Trello e as notas de arquitetura sobre draw.io
Características
- Construído usando C ++ 17. (O motor será revertido de volta para C ++ 14 assim que a ENTT/SOL for removida e apenas o JOLT será compilado no modo C ++ 17)
- C ++ 14 sobre C ++ 11 porque
constexpr e sizeof lamdbas aprimorados são necessários para o FrameGraph.
- Suporte para Windows, Linux, MacOS.
- Apoio ao OpenGL, Vulkan & DirectX 12.
- Divido de dados com base no motor de gelada da EA (baseado na implementação de Skaarj 1989 de Framegraph)
- Usa editor de gráficos de nó personalizado
Baseado no nó Editor de gráficos de quadros |  |
|---|
- Áudio 3D usando o Openal
- Pipeline diferido completo + Recursos Binzeados + Renderizadores do tipo nanite (suporte futuro ao editor de gráficos de renderização personalizável para controle completo).
- Editor de nível e ferramentas construídas usando QT
- Suporte ao motor multi física.
- Física 3D usando o Jolt.
- Suporte básico de script da Lua para entidades.
- Perfil extremamente detalhado usando Tracy e RenderDoc integrado
- Suporta GLSL, linguagens de sombreamento HLSL para criar materiais personalizados + arquivos de shaders Razix personalizados para facilitar a compilação
- Gerenciamento base do pool de recursos e formato de ativo personalizado
| Visualizador de recursos |  |
|---|
- Arquitetura de pipeline de unidade de dados - o FrameGraph usa arquivos JSON
- Memória personalizada de Razix Stl e Razix
- Worldrenderer passa
- Iluminação e sombras
- Luzes direcionais com CSM (mapeamento de sombra em cascata)
- Luzes pontuais
- Luzes à vista
- Diferido pbr
- Ibl
- Skybox (HDR e Processual)
- SSAO
- Desenho de depuração
- Imgui
- TonEmapping
- FXAA
- TAA (WIP)
Recursos experimentais:
- Sandbox de aprendizado de máquina (CPU personalizado NNS Class + Transformers) Somente por enquanto, mais tarde pode ser portada sobre a camada RHI do motor
- Memória baseada em departamento/perfil de orçamento de tempo de quadro (inspiração do SMS GDC Talk e Insomniac Engine)
DirectX11, OpenGL foi depreciado. Somente as APIs de alto nível e as GPUs de nível RTX serão suportadas. Psvita (GXM) e PS3 (GCM) serão suportados em algum momento do futuro.
Ferramentas
Razix também fornece um rico conjunto de ferramentas de linha de GUI e commmand, juntamente com o editor para vários fins, como
- Razix Asset Packer - Ferramenta CLI + API para editor - Exportar modelos 3D para malhas e materiais de formato Razix personalizados
Roteiro
V 1.0.0 - rc

Contribuindo
Mais informações serão atualizadas sobre a criação de PRs e outras maneiras de contribuir com o Razix Engine.
Guia de estilo
Verifique o guia de estilo para execuções no estilo Razix
Capturas de tela/demos

Arquitetura
️ Ainda um trabalho em andamento

ex. Lua Scripting API Cheatsheet 
Verifique a pasta Docs ou as notas de arquitetura sobre draw.io para uma descrição detalhada da arquitetura
| Sistemas principais | Gráfico de quadros |
|---|
 |  |
Changelog e Notas de lançamento
Clique para ver Changelog
Clique para ver as liberadores
Licença
O motor Razix é distribuído pela licença Apache 2.0. LICENÇA