Rasterization
Tinyrenderer: Software rendering in 500 lines of bare C++
Writing a software rasterization from scratch to demonstrate how graphics APIs work.
Implementing a tiny CPU rasterizer
Blog post series on implementing a CPU rasterizer from scratch
Graphics Pipelines for Young Bloods
Describes forward/defered shading techniques and various tradeoffs
High-Performance Software Rasterization on GPUs (2011)
A paper describing high-performance software rasterization techniques running on GPUs.