Skip to content

Latest commit

 

History

History
34 lines (29 loc) · 2.53 KB

README.md

File metadata and controls

34 lines (29 loc) · 2.53 KB

SoftRast

Hobby real-time software rasterizer, requires a CPU with AVX2/FMA.

Crytek Sponza

The goal of the project is to learn more about the graphics pipeline, software rendering and SIMD programming.

Features:

  • SIMD (AVX2) rasterization/shading.
  • Perspective correct interpolation of attributes.
  • Fixed point rasterization with 8 bits of sub pixel precision.
  • Texture sampling with billinear interpolation and tiled/morton order textures.
  • Multithreaded geometry processing and rasterization.
  • Sort middle architecture.
  • Reverse Z depth buffer (compile time toggleable).
  • Mip mapping using screen space partial derivatives.
  • No runtime memory allocation (all allocations go through thread local linear allocators with a large upfront allocation).
  • Simple OBJ model loader. Creates a binary out of the model and textures for instantaneous loading after the first run.

Various improvements are in todo.txt.

Assorted references