Skip to content

mathieuchartier/SoftRast

 
 

Repository files navigation

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

About

Hobby software rasterizer.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 61.6%
  • C++ 38.2%
  • CMake 0.2%