Imagination GPU 3D Graphics Wrokload

本次分享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**(片段处理阶段)** 是图形渲染管线(Graphics Rendering Pipeline)中的一个关键阶段,主要负责处理光栅化后的片段(Fragment),最终生成像素颜色并写入帧缓冲区(Framebuffer)。

  1. Fetch Tiled Display List 获取块显示列表。

2.Fetch Geometry Data 获取几何数据。读取顶点数据

3.Depth Biasing 深度偏置。这是由于浮点数精度限制导致两个或多个图元在深度值上过于接近,从而在渲染时产生闪烁或不稳定的现象。为了解决这个问题,可以使用 Z-bias(深度偏移) 技术。

4.Rasterisation 光栅化。给像素着色器提供图元并且确定如何调用着色器。

5.Hidden Surface Removal 隐藏表面消除。用于确定在三维场景中哪些物体或物体部分是可见的,哪些被其他物体遮挡而不可见。其目的是确保最终渲染的图像中只显示可见的表面,从而避免视觉错误。

6.Depth Test and Stencil Test 深度测试和模板测试。决定是否渲染该片段。

  • 深度测试:基于深度值决定片段是否可见,用于处理遮挡关系。

  • 模板测试:基于模板值决定片段是否保留,用于实现遮罩、描边等效果。

7.Texture Fetch 纹理获取。采样像素着色需要的纹理数据。纹理采样是图形渲染中的核心操作,用于从纹理中获取数据并应用到渲染的物体表面。通过合理使用纹理采样技术,可以实现丰富的视觉效果和高效的渲染性能。

8.Pixel shading 像素着色。

9.Colour Bending 颜色混合。混合一个或者多个像素形成最终的像素

相关推荐
子燕若水6 小时前
“Daz to Unreal”将 G8 角色(包括表情)从 daz3d 导入到 UE5。在 UE5 中,我发现使用某个表情并与闭眼混合后,上眼睑出现了问题
3d·ue5
zhu_zhu_xia13 小时前
JS通过GetCapabilities获取wms服务元数据信息并在SuperMap iClient3D for WebGL进行叠加显示
javascript·3d·webgl
星空寻流年14 小时前
css3新特性第七章(3D变换)
前端·css·3d
在下胡三汉14 小时前
Google Store 如何利用 glTF 3D 模型改变产品教育
3d
Hali_Botebie15 小时前
【激光雷达3D(6)】3D点云目标检测方法;CenterPoint、PV-RCNN和M3DETR的骨干网络选择存在差异
网络·目标检测·3d
whuzhang161 天前
3DGS之齐次坐标
人工智能·3d·自动驾驶
90后小陈老师2 天前
WebXR教学 05 项目3 太空飞船小游戏
windows·3d·web·js
艾恩小灰灰2 天前
CSS中的`transform-style`属性:3D变换的秘密武器
前端·css·3d·css3·html5·web开发·transform-style
James. 常德 student2 天前
门控循环单元(GRU)
pytorch·深度学习·gru
工业3D_大熊3 天前
HOOPS Exchange 与HOOPS Communicator集成:打造工业3D可视化新标杆!
3d·hoops·3d数据格式转换·3d模型可视化·bim技术数字解决方案·3d模型桌面可视化