Engine Features
Current and planned capabilities of Nova-3D. Status reflects the early prototype stage.
Core Engine
The fundamental systems that every Nova-3D application depends on.
Context & Subsystems
The Nova3D::Context is the top-level owner of all engine subsystems. Create one context per application.
Engine & Main Loop
Nova3D::Engine manages initialization, the update loop, and shutdown. Override Application::Start() to enter the game.
Application Base Class
Subclass Nova3D::Application and override Start(), Update(), and Stop() to implement game logic.
Logging
Nova3D::Log provides engine-level logging for debug output and diagnostics.
Scene System
A hierarchical scene graph for organizing 3D worlds.
Scene
Nova3D::Scene is the root of the scene graph. It owns all nodes and provides factory methods for creating them.
Nodes
Nova3D::Node represents a spatial entity in the scene. Nodes have positions, rotations, scales, and parent-child relationships.
Components
Nova3D::Component is the base for all logic and visual elements attached to nodes. Add components to nodes to give them behavior.
Scene Serialization
Save and load scenes from files. Not yet implemented; planned for a later stage when the API stabilizes.
Rendering
3D rendering through a clean abstraction over the internal backend.
Renderer
Nova3D::Renderer is the rendering subsystem. Handles viewport management and drawing the scene.
Camera
Nova3D::Camera is a component that defines the view. Attach it to a node to set view and projection matrices.
Meshes & Geometry
Static mesh rendering is partially working through the internal backend. A clean public mesh API is in progress.
Materials
A material system for surfaces, textures, and shaders. Planned when the rendering layer matures.
Lights
Directional, point, and spot lights. Planned as part of the material and rendering system.
Viewport
Multiple viewport support. The Nova3D::Graphics::Viewport header is present; full implementation is planned.
Input
Unified input handling across platforms.
Keyboard & Mouse
Nova3D::Input provides keyboard and mouse input through a unified interface backed by SDL3.
Gamepad / Controller
Gamepad and controller support planned via SDL3. Not yet exposed in the public API.
Touch Input
Touch input for Android and web targets. Planned when platform support matures.
Future Systems
Systems planned for later stages of development. Not yet started.
Audio
3D spatial audio and sound effects. Planned for a later phase after core rendering and scene systems stabilize.
Physics
Rigid body physics, collision detection, and basic simulation. Planned as a component-based system.
Animation
Skeletal and keyframe animation for characters and objects. Will be added when a game prototype needs it.
Resource Cache
Asset loading and caching for textures, models, sounds, and other resources.
Scripting
An optional scripting layer for game logic. Engine must first stabilize before a scripting integration is practical.
Editor / Tools
Scene editor and tooling support. A long-term goal after the runtime engine is more mature.
Platform Support
Target platforms planned for Nova-3D.
Desktop
✓ WorkingLinux, Windows, and macOS. Built with CMake and tested on Linux and Windows.
Android
⌛ In ProgressAndroid build infrastructure is present in the repository. Full Android support is being validated.
Web (Emscripten)
○ PlannedWeb builds via Emscripten / WebAssembly are planned. The CMake infrastructure includes early web support stubs.