A modular C++20 game and graphics engine, layered from the operating system and GPU drivers to the application.
Website · vnerhi WebGPU samples
Public libraries sit around a private RHI and renderer.
Orange is private (vnerhi, vnegfx). Dotted is future work (vneanim, vneai, vnexr).
Silent 1080p reel of vnegfx samples on iOS (Metal) and desktop.
vnerhi WebGPU samples. Phase 0 results: CrossGL demos. Site: learnvertexnova.com.
Watch vertexnova-showcase.mp4 (44s)
vnerhi (RHI) and vnegfx (renderer) are private. The modules around them are public and follow the same C++20 / CMake layout.
| Layer | Repository | Role |
|---|---|---|
| Visualization | vnescene | Cameras, lights, and GPU-friendly scene state |
| Visualization | vneinteraction | Camera manipulators and controllers |
| Visualization | vneio | Mesh, image, volume, font and video |
| Visualization | vneshaderc | Offline GLSL to SPIR-V / MSL / WGSL |
| Platform | vnewindow | Native windows (Win32, Cocoa, X11, Wayland, UIKit, Android, Web) |
| Platform | vneevents | Keyboard, mouse, touch, and window events |
| Core | vnemath | Vectors, matrices, geometry, graphics clip-space helpers |
| Core | vnelogging | Synchronous and asynchronous logging |
| Core | vneutils | CLI parsing and shared helpers |
| Core | vnecommon | Platform detection, macros, non-copyable bases |
- Single-purpose libraries — scene, I/O, windowing, math, and logging can be learned and tested on their own.
- GPU backends behind an RHI — application code does not talk to Vulkan, Metal, or WebGPU directly.
- Independent CI — each repository configures, builds, and tests with the same CMake pattern.
git clone --recursive https://github.com/vertexnova/<repo>.git
cd <repo>
cmake -S . -B build -DBUILD_TESTS=ON
cmake --build build -j
ctest --test-dir buildSee each repository README for module-specific options, samples, and integration notes.
Platform and component requirements (code-first, with test/sample evidence):
vnedd — VertexNova Engine Design Documents
Two tiers: high-level system requirements and per-library component specs.
VertexNova is an educational and experimental project with a long-term goal. Testing meets a high standard. The stack is POC-ready, not production-ready.
Contributions are welcome once the public API and contribution workflow are finalized.
For now, please open an issue to discuss proposals, bugs, or feature requests.
See individual repositories for license information. Most use Apache License 2.0.




