本次分享Imagination GPU 的3D 图像处理负载流程。
总的分为两个阶段
第一阶段:Geometry Processing Phase
1.Input Assembly 输入装配。读取原始图元
2.Vertex Shading 顶点着色。对单个顶点输入运行shader
3.Geometry Shading 几何着色。对所有原始数据(点,线,三角形)进行着色
4.ViewPort Transformation 视角转换。用于将标准化设备坐标映射到屏幕或窗口的实际像素坐标
5.Perspective Divide 透视除法。将3D物体投影到2D屏幕。越远的物体看起来越小。
6.Early Primitive culling 早期图元删除。删除不可见图元
7.Cliping 裁剪。对于处于视窗边界的图元裁剪成多个图元
8.Stream Out 流输出。将几何处理的结果了连续输出
9.Generate Tiled Display Lists 生成块显示列表。
第二阶段:Fragment Processing Phase
1. Fetch Tiled Display List 获取块显示列表。
2.Fetch Geometry Data 获取几何数据。读取顶点数据
3.Depth Biasing 深度偏置
4.Rasterisation 光栅化。给像素着色器提供图元并且确定如何调用着色器。
5.Hidden Surface Removal 隐藏表面消除。
6.Depth Test and Stencil Test 深度测试和模板测试。决定是否渲染该片段。
7.Texture Fetch 纹理获取。采样像素着色需要的纹理数据
8.Pixel shading 像素着色。
9.Colour Bending 颜色混合。混合一个或者多个像素形成最终的像素