光栅化与图形管线
光栅化将三角形等几何图元转换为它们在屏幕上覆盖的像素,是图形管线的核心步骤,将3D场景转换为2D图像。
用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
Learn & explore
视频即将推出
Definition
光栅化是确定投影几何图元覆盖哪些像素,并对这些像素上的每顶点量(如深度、颜色和纹理坐标)进行插值的过程。
Scope
本主题涵盖了标准渲染管线的各个阶段——顶点变换、裁剪、投影、图元组装、扫描转换和片段处理——以及用于可见性的深度缓冲、顶点属性的透视校正插值以及结果样本的抗锯齿。
Core questions
- 3D坐标如何转换为2D屏幕位置?
- 投影的三角形覆盖哪些像素?
- 当图元重叠时,如何解决可见性问题?
- 如何减少边缘上的锯齿伪影?
Key concepts
- 顶点和片段阶段
- 裁剪和投影
- 扫描转换
- Z-buffer深度测试
- 透视校正插值
- 抗锯齿
Key theories
- 变换-光栅化管线
- 几何体经过从对象空间到屏幕空间的一系列固定坐标变换,之后图元被扫描转换为片段,这种结构可以高效地映射到并行硬件上。
- 用于可见性的深度缓冲
- Z-buffer存储每个像素迄今为止最近的深度,并丢弃位于其后的片段,从而无需对几何体进行排序即可逐步解决隐藏表面消除问题。
Clinical relevance
光栅化管线是几乎所有实时图形的基础,驱动着视频游戏、用户界面合成、CAD查看器以及浏览器和移动设备中的交互式3D。
History
20世纪70年代初的Z-buffer和扫描转换方法被编入早期图形硬件的固定功能管线中,随后被推广到现代GPU的可编程着色器管线中。
Key figures
- Edwin Catmull
- Bui Tuong Phong
Related topics
Seminal works
- catmull1974
- hughes2013
Frequently asked questions
- 为什么光栅化如此之快?
- 每个三角形都是独立处理的,每个像素都通过简单的增量算术填充,这直接映射到图形硬件的大规模并行架构上。
- Z-buffer有什么用?
- 它记录了每个像素迄今为止绘制的最接近表面的距离,因此较近的表面会覆盖较远的表面,场景中隐藏的部分会自动移除。