Skip to content

VertexNova

A modular C++20 game and graphics engine, layered from the operating system and GPU drivers to the application.

C++ Standard Platforms License

Website · vnerhi WebGPU samples

Public libraries sit around a private RHI and renderer.

Architecture

VertexNova game engine architecture: stacked layers from operating system and GPU drivers to the application

Orange is private (vnerhi, vnegfx). Dotted is future work (vneanim, vneai, vnexr).

Showcase

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)

Volume DVR Volume slicer A-buffer OIT

Point sprites MSDF text

Explore the public stack

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

Why it is structured this way

  • 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.

Build a public library

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 build

See each repository README for module-specific options, samples, and integration notes.

Design documents

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.

Status

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.

Contributing

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.

License

See individual repositories for license information. Most use Apache License 2.0.

Pinned Loading

  1. vnetemplate vnetemplate Public template

    Minimal VertexNova-standard C++ template.

    Shell 1

  2. vnelogging vnelogging Public

    Vertexnova Logging (vnelogging) is a lightweight, thread-safe logging library designed for high-performance C++ applications.

    C++ 2

  3. vneevents vneevents Public

    A lightweight, thread-safe event system for games and interactive applications

    C++ 1

  4. vnemath vnemath Public

    A high-performance, cross-platform C++ math library for game engines and 3D applications

    C++ 1

  5. vnetestbed vnetestbed Public

    Integration tests for vertexnova libraries

    C++ 1

Repositories

Showing 10 of 24 repositories
  • vertexnova.github.io Public

    Interactive WebGPU samples from the vnerhi rendering engine.

    vertexnova/vertexnova.github.io's past year of commit activity
    Astro 0 0 0 0 Updated Oct 2, 2026
  • vneio Public

    The VertexNova I/O library (vneio) provides modular, production-ready asset loading and exporting for 3D meshes, 2D images, 3D medical volumes, and DICOM series.

    vertexnova/vneio's past year of commit activity
    C++ 0 Apache-2.0 0 0 0 Updated Oct 2, 2026
  • vnewindow Public

    Native window surfaces for the VertexNova ecosystem.

    vertexnova/vnewindow's past year of commit activity
    C++ 0 Apache-2.0 0 0 0 Updated Oct 2, 2026
  • vneinteraction Public

    Camera interaction library (manipulators, orbit/trackball behaviors, and controllers) for the VertexNova ecosystem.

    vertexnova/vneinteraction's past year of commit activity
    C++ 1 Apache-2.0 0 0 1 Updated Oct 2, 2026
  • vneevents Public

    A lightweight, thread-safe event system for games and interactive applications

    vertexnova/vneevents's past year of commit activity
    C++ 1 Apache-2.0 0 0 0 Updated Sep 25, 2026
  • vne3dgs Public
    vertexnova/vne3dgs's past year of commit activity
    C++ 0 Apache-2.0 0 0 0 Updated Sep 24, 2026
  • vneshaderc Public

    Offline shader compiler library for the VertexNova ecosystem.

    vertexnova/vneshaderc's past year of commit activity
    C++ 0 Apache-2.0 0 0 0 Updated Sep 8, 2026
  • vneresources Public

    A separate repository for storing large resource files and test data for the VertexNova project.

    vertexnova/vneresources's past year of commit activity
    Python 0 Apache-2.0 0 0 0 Updated Aug 30, 2026
  • vnetestbed Public

    Integration tests for vertexnova libraries

    vertexnova/vnetestbed's past year of commit activity
    C++ 1 Apache-2.0 0 0 1 Updated Aug 23, 2026
  • .github Public
    vertexnova/.github's past year of commit activity
    0 0 0 0 Updated Aug 20, 2026