Skip to main content
Euca uses a metallic-roughness PBR material model and a single post-process stack shared by the whole renderer. Agents can override a material per entity, tune the post stack, snap to a quality preset, or adjust volumetric fog — all over HTTP.
These settings need a GPU render host to take effect. On the headless :3917 server, POST /material/set and POST /postprocess/settings store the values and return them back, but there is no renderer to apply them — the change is recorded, not drawn. GET /postprocess/settings and GET /fog/settings return an error if the resource hasn’t been created yet. Tune visuals on a host that renders.

Materials

POST /material/set overrides a material on an entity. Fields (all optional):
  • albedo [r,g,b,a], metallic, roughness, emissive [r,g,b]
  • alpha_mode"opaque", "blend", or "mask:0.5" (cutoff)
The underlying euca_render::Material also supports albedo/normal/metallic-roughness/AO/emissive textures via the asset pipeline. Generated appearance never changes the world’s ground truth — see Determinism.

Post-processing

The post stack (euca_render::PostProcessSettings) toggles and tunes:
  • SSAO, FXAA, bloom — on by default
  • Color grading — exposure (EV), contrast, saturation, temperature
  • 🟡 TAA, motion blur, depth-of-field, SSR — implemented, enabled only at higher quality tiers (or explicitly)
Use a preset to set everything at once: POST /postprocess/preset with "low" / "medium" / "high" / "ultra", or POST /postprocess/settings to change a subset.

Volumetric fog

euca_render::VolumetricFogSettings — density, scattering, absorption, height falloff, max distance, color, light contribution. Enabled by default (not opt-in). Read/update via /fog/settings.

Endpoints

MethodPathDescription
POST/material/setSet material properties on an entity
GET/postprocess/settingsCurrent post-process settings
POST/postprocess/settingsUpdate a subset of post-process settings
POST/postprocess/presetApply a quality preset (low/medium/high/ultra)
GET/fog/settingsCurrent volumetric fog settings
POST/fog/settingsUpdate volumetric fog settings

Example

# Make entity 3 a glowing red emissive material
curl -s -X POST http://localhost:3917/material/set \
  -H 'Content-Type: application/json' \
  -d '{"entity_id":3,"albedo":[0.8,0.1,0.1,1.0],"metallic":0.0,"roughness":0.4,"emissive":[2.0,0.2,0.2]}'

# Snap the whole post stack to the "high" preset
curl -s -X POST http://localhost:3917/postprocess/preset \
  -H 'Content-Type: application/json' -d '{"preset":"high"}'

Status & honesty

  • ✅ Metallic-roughness PBR, alpha modes, emissive/normal/AO textures, the post stack, color grading, quality presets, volumetric fog — shipped.
  • 🟡 The pcss_enabled soft-shadow toggle is inert — the shipped path is fixed Poisson PCF.
  • 🟡 IBL is implemented but bound to a dummy environment by default until you supply one.
  • ❌ The SetColor rule action is a stub (needs render access) — it logs and no-ops, and is excluded from rule examples.

Material & post-process endpoints

Schemas for every material, post-process, and fog endpoint.