soft3D

A software 3D renderer written in C, and a Minecraft clone built on top of it.

soft3D

Minecraft demo

About

soft3D is a library I wrote in C using SDL2. It does 3D projection and rasterization purely on the CPU, no GPU. It uses basic line drawing algorithms and geometric math to render 3D objects on screen. It can load OBJ models, move and rotate them, and has a wireframe mode. Performance is surprisingly solid with the -O2 or -O3 flag.

The Minecraft demo is a separate project that uses soft3D to show what it can do. It has FBM noise world gen, trees, multiple block types, semi-transparent leaves and glass, movement and physics, and a daytime skybox.

soft3D model rendering
soft3D Minecraft demo