Early Prototype — C++23

Nova-3D

An experimental C++ 3D engine built on a portable foundation, with a clean Urho3D-inspired public API.

// Nova-3D Hello World #include <Nova3D/Nova3D.h> class MyApp : public Nova3D::Application { public: explicit MyApp(Nova3D::Context* ctx) : Application(ctx) {} void Start() override { auto* scene = new Nova3D::Scene(GetContext()); auto* node = scene->CreateChild("Box"); node->SetPosition(Vector3(0, 0, 5)); } };
What's Inside

Built for flexibility and clarity

Nova-3D aims to provide a scene-graph-based engine API that stays clean and portable, powered by internal layers that remain hidden from user code.

Scene Graph

Nodes, components, and a hierarchical scene system inspired by practical engines like Urho3D.

Rendering Abstraction

Cameras, materials, meshes, and lights behind a clean renderer interface. Backend details stay internal.

Input Handling

Keyboard, mouse, and gamepad input through a unified input subsystem.

Portable Foundation

Designed for desktop (Linux, Windows, macOS), Android, and potential web targets.

C++23

Written in modern C++23 with a clear separation between public API and internal implementation.

Open Source

Developed openly on GitHub. Early stage, but the architecture is already demonstrated with a working 3D demo.

C++23
Language standard
Urho3D
API inspiration
SDL3
Platform backend
Prototype
Current stage
Architecture

Clean layers, hidden internals

Your game code only touches the Nova-3D public API. Internal layers like CNA and sharp-runtime are hidden implementation details.

Your Game / Application
Nova-3D Public APIContext • Engine • Scene • Node • Renderer • Input
Nova-3D Engine Systems & Internal Adapterinternal
SDL3 • OpenGL • bgfx • Platforminternal
Full Architecture Overview

Ready to explore?

Nova-3D is early-stage but already runs a working 3D demo. Check out the source, try the examples, or read the documentation.