Smooth biome-border transitions (world-space blend shader) #162
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
marco/IsoMmo#162
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Follow-up to the biome-border transitions in #155 (commit
1fe7433).The current transitions bake per-tile noise overlays (a biome's tile feathered from each iso edge,
4 noise variants picked per cell). This softens borders but leaves a residual diamond/"squares"
artifact: the noise is baked per-tile (reused on every cell), so it is NOT continuous across the
world, and the transition is confined to a single diamond on the lower-priority side.
An offline prototype confirmed the fix: evaluating the noise in world space (continuous across
cells) gives a genuinely smooth, organic border — which a baked-per-tile overlay cannot do.
Goal
Smooth, continuous biome-border transitions (no visible tile grid at borders), commercial-quality.
Approach (proposed)
A blend shader (MonoGame DesktopGL
Effect, cross-platform OpenGL): sample the two neighbouringbiome textures and mix them with a world-space noise-perturbed threshold, per pixel. No extra art.
Requires adding a compiled shader to the client render pipeline (the project currently avoids the
content pipeline — load a precompiled
.mgfxovianew Effect(gd, bytes)).Alternative (owner's option): dedicated authored transition tiles/masks per biome pair — rejected as
first choice (N² combinations), but the owner may supply targeted masks to repair specific borders.
Definition of Done (player-observable)
diamond/"squares" stair-step at the seam.
Chiudo come superseded. I seam di bordo fra biomi sono stati risolti con le mask binarie dual-grid in PR #202 (
dc0b132, #200/#201) — approccio che #167 stesso indica come sostituto dello splatting/blend-shader. Nessuno shader.mgfxoè stato aggiunto alla pipeline e i bordi ora sono puliti, quindi il blend shader world-space non serve più. Riaprire solo se un bordo specifico resta insoddisfacente.