版本记录
版本号 | 时间 |
---|---|
V1.0 | 2018.10.06 星期六 |
前言
很多做视频和图像的,相信对这个框架都不是很陌生,它渲染高级3D图形,并使用GPU执行数据并行计算。接下来的几篇我们就详细的解析这个框架。感兴趣的看下面几篇文章。
1. Metal框架详细解析(一)—— 基本概览
2. Metal框架详细解析(二) —— 器件和命令(一)
3. Metal框架详细解析(三) —— 渲染简单的2D三角形(一)
4. Metal框架详细解析(四) —— 关于GPU Family 4(一)
5. Metal框架详细解析(五) —— 关于GPU Family 4之关于Imageblocks(二)
6. Metal框架详细解析(六) —— 关于GPU Family 4之关于Tile Shading(三)
7. Metal框架详细解析(七) —— 关于GPU Family 4之关于光栅顺序组(四)
About Enhanced MSAA and Imageblock Sample Coverage Control - 关于增强的MSAA和Imageblock采样覆盖控制
了解如何在tile
着色器中访问多重采样跟踪数据,启用自定义MSAA解析算法的开发等。
Overview - 概览
多重采样抗锯齿(MSAA)
是一种通过对每个像素使用多个深度和颜色采样来改善原始边缘外观的技术。 图1显示了没有MSAA
的三角形。 因为每个像素都有一个采样位置,所以它被覆盖或未被三角形覆盖,导致锯齿状边缘。
图2显示了使用4x MSAA
渲染的相同三角形;也就是说,每个像素具有四个采样位置。 图形处理单元(GPU)平均像素内的每个样本的颜色以确定最终颜色。 该过程导致更光滑的外观并减少锯齿状边缘。
Apple的A系列GPU具有高效的MSAA实施。 硬件跟踪每个像素是否包含基本边缘,以便仅在必要时对每个采样执行混合。 如果像素中的所有采样都被单个图元覆盖,则GPU仅对整个像素进行一次混合。
Imageblock Sample Coverage Control - Imageblock采样覆盖控制
A11上的Metal 2
跟踪每个像素的唯一采样(或颜色)的数量,在渲染新基元时更新此信息。 例如,图3中的像素包含两个重叠三角形的边缘,采样位置由三种独特的颜色覆盖。 在当前的A系列GPU中,该像素混合了三个覆盖样本中的每一个。 在A11 GPU上,此像素仅混合两次,因为两个覆盖的样本共享相同的颜色。 在这种情况下,索引1处的颜色是绿色和粉红色的混合,索引2处的颜色是粉红色。
A11上的Metal 2
可以减少像素中唯一颜色的数量。 在图4中,在早期基元的顶部渲染了另一个不透明的三角形。 由于所有样本都被新三角形覆盖并且可以用单一颜色表示,因此A11 GPU将三种颜色合并为一种颜色。
此外,您可以在tile
着色器中访问和修改样本覆盖率数据,以实现自定义分辨率算法。 例如,给定包含不透明和半透明几何体的单独渲染阶段的复杂场景,您可以添加tile
着色器以在混合半透明几何体之前解析不透明几何体的样本数据。 使用A11上的Metal 2,此tile
着色器可以处理本地内存中的数据,并且可以是不透明几何阶段的一部分,如图5所示。
后记
本篇主要讲述了增强的MSAA和Imageblock采样覆盖控制,感兴趣的给个赞或者关注~~~