图形硬件流水线

图形硬件流水线
一几何阶段0作用概括先对顶点属性处理再对图元处理但结果最终都要变换到ClipSpace去给硬件视锥裁减裁剪完成后再将图元映射到2D Space下先执行背面剔除后再传给光栅化使用。1初始化顶点与图元 IA1根据顶点布局从显存中读取Vertex信息传给VS2根据图元拓扑装配基本图元但是如果后面发生图元信息更改的情况还会重新装配。3生成系统语义值提供优化2顶点处理 VS1主要是MVP变换变换到ClipSpace2插值数据预处理比如顶点光照等。3图元处理可选3.1 传统处理流程3.1.1 Tessellation Shader1Hull Shader2Tessellator3Domain Shader3.1.2 Geometry Shader3.2 Mesh Shader4ClipSpace在进入硬件的FrustumClip之前必须装配好图元并转换到ClipSpace。5硬件Frustum Clip62D Space6.1 NDC Space对坐标执行透视除法 在这一步才是执行了完整的透视变换使得坐标与1/z成线性比了。6.2 Screen Space6.3 背面剔除二光栅化阶段0作用概括将2D图元采样成片元候选像素透视矫正后正确插值属性再将片元与属性传递给PS使用。1几何检测1.1 本质根据2D 图元覆盖的范围/边界遍历内部像素检测与图元的实际相交情况。1.2 边缘函数边界粗算遍历像素时具体检测。1.3 扫描线边界细算遍历像素时不用检测。2透视矫正3裁剪测试4硬件MSAA5为什么选择三角形1最基本的图元多边形都可拆。2一定是个有限平面且内外部定义明确。3重心坐标便于插值。三EarlyZ可选1相关概念Z-PrePass、Hi-Z、Z-Cull2限制1半透明2Discard3PS中修改DepthValue四像素处理五输出合并1TestDepthStencilAlphaBlendingMode2RT3MRT4硬件MSAA