feat: evolve portfolio into an authored midnight grand tour

This commit is contained in:
2026-09-05 03:55:18 +03:00
parent 642f5b583d
commit c9ac36e249
41 changed files with 812 additions and 65 deletions

View File

@@ -26,7 +26,7 @@ interface WorldGroup {
getObjectByName(name: string): unknown;
}
const TERRAIN_WIDTH = 360;
const TERRAIN_WIDTH = 620;
const ROAD_CLEAR_HALF_WIDTH = 10.3;
const RIDGE_START = 46;
const NOISE_PERIOD = 5_694;
@@ -48,7 +48,7 @@ export function createTerrain(
uRouteProgress: { value: 0 },
uTerrainEnergy: { value: initialPalette.terrainEnergy },
uOctaves: { value: quality.terrainOctaves },
uRelief: { value: 34 },
uRelief: { value: 49 },
uFar: { value: HORIZON_FOG_END },
uLowColor: { value: lowColor },
uHighColor: { value: highColor },
@@ -134,8 +134,10 @@ export function createTerrain(
color = mix(color, mix(uFogColor, uHazeColor, 0.2), 1.0 - vDepthFade);
float pulse = 0.72 + 0.28 * smoothstep(0.16, 0.55, vFlow);
float routeCalm = mix(1.0, 0.9, smoothstep(0.82, 1.0, uRouteProgress));
float alpha = vRoadMask * vDepthFade * pulse * routeCalm * mix(0.32, 0.82, ridgeMix);
gl_FragColor = vec4(color * mix(0.78, 1.55, ridgeMix), alpha);
float alpha = vRoadMask * vDepthFade * pulse * routeCalm * mix(0.54, 0.88, ridgeMix);
gl_FragColor = vec4(color * mix(1.15, 1.75, ridgeMix), alpha);
#include <tonemapping_fragment>
#include <colorspace_fragment>
}
`,
transparent: true,