2c95c7831a17e3002a07cc97d4858badbffc604c
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.
VoxelEngine
A learning voxel engine written in C# (.NET 10) on top of OpenTK 4 / OpenGL 3.3.
Status
Early baseline. The current goal is rendering a single face-culled, textured 16×16×16 chunk that you can fly around with a free camera — the structural core the rest of the engine builds on.
Tech stack
- .NET 10 / C#
- OpenTK 4.9.4 — windowing, OpenGL bindings, and math
- StbImageSharp — texture (PNG) loading
Build & run
Requires the .NET 10 SDK.
dotnet run --project VoxelEngine.csproj
Once the baseline is running: WASD to move, mouse to look, Esc to quit.
Project layout
Core/ game window + loop
Rendering/ shader, texture, camera, chunk renderer (OpenGL)
World/ block model, registry, chunk, mesher (no OpenGL)
Assets/ shaders + texture atlas
The World/ layer is intentionally free of any OpenGL dependency so the voxel logic can
be unit-tested headless.
Roadmap
- Baseline: window, fly-camera, one face-culled textured chunk
- Procedural terrain (noise)
- Multiple chunks + frustum culling
- Player controller + AABB collision
- Block break / place
- Lighting
Description
Languages
C#
97.9%
GLSL
2.1%