← Back to Portfolio
GAME ENGINE DEVELOPMENT

Experimental C++
Software Renderer

To truly understand graphics, you need to write a software renderer.

Project Overview

This project is a custom software renderer developed from scratch in C/C++. The goal was to explore how a 2D/3D graphics pipeline works internally by implementing the rendering process directly on the CPU, without relying on a GPU graphics API.

The renderer focuses on low-level graphics programming and performance optimization, including triangle rasterization, texture mapping, depth buffering, lighting, SIMD-based optimizations and multithreaded rendering.

Technology Stack

C++ SDL WASM Emscripten SIMD, WASM SIMD Multithreading CPU Rendering Linux Windows

Main features

Research & Publications

The renderer also served as a platform for experimenting with custom rasterization techniques and performance-oriented rendering algorithms.

RESEARCH

Improving Performance with SIMD Intrinsics

Investigate how SIMD can improve performance

Read the Article →

Effective Pixel Rendering in Practice

How fast pixels can be renderer at low level.

Read the Article →

Simplified Voxel Based Visualization

How to approach the implementation of a basic voxel based rendering.

Read the Article →

Custom Triangle Traversal Algorithm

Development and evaluation of a custom triangle traversal algorithm for efficient software rasterization.

Read the Article →

Advanced 2D Rasterization on Modern CPUs

Making a very effective, multi-threaded CPU based 2D renderer

Read the Article →

Modern Software Rendering

How to approach and design a modern software renderer.

Read the Article →

Gallery

Head software renderer