Skip to content

cyianor/rastr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software rasterizer

Building a simple software rasterizer in Rust. Initially, the project mostly followed Coding Adventure: Software Rasterizer by Sebastian Lague with some adjustments to more closely follow modern graphics APIs. As the project grew I got interested in implementing more features such as lights, shadows and more advanced shading.

Performance for pure rasterization is pretty decent but shadows and lights really slow things down. The design of the rasterizer follows modern graphics APIs (OpenGL, DirectX, Vulkan) which is probably part of the problem why it is slow. These APIs target highly parallelized and optimized GPUs which can solve many of the problems encountered in rasterization much more efficiently than implementing those same algorithms on the CPU.

Other sources

Goals

  • Shadow Maps
  • Additional lights and shadows: Point lights, Directional Light
  • Rudimentary but interesting shader model, e.g. Blinn-Phong
  • Normal mapping

About

A simple software rasterizer

Resources

License

Stars

Watchers

Forks

Contributors

Languages