C++17 · SDL2 · OpenGL 3.3
A CPU-side 3D renderer built from scratch — custom framebuffer, z-buffer, triangle rasterizer, perspective projection, and a neon city scene with GPU bloom post-processing.
Live Demos
What's Inside
--record.
Convert to GIF or MP4 via the bundled shell scripts using ffmpeg.
Renderer class drives all backends.
Architecture
Renderer class (CPU-only)FrameBuffers — color & depth buffersRenderer for wireframe cityGet Started
# 1. Install dependencies (MSYS2 MinGW64 shell) pacman -Syu pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-SDL2 \ mingw-w64-x86_64-glew make ffmpeg # 2. Clone and build the core renderer git clone https://github.com/plasmacat420/SoftwareRenderer.git cd SoftwareRenderer make ./SoftwareRenderer.exe # 3. Build and run the Neon City scene make NeonCity ./NeonCity.exe # 4. Export a GIF (180 frames @ 30 FPS ≈ 6 sec) ./SoftwareRenderer.exe --width 800 --height 600 --record 180 --record-fps 30 ./scripts/make_gif.sh frames 30 out.gif out.mp4
Prebuilt Windows binaries are available under Releases — no build environment needed.