Hello folks. In this post, I’m going to introduce my WIP vulkan game engine called Crystal Engine. You can check it out here:
https://github.com/neelmewada/CrystalEngine
Currently, there are 2 branches: master and fusion-renderer-dev. The fusion-renderer-dev branch implements a new and improved 2D renderer for the Fusion GUI library. You can learn more about Fusion here:
https://github.com/neelmewada/CrystalEngine/blob/fusion-renderer-dev/Docs/FusionWidgets.md
Here is a brief overview of the engine
- Cross platform support: Windows, Linux (Ubuntu) and Mac (Apple Silicon).
- Engine is divided into multiple modules (dynamic libraries).
- Automatic C++ runtime reflection generation.
- Multi-threaded job system, used for asset processing.
- FrameGraph based render architecture.
- Use HLSL to write shaders for vulkan.
- Custom binary serialization format to load and store objects.
- A declarative GUI library called Fusion, which powers the editor itself.
- PBR rendering with IBL cubemap convolution.