MDietermann
43527e617b
feat(streaming): load surface shell + player slab instead of vertical box
2026-06-01 18:51:38 +02:00
MDietermann
9daa9f8267
feat(rendering): distance fog and config-derived far plane
2026-06-01 18:46:02 +02:00
3704d7ce1e
feat(core): wire fog-distance uniforms in Game render loop
2026-06-01 15:48:10 +02:00
9410fee78b
feat(world-gen): integrate CaveCarver into WorldGenerator.Generate
2026-06-01 15:43:32 +02:00
59466fb291
feat: wire infinite chunk streaming into Game with loading screen
2026-06-01 12:57:09 +02:00
6a68953c9a
feat: World.SetBlock writes through to IChunkModificationStore
2026-06-01 10:35:10 +02:00
c1be0f75e5
feat: Random Seed toggle & removed unused atlas.png
2026-06-01 09:24:52 +02:00
MDietermann
f5787dc9cc
feat: generate procedural world on load via WorldGenerator
2026-05-31 22:11:27 +02:00
MDietermann
c81cd3c561
feat: derive atlas tile size from loaded texture dimensions
2026-05-31 21:43:53 +02:00
MDietermann
4e14786668
New Atlas + Texture Pipeline
2026-05-31 20:32:46 +02:00
49d35cab5b
feat: add multi-chunk world with cross-chunk face culling
...
Add a World that stores chunks in a Dictionary keyed by chunk
coordinate, with floor-division world<->chunk coordinate mapping
(correct for negative coords). The mesher takes an optional neighbor
sampler so faces at chunk borders are culled against adjacent chunks
instead of always meshing the shell. Render one ChunkRenderer per
chunk, placed via the model matrix. Reorganize the World layer into
Blocks/ and Chunk/ sub-namespaces.
2026-05-28 15:32:45 +02:00
70c986529b
style: apply code-style cleanup (explicit types, this-qualification, switch expressions)
2026-05-28 13:29:13 +02:00
177c47e8f8
feat: wire game window, render loop, and fly-camera input
2026-05-28 12:22:19 +02:00