《实时渲染》第2章-图形渲染管线-2.4光栅化

实时渲染

2. 图形渲染管线

2.4 光栅化

顶点及其关联的着色数据(全部来自几何处理阶段)在进行变换和投影后,下一阶段的目标是找到所有像素(图片元素的缩写),这些像素位于要渲染的图元内部,例如三角形。我们将此过程称为光栅化,它分为两个功能子阶段:三角形设置(也称为图元组装)和三角形遍历。它们显示在图2.8的左侧。请注意,这些也可以处理点和线,但由于三角形最常见,因此子阶段的名称中带有"三角形"。因此,光栅化也称为扫描转换,是将屏幕空间中的二维顶点(每个顶点具有z值(深度值)和与每个顶点关联的各种着色信息)转换为屏幕上的像素。光栅化也可以被认为是几何处理和像素处理之间的同步点,因为在这里三角形由三个顶点形成并最终发送到像素处理。

图2.8. 左:光栅化分为两个功能阶段,称为三角形设置和三角形遍历。右:像素处理分为两个功能阶段,即像素着色和合并。

是否认为三角形与像素重叠取决于您如何设置GPU的管线。例如,您可以使用点抽样来确定"内部性"。最简单的情况是在每个像素的中心使用单点样本,因此如果该中心点在三角形内部,那么相应的像素也被视为三角形内部。您还可以使用超级采样或多重采样抗锯齿技术(第5.4.2节)为每个像素使用多个样本。另一种方法是使用保守光栅化,其中的定义是,如果像素的至少一部分与三角形重叠,则像素位于三角形"内部"(第23.1.2节)。

2.4.1 三角形设置

在这个阶段,计算三角形的微分、边方程和其他数据。这些数据可用于三角形遍历(第2.4.2节),以及用于几何阶段产生的各种着色数据的插值。这个任务通常是硬件的固定功能。

2.4.2 三角形遍历

在这个阶段,会检查每个像素中心(或样本)被三角形覆盖的位置,并为与三角形重叠的像素部分生成片元。更详细的抽样方法可以在第5.4节中找到。查找三角形内的样本或像素通常称为三角形遍历。每个三角形片元的属性是使用在三个三角形顶点之间插入的数据生成的(第5章)。这些属性包括片段的深度,以及来自几何阶段的任何着色数据。McCormack等人在文献[1162]中提到了有关三角形遍历的更多信息。也是在这个阶段,对三角形执行透视校正插值[694](第23.1.1节)。然后将图元内的所有像素或样本发送到像素处理阶段,这个下述章节会进行论述。

相关推荐
AndrewHZ18 天前
【图像处理基石】什么是光栅化?
图像处理·人工智能·算法·计算机视觉·3d·图形渲染·光栅化
little_fat_sheep4 个月前
【OpenGL ES】光栅化插值原理和射线拾取原理
光栅化·插值·射线拾取·射线与三角形交点·重心
杀生丸学AI2 年前
【三维重建】3D Gaussian Splatting:实时的神经场渲染
3d·光栅化·三维重建·快速渲染
啊基米德2 年前
Games101学习笔记 -光栅化
光栅化·深度测试