500行のC++でソフトウェアレンダリングを実装する
Software rendering in 500 lines of bare C++

OpenGLやVulkanなどの3DグラフィックスAPIが内部でどのように動作するのかを、500行のC++コードでソフトウェアレンダラーをゼロから実装することで解説する。外部ライブラリは一切使わず、TGAファイルの読み書きとピクセル描画のみを出発点に、線分や三角形の描画、テクスチャマッピングなど、3Dグラフィックスの基礎を学ぶ。GPUアプリケーションの書き方ではなく、その仕組みを理解することを目的としている。
GPUアプリケーションの書き方を示すつもりはありません。それらがどのように動作するのかを示したいのです。