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

@ -8,8 +8,12 @@ namespace IslaApocalypse.Client
{
public void RenderChunk(ChunkData data)
{
// 1. Pass the BlockIDs array to the generator!
Mesh = MarchingCubes.GenerateMesh(data.Densities, data.BlockIDs, Constants.ISO_LEVEL, Constants.VOXEL_SCALE);
// 1. Pass the BlockIDs array to the generator, plus the per-column
// surface/biome/road data it needs to fade colours smoothly.
Mesh = MarchingCubes.GenerateMesh(
data.Densities, data.BlockIDs,
data.SurfaceHeights, data.ColumnBiomes, data.ColumnIsRoad,
Constants.ISO_LEVEL, Constants.VOXEL_SCALE);
StandardMaterial3D mat = new StandardMaterial3D();