Onyx is a Vulkan-based C++ engine designed for high-performance and volumetric terrain (voxel). Work on it started in 2022, with most progress happening in 2024 during my Twitch streams. The goal is to make it a lightweight, user-friendly, and fast game engine.
This engine is still actively being developed, and as such, the code provided is not guaranteed to be fully functional or free of bugs. Expect ongoing changes and improvements as the project evolves.
It currently only runs on Windows as there are now native window implementations for other platforms.
- Bindless Vulkan renderer.
- Fully data-driven design using node-graph editor.
- Enforced asynchronous asset loading.
- Volumetric Chunk streaming for massive worlds.
- Engine architecture for easy extensibility.
To successfully build and run Onyx, ensure the following software and tools are installed:
-
CMake
- Version:
3.28or higher - Download CMake
- Version:
-
Vulkan SDK
- Version:
1.3or higher - Additional Requirements:
During Vulkan SDK installation, ensure the following components are selected:- SDK 32-bit Core Components
- Shader Toolchain Debug Symbols 64-bit
- Shader Toolchain Debug Symbols 32-bit
- Download Vulkan SDK
- Version:
-
C++ Compiler
- Standard:
C++23or higher - Examples:
- Microsoft Visual Studio
- The free Community Edition includes the MSVC compiler with C++20 support.
- GCC (GNU Compiler Collection)
- Install GCC 11+ from the GCC Installation Guide.
- Windows users can install GCC via WSL for a Linux-like environment.
- Microsoft Visual Studio
- Standard:
You can download the source code directly from the GitHub repository as a ZIP file:
- Go to the repository's GitHub page.
- Click the Code button, then select Download ZIP.
- Extract the downloaded ZIP file to a directory of your choice.
If you prefer to use Git, clone the repository to your local system with the following command:
git clone https://github.com/Ak-Elements/Onyx.git Onyx
cd OnyxTIP: If you are unfamiliar with the command line, you can use one of the Git clients for your platform. Refer to the platform-specific build instructions for further details on those.
Follow the steps to configure, and build the Onyx engine depending on your platform.
- A GPU with Vulkan support is required.
- Contributions and issues can be tracked on the repository's GitHub page.
Required Notice: Copyright AkElements
This repository is licensed under the PolyForm Noncommercial License 1.0.0 https://polyformproject.org/licenses/noncommercial/1.0.0/
For questions regarding the license or if you would like to have a more permissive license feel free to contact me. (akelements.dev@gmail.com)
