MDietermann 689536348b feat(rendering): on-screen debug overlay showing current biome and coordinates
Asset-free bitmap-text overlay: a 5x7 font (glyphs defined as verifiable ASCII-art) drawn as solid quads through a tiny 2D shader, white text with a drop shadow for legibility over any background. Renders 'BIOME: <name>' and 'XYZ: x, y, z' top-left, updating live. Adds Shader.SetVector2 and WorldGenerator.BiomeNameAt support; text scale and spawn-height offset read from Configuration.
2026-06-03 16:27:15 +02:00
2026-05-28 13:35:31 +00:00

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
No description provided
Readme 1.1 MiB
Languages
C# 97.9%
GLSL 2.1%