这三个概念在讨论GPU渲染流程的时候经常提到,并且容易混淆,这里简述一下这三者与他们之间的区别。
首先这3者的生成是有先后顺序的:
顶点>图元>片元>像素
- 顶点就不解释了。
- 图元是由顶点组成的。一个顶点,一条线段,一个三角形或者多边形都可以成为图元。
- 片元是在图元经过光栅化阶段(这个阶段比较复杂,这里不赘述)后,被分割成一个个像素大小的基本单位。片元其实已经很接近像素了,但是它还不是像素。片元包含了比RGBA更多的信息,比如可能有深度值,法线,纹理坐标等等信息。片元需要在通过一些测试(如深度测试)后才会最终成为像素。可能会有多个片元竞争同一个像素,而这些测试会最终筛选出一个合适的片元,丢弃法线和纹理坐标等不需要的信息后,成为像素。
- 像素就很好理解了,最终呈现在屏幕上的包含RGBA值的图像最小单元就是像素了。