Imagination GPU 3D Graphics Wrokload

news/2025/3/1 3:42:47/

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


http://www.ppmy.cn/news/1575672.html

相关文章

nodejs将pdf转换成图片并提取图片内容

pdf2pic 安装方法 安装文档地址:https://github.com/yakovmeister/pdf2image/blob/HEAD/docs/gm-installation.md Windows下载下面两个文件,安装时没有自动设置环境变量,要分别设置到环境变量 Download Ghostscript Windows: https://gith…

Maven+SSM+SpringBoot+Mybatis-Plus

SSM技术栈:spring6、springmvc、mybatis、springboot3、mybatis-plus、druid; 前端: node、npm、vue 快速掌握:全新SSMSpring BootMyBatis-Plus实战精讲

mapbox基础,使用geojson加载heatmap热力图层

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️heatmap热力图层样式二、🍀使用geojs…

C高级——shell(3)

一、shell的选择结构 1.回顾:C语言的选择结构:if , if else if ,if else,switch (switch的执行速度最快) 2.shell的选择结构: 单分支if 双分支 if else 多分支if elif case..in 1.1 shell的选择结构的格式 --------C语言的格式--…

一个非常好用便捷的web自动化爬虫工具Playwright

相比于selenium,Playwright不需要在本地安装浏览器和对应版本的chromedriver,之前一度苦恼谷歌浏览器经常自动更新,需要更换旧的浏览器才有对应的driver,现在不需要考虑浏览器,这点非常nice,以及Playwright…

Ubuntu22上安装MySQL8启动成功,远程无法连接

解决步骤: 1.首先验证网络是否通 ping Linux服务器ip 2.如果网络通,验证是否开放了访问 2.1在服务器上使用 sudo mysql -u root -p 并输入密码连接到mysql 2.2执行 SELECT User, Host FROM mysql.user; 查找一个Host列为’%的用户,这表示允许从任何主机连…

【无人集群系列---无人机集群编队算法】

【无人集群系列---无人机集群编队算法】 一、核心目标二、主流编队控制方法1. 领航-跟随法(Leader-Follower)2. 虚拟结构法(Virtual Structure)3. 行为法(Behavior-Based)4. 人工势场法(Artific…

实现 Leaflet 多类型点位标记与聚合功能的实战经验分享

在现代的地理信息系统(GIS)应用中,地图功能是不可或缺的一部分。无论是展示商业网点、旅游景点还是公共服务设施,地图都能以直观的方式呈现数据。然而,当数据量较大时,地图上可能会出现大量的标记点&#x…