|
VisuTwin Canvas
C++ 3D Engine — Metal Backend
|
C++ 3D engine targeting Apple Metal on macOS/iOS.
VisuTwin Canvas is a C++23 port of the PlayCanvas engine, re-architected for native Metal rendering. It provides a forward PBR renderer, ECS framework, asset pipeline, and composable shader system.
All engine types live under visutwin::canvas.
| Pass | Purpose |
|---|---|
| RenderPassForward | Main PBR geometry (multi-light, multi-layer) |
| RenderPassShadowDirectional | Directional shadow cascades |
| RenderPassShadowLocalClustered | Local light shadows (clustered) |
| RenderPassShadowLocalNonClustered | Local light shadows (non-clustered) |
| RenderPassUpdateClustered | CPU-side clustered lighting grid |
| RenderPassPostprocessing | Orchestrates DOF, SSAO, TAA, compose |
| RenderPassCookieRenderer | Light cookie projection |
TAA, SSAO, depth-aware blur, circle of confusion, DOF blur, compose (tonemapping + bloom + vignette), GPU instance culling, LIC (flow visualization), marching cubes, particle compute.
See the Modules page for a categorized overview:
GraphNode -> Entity -> Components via ComponentSystem<T> registry.
11 component types: Camera, Render, Light, Script, Animation, Screen, Element, Button, Collision, RigidBody, GSplat.
Requires C++23, CMake 3.28+, vcpkg manifest mode. See the repository README for details.