Skip to content

Pure-C# voxel renders

Never-shipped renders from a pure-C# Minecraft leaf

These are output frames from GameDevelopment.Minecraft, a library leaf written in plain C# on the .NET base library alone - a skin rasterizer, a sky and sun gradient renderer, a greedy-culled voxel chunk mesher, and a hand-rolled WAV synthesizer, with zero dependencies. Every skin, the sky band, the meshed hill and the block sounds below were baked in-process, no GPU and no NuGet. This page is distinct from the live voxel-world renderer at /mc-world-render/: here the focus is entity skins, the sky, a single chunk mesh, and playable synthesized audio.

3
skins rasterized
13
chunk mesh groups
3
synth .wav sounds
0
NuGet packages
A front-facing paper-doll render of the Steve character skin, blue shirt and dark trousers
Entity skin
Steve

An assembled front-facing paper-doll from the catalog's per-panel SkinSpecs, each 16x16 tile rasterized by SkinRenderer and scaled.

A front-facing paper-doll render of the Alex character skin, orange hair and green shirt
Entity skin
Alex

The same rasterizer with Alex's palette - orange hair, green shirt - drawn from her own per-panel spec.

A front-facing paper-doll render of a Creeper skin, mottled green with a dark face
Entity skin
Creeper

Mottled green built from the Speckle and Inclusions pattern styles, tile by tile.

Three side-by-side horizon-to-zenith sky gradients with a sun disk, showing dawn, noon and dusk over a ground band
Sky renderer
Sky and sun, three times of day

SkyRenderer paints a horizon-to-zenith gradient and a sun disk for dawn, noon and dusk; the ground band is drawn under it.

A software-rendered procedural voxel hill of grass, dirt and stone blocks lit by a directional light
Voxel chunk mesh
Greedy-meshed hill

ChunkMeshBuilder culls hidden faces of a procedural grass/dirt/stone hill into 13 face groups, then the GameEngine software rasterizer draws them (cross-leaf reuse).

WavSynth
Synthesized block audio

16-bit mono PCM at 22050 Hz, wrapped in a hand-written 44-byte RIFF/WAVE header.

What the leaf is made of

A block source answers one question - what block is at (x, y, z)? A greedy mesher walks a chunk and emits only the faces that a neighbour does not hide, collapsing runs of the same block into a handful of face groups. The skin rasterizer draws each 16x16 panel pixel by pixel into a paper-doll, and the sky renderer fills a horizon-to-zenith gradient with a sun disk. The WAV synth generates raw PCM - tones and noise - and wraps it in a hand-written RIFF/WAVE header. Every part is plain C# on the base library, portable by transliteration and free of any external dependency.