该项目实现参考 TinyRenderer,感谢开源社区的贡献。项目得到 GAMES101 课程 的启发,旨在完整从零实现一个功能完整的 CPU 软光栅渲染器。
总体实现目标
- 仅借助 SDL2 和 NumPy 实现
- 实时渲染、视角可变化
- 支持纹理贴图、光照、法线贴图等功能
- 尽可能简洁明了
运行效果


由于没有专门针对大量三角面进行特定优化,实时渲染在三角面数量较多时会出现卡顿现象,但优化这一点并不是本项目的重点。在上面展示的两个实例中,右侧实例可以达到 60-80 FPS,左侧则可能只有 2-3 FPS。
章节
每一讲只处理一个明确的问题,正文、代码和实验分别放在独立页面中,后续内容会按实现进度继续补充。