Low level game engine being written in modern C++23 utilizing powerful Vulkan API
To be able to use Vortex you need to install a few dependencies:
- Modern C++ compiler, e.g: clang++-18
- Vulkan SDK
- Platform specific window server dev tools
sudo pacman -S git cmake base-devel vulkan-devel clang ninja libx11 wayland libxinerama 
sudo apt update
sudo apt install -y build-essential ninja-build clang vulkan-tools libvulkan-dev vulkan-validationlayers-dev spirv-tools libx11-dev libwayland-bin libxrandr-dev libxinerama-dev libxcursor-dev
wget https://apt.llvm.org/llvm.sh
sudo chmod u+x llvm.sh
./llvm.sh 18
The first thing you have to do is to sync shaderc dependencies and generate the CMake Cache for the build system of your choice, e.g. Ninja like this:
(cd Vortex-Engine/vendor/shaderc && ./utils/git-sync-deps) && cmake -S . -B build -G Ninja -DCMAKE_CXX_COMPILER=clang++-18 -DCMAKE_BUILD_TYPE=Debug
Afterwards you can build the engine using:
cmake --build build
The binaries are stored inside the ./bin directory
Vortex currently supports Linux with wayland or Xlib and Windows
You can find the roadmap at: https://trello.com/b/NwfDrxwK/vortex-engine
- v1tr10l7
- assimp - Open Asset Import Library is a library to load various 3d file formats into a shared, in-memory format. It supports more than 40 file formats for import and a growing selection of file formats for export.
- entt - EnTT is a header-only, tiny and easy to use library for game programming and much more written in modern C++.
- fmt - {fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams.
- glm - OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specifications.
- glfw - GLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc.
- imgui - Dear ImGui is a bloat-free graphical user interface library for C++.
- ImGuizmo - ImGizmo is a small library built ontop of Dear ImGui that allow you to manipulate(Rotate & translate at the moment) 4x4 float matrices
- magic_enum - Header-only C++17 library provides static reflection for enums, work with any enum type without any macro or boilerplate code.
- shaderc - A collection of tools, libraries and tests for shader compilation.
- SPIRV-Cross - SPIRV-Cross is a tool designed for parsing and converting SPIR-V to other shader languages.
- stb - single-file public domain (or MIT licensed) libraries for C/C++
- tracy - A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications.
- VulkanMemoryAllocator - Easy to integrate Vulkan memory allocation library.
Vortex is licensed with the General Public License V3
