-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Yahasi edited this page Jul 10, 2026
·
4 revisions
🌐 English · Русский
Nova3DVisualiser is a real-time 3D engine that renders to the terminal as ASCII art, written in C# / .NET 10. It is a raytracer — CPU by default, with an optional GPU path (ILGPU / CUDA) at full parity — that ships with a multiplayer sample app: a full in-scene editor, a JSON world system, a rich colored-lighting pipeline, PNG textures, a real rigid-body physics layer, a multi-view camera system, and TCP networking with chat. Its whole UI — including the setup wizard — runs on the engine's own console renderer, with no external UI toolkit.
This wiki holds the full documentation. The README is a short landing page; everything deep lives here.
| Page | What it covers |
|---|---|
| Getting Started | Requirements, build & run, and the setup-wizard walkthrough |
| Controls | The full key reference: movement, F-keys, HUD modes, editor, chat |
| Rendering & Lighting | The raytracer, truecolor, transparency, tone mapping, BVH, and the multi-light system |
| Physics | The impulse-based rigid-body solver: gravity, collision, friction, stacking, tumbling, joints, dynamic convex-hull meshes, and the capsule player |
| Cameras & HUD | Body views, placeable cameras, split-screen, and the three HUD modes |
| World Format | The world JSON: objects, types, per-object fields, platform, lights, cameras, physics |
| Textures | PNG loading, UV mapping, per-primitive unwrapping, filtering, network sync |
| Multiplayer | Server/client setup, world sync, physics sync, and chat |
| GPU Renderer | The ILGPU/CUDA renderer, requirements, CPU↔GPU parity, and the BVH toggle |
| Self-Tests | The headless self-test suite and how to run it |
| Project Structure | The three projects and the key source folders |
- Repository: https://github.com/Jareltis/Nova3DVisualiser
- Issues (bug reports, ideas): https://github.com/Jareltis/Nova3DVisualiser/issues
- License: GPL-3.0 (derived from Neo3dEngine by Ivan Sobolev)