All projects programmed by hand.

perkins

A terminal pixel art editor built around braille characters.

After painfully trying to edit ASCII art by hand, I realised I had found an unexplored niche, and so this tool was born. Convert an image into ASCII art, then refine it with vim motions or the mouse.

Fully open source and quick to get started with.

Go
95
Perkins terminal pixel art editor

tinyrenderer

A software rasterizer written from scratch in Odin.

I followed ssloy's excellent course in 3D rendering without a graphics API. It all starts with a single triangle, which led to marvellous detours through linear algebra and barycentric coordinates. A baptism of fire in 3D rendering.

The full process is documented in depth on GitHub.

Odin
15
Textured 3D model rendered by tinyrenderer

terminal-wireframe

A 3D wireframe rendered in the terminal.

Inspired by a 20 minute video from tsoding, this was my entry point into graphics programming. Using nothing but Unicode characters and a simple maths formula, I implemented the magic of projecting 3D coordinates into 2D space.

Odin
12
3D wireframe rendered in the terminal