- 顶点处理
- 图元处理
- 栅格化
- 片段处理
- 混合处理
- 图形渲染的第一步是顶点处理。
- 构成多边形建模的每一个多边形呢,都有多个顶点(Vertex)。这些顶点都有一个在三维空间里的坐标。
- 但是屏幕是二维的,所以在确定当前视角的时候,需要把这些顶点在三维空间里面的位置,转化到屏幕这个二维空间里面。这个转换的操作,就被叫作顶点处理。
- 图元处理,其实就是要把顶点处理完成之后的各个顶点连起来,变成多边形。
- 转化后的顶点,仍然是在一个三维空间里,只是第三维的 Z 轴,是正对屏幕的"深度"。所以针对这些多边形,需要做一个操作,叫剔除和裁剪(Cull and Clip),把不在屏幕里面,或者一部分不在屏幕里面的内容给去掉,减少接下来流程的工作量。
- 屏幕分辨率是有限的。一般是通过一个个像素(Pixel)来显示出内容的。
- 对于做完图元处理的多边形,把它们转换成屏幕里面的一个个像素点。这个操作,就叫作栅格化。
- 栅格化操作,有一个特点和上面的顶点处理是一样的,就是每一个图元都可以并行独立地栅格化。
- 在栅格化变成了像素点之后,图还是"黑白"的。还需要计算每一个像素的颜色、透明度等信息,给像素点上色。
- 片段处理操作,同样也可以每个片段并行、独立进行,和上面的顶点处理和栅格化一样。
- 把不同的多边形的像素点"混合(Blending)"到一起。
- 可能前面的多边形可能是半透明的,那么前后的颜色就要混合在一起变成一个新的颜色。或者前面的多边形遮挡住了后面的多边形,那么只要显示前面多边形的颜色就好了。
- 最终,输出到显示设备。