F1: soft-fade biome color blending (BLEND_BAND_METERS, geometry untouched)

Vertex colour is now chosen from the true, unrounded surface height and faded
between adjacent materials across a tunable band, instead of switching at one
rounded integer depth. This removes the horizontal contour banding.

Colour path only: density field, Marching Cubes interpolation/welding, chunk
dimensions, the .dat contract and all road logic are untouched. BlockID
classification is unchanged and still drives non-visual use.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Stewart Howe 2026-08-05 01:51:06 -04:00
parent 7f0f43b5fb
commit ea11258871
6 changed files with 185 additions and 9 deletions

View file

@ -174,6 +174,13 @@ namespace IslaApocalypse.Server
Biome columnBiome = _blueprint.BiomeMap[globalX, globalZ];
// Hand the renderer the TRUE surface height for this column, plus the
// biome and road flag that go with it. The BlockIDs below still use the
// rounded height (unchanged) — but the colour no longer has to.
newChunk.SurfaceHeights[x, z] = exactSurfaceY;
newChunk.ColumnBiomes[x, z] = columnBiome;
newChunk.ColumnIsRoad[x, z] = isMainRoad;
float hRight = surfaceRight - exactSurfaceY;
float hFwd = surfaceFwd - exactSurfaceY;
float slopeX = hRight / Constants.VOXEL_SCALE;