docs(design): render architecture — cliff walls + iso depth buffer + SurfaceStack (supersedes tiles/overlay) #271
No reviewers
Labels
No labels
alpha:wave-0
alpha:wave-1
alpha:wave-2
alpha:wave-3
area:assets
area:combat
area:ecology
area:infra
area:render
area:scripting
area:ui
area:world
enhancement
epic
migration
post-alpha
roadmap
tech-debt
type:bug
type:chore
type:design
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
marco/IsoMmo!271
Loading…
Reference in a new issue
No description provided.
Delete branch "design/render-architecture"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Updates the multi-level world-model design (#268) with a rendering architecture that supersedes two earlier drafts (surfaces-as-tiles C2 and the P2b discrete-cell overlay spike). It incorporates an external architecture review (kept in-repo) plus our own DesktopGL depth findings.
Root cause it names: a heightfield with one shared vertex per cell can't be a wall, a top surface and a depth all at once — hence both "no verticality" and "no occlusion". The overlay spike (branch
feat/relief-overlay-occlusion, not merged) proved the anti-occlusion mechanism but was a band-aid on that model.Four-pillar architecture (2.5-D iso, still 2-D sprite):
<material>_cliffart). Keep the SDF top mesh for gentle ground.Anti-occlusion (Diablo/Fallout reveal) becomes a native depth compare + circle-of-transparency fade + hero silhouette — no per-cell overlay. Rendering is chunked mesh per surface (ModernUO SurfaceStack semantics), which is the multi-level model (P2b and multi-level are one architecture, not two).
The risk this PR flags (ours, the review couldn't know it): the depth buffer on DesktopGL/SM3 is a known-hard case (#240 — no
invariant gl_Position, noearly_fragment_tests, back-buffer depth fps hit). So P2 now opens with a de-risk spike (SceneRT + DepthFormat, two overlapping quads), gating the rest.Phases retargeted: P2·spike (gate) → P2·A solid terrain → P2·B iso depth → P2·C player reveal. P2a (#270) already shipped.
How it was tested
N/A — design docs only.
check-doc-refsclean.Checklist
Design update for #268.