光栅化

渲染杂谈:early-z、z-culling、hi-z、z-perpass到底是什么?

这四种技术本质上都是解决传统渲染管线中的同一个问题——过度绘制(OverDraw) 。一个经典的渲染管线通常会依次经历顶点阶段、光栅化、片元阶段和逐像素处理。其中片元阶段会进行复杂的光照计算,是整个管线的性能瓶颈。而在逐像素阶段会对计算出来的片元值进行各种测试以判断这个片元会不会最终显示到屏幕上。

对光栅化的理解和总结

当每个像素按照统一的方式存储时,存储所有像素的空间就叫做缓冲区。帧缓冲区包含了颜色缓冲区、深度缓冲区、模板缓冲区、累计缓冲区。光栅化是把顶点数据转换为片元的过程,具有将图转化为一个个栅格组成的图象的作用,特点是每个元素对应帧缓冲区中的一像素。光栅化其实是一种将几何图元变为二维图像的过程。

光栅化规则

光栅化规则定义矢量数据如何映射到光栅数据。 光栅数据贴靠到会进行剔除和裁剪的整数位置(以绘制最低像素数量),并在传递到像素着色器之前对每像素属性进行插值(从每顶点属性)。存在几种类型的规则,这些规则依赖于正在映射的基元的类型以及数据是否使用多重采样来减少失真。 以下各个图示展示了如何处理极端情况。