What it does
- Camera control — set eye/target, apply named view presets (
top,front,back,right,left,perspective), or frame a specific entity. Setting the camera pins aCameraOverrideso the editor’s orbit camera doesn’t fight your shot. (euca_render::Camera) - Materials & post-processing — per-entity PBR material overrides and the post-process stack live on their own page: Materials & post-processing.
- Screenshot —
POST /screenshotcaptures the 3D viewport to a PNG (requires the render host).
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /camera | Current camera state (eye, target, fov, orthographic) |
POST | /camera | Set camera eye and/or target |
POST | /camera/view | Apply a named view preset (top/front/back/right/left/perspective) |
POST | /camera/focus | Frame a specific entity (distance clamped 5–20 units) |
POST | /screenshot | Capture the 3D viewport as a PNG |
Example
Against a render host, point the camera and frame an entity:On the headless server these calls return
ok but render nothing — there is no camera or GPU to
apply them to. Verify camera behavior on a host that actually draws frames.Status
- ✅ Camera pose, presets, entity framing,
CameraOverride— shipped. - ✅ Forward PBR pipeline (Cook-Torrance GGX, 3-cascade CSM + PCF, MSAA + FXAA, HDR + ACES + bloom, SSAO) — shipped; GPU-driven indirect draw is active where the device supports it.
- 🟡 Opt-in effects (TAA, motion blur, DoF, SSR, IBL, MetalFX) — built, off by default at most quality tiers. Volumetric fog is on by default. See Materials & post-processing.
- ❌ Not in the live frame loop: a deferred/G-buffer path (the shipped path is Forward), and SSGI (dispatched but not composited). Bindless materials and mesh shaders are opt-in setters, not wired by default. See the honesty box in Engine internals.
Camera & render endpoints
Every camera, material, post-process, and fog endpoint, with schemas.