Polygonal Software Renderer (C++)
Switch branches/tags
Nothing to show
Clone or download
Latest commit 44aafd0 May 31, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
!Docs 3.1.0 Dec 17, 2017
Example.Fountain 3.1.0 Dec 17, 2017
Example.FreeLook 3.1.0 Dec 17, 2017
Example.Gears 3.1.0 Dec 17, 2017
Example.Mesh 3.1.0 Dec 17, 2017
Example.Swift 3.1.0 Dec 17, 2017
ExampleLibrary 3.1.0 Dec 17, 2017
FastPix3D 3.1.0 Dec 17, 2017
MeshConverter 3.1.0 Dec 17, 2017
.gitignore .gitignore May 31, 2018
FastPix3D.sln 3.1.0 Dec 17, 2017
LICENSE.md 3.1.0 Dec 17, 2017
README.md 3.1.0 Dec 17, 2017



FastPix3D is a software rendering 3D engine written in C++. Software rendering is based on software graphics processing without utilizing hardware acceleration, such as Direct3D or OpenGL. CPU rendering is slow, yet FastPix3D is quite powerful. It even supports vertex lights and stencil shadows at a quite acceptable frame rate. Many optimizations are implemented in order to achieve such performance.

Important to remember is to see software rendering as a mathematical challenge rather than an attempt to implement a productive graphics engine. You will not achieve high quality graphics with software renderers - that's what GPU's are for. But you will most definitely get a better understanding for polygon-based 3D graphics when writing one yourself.


  • Textured & colored polygons (with perspective corrected textures)
  • Z-buffering
  • Vertex lights
  • Stencil buffer, shadow volume creation & stencil shadows using Z-Fail algorithm
  • Meshes
  • Direct3D like object model
  • Highly optimized, native C++ code
  • HUD & bitmap fonts



FastPix3D 3.1.0 Binaries.zip

Project Page