从零开始写一个光栅软渲染器
结束了GAMES101的学习(好久了,又因为大作业的毛发渲染由于生病暂时没法摸到自己的电脑,突发奇想的能不能做一个光栅渲染器(因为做raytracer的人实在太多力),于是便开了一个仓库来放相关的东西:Tiny Rasterizer
渲染管线

这里,我们实现的时候因为偷懒因为方便,我只实现了以下的部分:
- 顶点定义
- 顶点变换
- 光栅化
- 片元着色
- 样本操作(暂未实现)
结束了GAMES101的学习(好久了,又因为大作业的毛发渲染由于生病暂时没法摸到自己的电脑,突发奇想的能不能做一个光栅渲染器(因为做raytracer的人实在太多力),于是便开了一个仓库来放相关的东西:Tiny Rasterizer
这里,我们实现的时候因为偷懒因为方便,我只实现了以下的部分:
在计算机图形学的几何分支中,直线和曲线都属于隐式表示(Implicit Represent)的几何组件,我们需要一些高效的方式将这些图形以较高的质量绘制到屏幕上。
虽然是相对朴素的算法,但是布雷森汉姆算法至今仍有着较高的使用率。
算法的基本想法是通过斜率来不断累积一个error,每当error的值超过一个阈值(0.5)的时候就在另一个方向上进行长度为1像素的前进,最终绘制出一根在屏幕上连续的直线。