VertexNova is a modular, cross-platform C++ graphics and visualization stack designed for learning, clarity, and long-term maintainability.
This organization hosts the core libraries that power the VertexNova engine and related tooling.
Core modules (names may evolve as the project grows):
| Repository | Description | Status | Visibility |
|---|---|---|---|
| vnecommon | Shared types, macros, core definitions | ✅ Available | Public |
| vnelogging | Logging framework and sinks | ✅ Available | Public |
| vnemath | Math types and operations (vectors, matrices, transforms) | ✅ Available | Public |
| vneio | Mesh, image, and volume I/O | ✅ Available | Public |
| vnecmake | Shared CMake modules | ✅ Available | Public |
| vneevents | Event system | ✅ Available | Public |
| vneutils | Utility helpers (files, strings, timing, etc.) | ✅ Available | Public |
| vneresource | Resource loading and management | ✅ Available | Public |
| vnegraphics | Cross-gl (xgl), cross-window (xwin), cross-viz (xviz); ECS-based rendering (mesh, volume, slice, etc.) | — | Private |
┌─────────────────────────────────────────────────────────┐
│ vnegraphics (Private) │
│ xgl │ xwin │ xviz (ECS: mesh, volume, slice) │
├─────────────────────────────────────────────────────────┤
│ vnemath │ vneutils │ vnelogging │ vneio │
├─────────────────────────────────────────────────────────┤
│ vnecommon │ vneevents │ vneresource │
└─────────────────────────────────────────────────────────┘
Dependency Flow:
vnecommon→ used by all librariesvnemath+vneutils+vnelogging+vneio→ foundation and I/Ovnegraphics(private) → xgl (rendering), xwin (windowing), xviz (ECS-based visualization)
- Modular design: each library can be built and tested independently
- Cross-platform support: Windows, macOS, Linux, iOS, Android, and Web (as applicable)
- Multi-backend rendering: consistent API across multiple graphics backends
- Developer friendly: clean architecture, readable code, strong CI and testing
Most repositories follow a similar build 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's README for module-specific requirements, examples, and integration notes.
VertexNova is under active development. APIs and repository boundaries may change as the architecture stabilizes.
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.