The repository is private, so there is no source link here.
A Vulkan renderer written by hand in C++ and built with CMake. Nothing in between: instance, device, swapchain and pipeline are separate units, each in its own translation unit.
On top of it runs a voxel world split into chunks, with a height field from noise. Built in March 2026, so before Gaia, and the place where I put Vulkan together for the first time without help.
What is inside
Renderer
The setup follows the order Vulkan demands, and the files are cut along exactly that line: device and queues, swapchain including rebuild on resize, render pass and pipeline, then the renderer itself that submits the frames. At 28 KB the renderer is the largest file in the project.
World in chunks
The world is split into chunks that are built and drawn one by one. The height field comes from an own noise function, and the blocks carry textures. World and chunk together come to about 20 KB, the second centre of gravity next to the graphics layer.
Shaders
Four GLSL shaders, two for the geometry and two for the sky, vertex and fragment each. They sit in the project as source and as compiled SPIR-V, so they become bytecode before launch rather than at runtime.
Camera and textures
A free camera and an own texture path that uploads image data and binds it into descriptors. Reading the image files is handled by the only third-party library in the source tree, a single header.
Size
| Quantity | Value |
|---|---|
| Own source | 115 KB |
| Own source files | 18 |
| GLSL shaders | 4 |
| Third-party libraries in the source tree | 1 |
GitHub reports considerably more for this repository. That is because a 283 KB third-party header is counted along with it, and because generated build files sit in the repository too. The figure above is the one that says something about the work.