Home

Awesome

Crystal Engine

A Work-in-progress Vulkan game engine with PBR rendering, FrameGraph based render architecture, and a declarative syntax Widget GUI framework that is used by the editor.

Check more screenshots below.

Check out Fusion widget library.

Requirements

The engine and editor compiles and runs on Windows (x64), Linux (Ubuntu) and Mac (Apple Silicon). However, Windows is the main platform of focus.

Even though the engine & editor compiles and runs on Mac (Apple Silicon), it is however unusable at this time with multiple issues, like incorrect mouse input. etc.

Building

Clone the repo using following command:

git clone --recursive https://github.com/neelmewada/CrystalEngine.git
git submodule update --init --recursive

Please look at the Build.md to know the steps & dependencies required to build.

Features

Modules Overview

The engine is divided into different domains, and each domain can have multiple modules.

Core domain

All modules inside the core domain are at the low level of the engine.

System domain

System domain modules are at high level of the engine.

Editor domain

Contains all the editor modules.

Screenshots

Project browser window:

PBR Demo:

Credits

<a href="https://www.flaticon.com/">Icons by FlatIcon - flaticon.com</a>

This project includes some code, both original and modified, from the O3DE project (https://github.com/o3de/o3de) under the MIT License.

Other than that, all the systems in the engine, like object system, Reflection, Serialization, Fusion Widget library, etc are entirely our own implementation. While it may draw conceptual inspiration from other frameworks, all code and algorithms have been developed independently.