Vantor
A modular Game and Graphics Engine Kernel for building low-level, custom engines
Install / Use
/learn @LukasRennhofer/VantorREADME
<a id="readme-top"></a>
<!-- Standard Project Badges --> <!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/LukasRennhofer/VantorEngine"> <img src="Assets/Github/Branding/VantorStudiosLogoWhite.png" alt="Vantor Logo" width="200" height="200"> </a> <h3 align="center">Vantor Engine™</h3> <p align="center"> Low-Level Experimental In-House Game Engine for Vantor Studios™ <br /> <h5 align="center"> <strong>v0.20.X - Experimental Build</strong> </h5> <a href="https://docs.vantor.net/"><strong>Explore the docs »</strong></a> <br /> <br /> <a href="https://docs.vantor.net/docs/category/getting-started">Get Started</a> · <a href="https://github.com/LukasRennhofer/VantorEngine/issues/new?labels=bug&template=bug-report---.md">Report Bug</a> · <a href="https://github.com/LukasRennhofer/VantorEngine/issues/new?labels=enhancement&template=feature-request---.md">Request Feature</a> · <a href="#vantorstudios">Vantor Studios™</a> </p> </div> <!-- TABLE OF CONTENTS --> <details> <summary>Table of Contents</summary> <ol> <li> <a href="#about-the-project">About The Project</a> <ul> <li><a href="#vantorstudios">Vantor Studios™</a></li> <li><a href="#built-with">Built With</a></li> <li><a href="#experimental-status">Experimental Status</a></li> </ul> </li> <li> <a href="#getting-started">Getting Started</a> <ul> <li><a href="#prerequisites">Prerequisites</a></li> <li><a href="#installation">Installation</a></li> </ul> </li> <li><a href="#usage">Usage</a></li> <li><a href="#development-tools">Development Tools</a></li> <li><a href="#roadmap">Roadmap</a></li> <li><a href="#contributing">Contributing</a></li> <li><a href="#license">License</a></li> <li><a href="#contact">Contact</a></li> <li><a href="#acknowledgments">Acknowledgments</a></li> </ol> </details> <!-- ABOUT THE PROJECT -->About The Project
<!--<p align="center"> <img src="https://raw.githubusercontent.com/LukasRennhofer/Vantor/refs/heads/main/Assets/Github/Screenshots/gif1.gif" alt="GIF Show Background" style=""> </p>-->Vantor Engine™ is a low-level, experimental game engine developed in-house by Vantor Studios™ for creating high-performance games. Designed from the ground up with a focus on minimal abstraction and maximum control, Vantor provides game developers with direct access to rendering pipelines, memory management, and system resources.
The engine prioritizes performance, modularity, and flexibility over ease of use, making it ideal for developers who need fine-grained control over every aspect of their game's execution. Built with modern C++20 and OpenGL, Vantor serves as the foundation for VantorStudios' game development projects.
Key Philosophy
- Low-Level Control: Direct manipulation of rendering, physics, and resource systems
- Performance First: Optimized for real-time applications and resource-constrained environments
- Modular Architecture: Use only what you need, extend what you want
- Experimental Nature: Cutting-edge features and techniques in active development
"A delayed game is eventually good, a rushed game is bad forever." – Shigeru Miyamoto
Vantor Studios™
VantorStudios is an independent, hobby-driven game development studio focused on creating unqiue gaming experiences. The Vantor Engine serves as our proprietary technology stack, powering our internal game development projects and providing the technical foundation for our creative vision.
Experimental Status
⚠️ Important Notice: Vantor Engine is currently in experimental development status. This means:
- Rapid Changes: APIs and architecture may change frequently
- Limited Documentation: Focus is on development rather than user documentation
- Internal Use Priority: Designed primarily for VantorStudios' development needs
- Community Contributions: Welcome but may be adapted to fit internal roadmap
- No Stability Guarantees: Breaking changes can occur between versions
The engine is made available for educational purposes and community collaboration, but production use is not recommended until a stable release is announced.
<p align="right">(<a href="#readme-top">back to top</a>)</p>Built With
The Vantor Engine is built using modern technologies and industry-standard tools:
[![C++][C++-badge]][C++-url] [![OpenGL][OpenGL-badge]][OpenGL-url] [![Vulkan][Vulkan-badge]][Vulkan-url] [![GLSL][GLSL-badge]][GLSL-url] [![Python][Python-badge]][Python-url] [![Dear ImGui][ImGui-badge]][ImGui-url] [![SDL2][SDL2-badge]][SDL2-url] [![CMake][CMake-badge]][CMake-url]
Core Technologies:
- C++20: Modern C++ with latest language features
- OpenGL 4.6: Primary rendering API with Vulkan support planned
- Custom GLSL Shaders: Hand-optimized graphics shaders
- Python: Development tools and build automation (VTRG)
- CMake: Cross-platform build system
Third-Party Libraries:
- Dear ImGui: Immediate mode GUI for debugging and tools
- GLFW: Window management and input handling
- STB Headers: image loading and writing
- tinygltf.h: glTF 2.0 object loading and animations
- tinyobjloader: .obj and mtl object loading
Getting Started
⚠️ Warning: This engine is experimental and intended primarily for VantorStudios development. APIs may change without notice.
To get started with Vantor Engine development, follow these steps. Note that the engine is designed for experienced C++ developers familiar with low-level graphics programming.
Prerequisites
Before building Vantor, ensure you have the following installed:
Required:
- CMake (3.10 or higher)
- Make or Ninja build system
- C++20 capable compiler:
- MSVC 2019+ (Windows)
- GCC 10+ (Linux)
- Clang 12+ (Cross-platform)
- Git for version control
- Python 3.7+ for development tools (VTRG)
Optional but Recommended:
- clang-format for code formatting
- Visual Studio Code or similar IDE with C++ support
Building
Windows (Recommended Platform)
Step 0: Setup Environment
Install MSYS2 from their website and Python from python.org.
Step 1: Clone Repository
git clone https://github.com/LukasRennhofer/VantorEngine.git
cd Vantor
Step 2: Install Dependencies
pacman -S cmake mingw-w64-x86_64-toolchain mingw-w64-x86_64-freeglut mingw-w64-x86_64-assimp mingw-w64-x86_64-sdl2
Step 3: Build Engine
# Using the new VTRG development tool
python vtrg.py build --platform Windows --debug
# Or using legacy DevConsole (deprecated)glTF 2.0 object loading and animations
python DevConsole.py --platform Windows --build-lib
Linux (Experimental Support)
⚠️ Status: Linux support is experimental and may have build issues. Tested on Ubuntu 24.10.
Step 0: Install Python
sudo apt-get install python3
Step 1: Clone Repository
git clone https://github.com/LukasRennhofer/VantorEngine.git
cd Vantor
Step 2: Install Dependencies
sudo apt-get install build-essential libsdl2-dev libsdl2-2.0-0 libassimp-dev cmake libglm-dev libglew-dev
Step 3: Build Engine
# Using VTRG (recommended)
python3 vtrg.py build --platform Linux --debug
# Or using legacy DevConsole
python3 DevConsole.py --platform Linux --build-lib
<p align="right">(<a href="#readme-top">back to top</a>)</p>
<!-- USAGE EXAMPLES -->
Usage
Vantor Engine™ is designed for experienced developers who need low-level control over game systems. Here are some ways to use the engine:
Basic Integration
#include <Vantor/Vantor.hpp>
#include <iostream>
// Create RHI device
auto device = Vantor::RHI::VRDCoordinator::Instance().CreateDevice(Vantor::RHI::EGraphicsAPI::OPENGL);
// Vertex structure with position + color
struct Vertex {
Vantor::Math::VVector3 position;
Vantor::Math::VVector3 color;
};
void ResizeCallback(int w, int h) {
device->SetViewport(0, 0, w, h);
}
int main() {
// Create the window
Vantor::Context::VWindow* window = new Vantor::Context::VWindow(1920, 1080, "Legendary Triangle");
if (!device->Initialize()) {
std::cerr << "Failed to initialize RHI device" << std::endl;
return 1;
}
window->setResizeCallback(ResizeCallback);
// Define a colorful triangle
Vantor::Core::Container::TVector<Vertex> vertices = {
{{-0.5f, -0.5f, 0.0f}, {1.0f, 0.0f, 0.0f}}, // Red
{{ 0.5f, -0.5f, 0.0f}, {0.0f, 1.0f, 0.0f}}, // Green
