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 颜色混合。混合一个或者多个像素形成最终的像素

相关推荐
机器学习之心2 小时前
顶级SCI极光优化算法!PLO-Transformer-GRU多变量时间序列预测,Matlab实现
gru·多变量时间序列预测·顶级sci极光优化算法·plo-transformer
哈市雪花1 天前
相机:Camera原理讲解(使用OpenGL+QT开发三维CAD)
qt·3d·交互·相机·图形学·opengl·视角
zhongqu_3dnest1 天前
3D建模公司的能力与技术
数码相机·3d·虚拟现实·vr制作公司·3d建模公司
syncon121 天前
手机屏色斑缺陷修复及相关液晶线路激光修复原理
科技·3d·制造
九班长1 天前
Golang服务端处理Unity 3D游戏地图与碰撞的详细实现
3d·unity·golang
温轻舟2 天前
3D词云图
前端·javascript·3d·交互·词云图·温轻舟
在下胡三汉2 天前
粗略地看一下 glTF 2.0 的所有标准属性(顺便说一下,还有 .glb 的结构)
3d
zhongqu_3dnest2 天前
3D可视化:开启多维洞察新时代
3d·3d建模·空间计算·3d可视化·三维空间·沉浸式体验
.30-06Springfield2 天前
利用人名语言分类案例演示RNN、LSTM和GRU的区别(基于PyTorch)
人工智能·pytorch·python·rnn·分类·gru·lstm
试着3 天前
【数据标注师】3D标注
3d·数据标注师·3d标注