<img width=200" align="left" src="https://github.com/Pikachuxxxx/Razix/blob/master/Branding/RazixLogo.png">
Razix Engine
Razix is a High Performance Research Engine for production pipeline with emphasis on experimenting with different rendering techniques. Razix supports Windows, Mac, Linux, PSVita and PS3 systems.
:warning: WARNING:Currently Razix is WIP and the renderer is undergoing major design overhaul thread with caution while using, check the RoadMap below for release information |
Dev Status
Hi all,
Due to my new job and changes in my life, I will be taking a break until 2025. Relax and focus on some other things, this won't mean I'l stop learning but a small break on a very long journey to absorb other things in life.
Regards,
Phani.
About
Cross-Platform 2D and 3D engine with multi render API support (Vulkan, DirectX 12). Supports a wide range of Renders with extreme emphasis on scene optimization and implementing state-of-the art rendering techniques. The engine architecture supports a very educational and optimized design.
View the Trello Board and the Architecture notes on Draw.io
Features
- Built using C++17. (Engine will be reverted back to C++14 once entt/sol have been removed and only Jolt will be compiled in C++17 mode)
- C++14 over C++11 because
constexpr
and sizeof
and improved lamdbas
are needed for framegraph.
- Support for Windows, Linux, macOS.
- Support for OpenGL, Vulkan & DirectX 12.
- Data Driven Framegraph based on EA's frostbite engine (based on skaarj
1989's Framegraph implementation)
Node based Frame Graph Editor |
|
- 3D audio using OpenAL
- Complete Deferred pipeline + Bindless resources + nanite-like renderers(Future support for customizable render graph editor for complete control).
- Level Editor & tools built using QT
- Multi Physics engine support.
- 3D physics using Jolt.
- Basic lua scripting support for entities.
- Extremely detailed profiling using Tracy and RenderDoc integrated
- Supports GLSL, HLSL shading languages to create custom materials + Custom Razix Shaders files for easy compilation
- Resource Pool base management and custom asset format
Resource Viewer |
|
- Data drive pipeline architecture - WIP
- Custom Razix STL and Razix Memory
- WorldRenderer Passes
- Lighting and shadows
- Directional lights with CSM (Cascaded Shadow Mapping)
- Point lights
- Spot lights
- Deferred PBR
- IBL
- Skybox (HDR & Procedural)
- SSAO
- Debug Drawing
- ImGUi
- Tonemapping
- FXAA
- TAA (WIP)
DirectX11, OpenGL has been deprecated. Only high-level APIs and RTX level GPUs will be supported. PSVita(GXM) and PS3(GCM) will be supported sometime far in future.
Tools
Razix also provides a rich set of GUI and Commmand Line Tools along with the Editor for various purposes such as
- Razix Asset Packer - CLI Tool + API for Editor - Export 3D Models into custom razix format Meshes and Materials
- Razix Code Editor - Shaders and Scripts code editor for Razix Engine (Sony ATF)
TODO
- Blender exporter and Importer for model and navmesh formats
- Blender Integration
- Script debugger for Lua
RoadMap
V 1.0.0 - RC
Contributing
More information will be update on creating PRs and other ways to contribute to Razix Engine.
Style Guide
Check the style guide for Razix Style enforcements
Screenshots/Demos
Architecture
:warning: Still a work in progress
ex. Lua Scriping API cheatsheet
Check the Docs folder or Architecture notes on Draw.io for a detailed architecture description
Core Systems |
Frame Graph |
|
|
Changelog and Release Notes
Click to view changelog
Click to view ReleaseNotes
License
Razix Engine is distributed under Apache 2.0 license. LICENSE