Commit Graph

21 Commits

Author SHA1 Message Date
MDietermann
2677b1b003 feat: New Textures for ores 2026-06-01 22:09:02 +02:00
MDietermann
94930faccb feat(rendering): frustum-cull chunk draws and log render counts 2026-06-01 20:14:03 +02:00
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
MDietermann
6c808b507b feat(config): add visibility + MinCaveY fields and cave-gen docs 2026-06-01 18:38:30 +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
8166c25ba6 feat(core): add cave-generation and fog tuning to Configuration 2026-06-01 15:14:22 +02:00
2c95c7831a feat: weight vertical distance in chunk-load priority
Adds Configuration.VerticalPriorityWeight (default 4). The priority
formula in ChunkStreamer.RecomputeTargetSet now uses
dx^2 + dz^2 + dy^2 * VerticalPriorityWeight, so horizontal chunks at
the player's Y are dispatched before equally-distant chunks above or
below. Fixes janky loading where deep-underground chunks were
competing with surface chunks for early dispatch slots.
2026-06-01 13:41:55 +02:00
8423b73dfd chore: tighten Configuration defaults for memory and CPU
RenderDistanceVertical 4 -> 2 (smaller vertical load box) and
WorkerThreadCount ProcessorCount-1 -> ProcessorCount/2 (less
aggressive worker pool).
2026-06-01 13:38:53 +02:00
59466fb291 feat: wire infinite chunk streaming into Game with loading screen 2026-06-01 12:57:09 +02:00
39375b83ea refactor: extract shared ChunkMath.FloorDiv helper 2026-06-01 10:45:58 +02:00
6a68953c9a feat: World.SetBlock writes through to IChunkModificationStore 2026-06-01 10:35:10 +02:00
1339bb45ec feat: add Configuration class with user-tunable defaults 2026-06-01 09:34:40 +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