0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

GPU图形渲染流水线的两个部分主要工作

汽车玩家 来源:楚权的世界 作者:楚权的世界 2020-03-15 17:19 次阅读

GPU 图形渲染流水线的主要工作可以被划分为两个部分:

① 把 3D 坐标转换为 2D 坐标

② 把 2D 坐标转变为实际的有颜色的像素

GPU 图形渲染流水线的具体实现可分为六个阶段,如下图所示。

1. 顶点着色器(Vertex Shader)

2. 形状装配(Shape Assembly),又称 图元装配

3. 几何着色器(Geometry Shader)

4. 光栅化(Rasterization)

5. 片段着色器(Fragment Shader)

6. 测试与混合(Tests and Blending)

第一阶段,顶点着色器。

该阶段的输入是 顶点数据(Vertex Data) 数据,比如以数组的形式传递 3 个 3D 坐标用来表示一个三角形。顶点数据是一系列顶点的集合。顶点着色器主要的目的是把 3D 坐标转为另一种 3D 坐标,同时顶点着色器可以对顶点属性进行一些基本处理。

第二阶段,形状(图元)装配。

该阶段将顶点着色器输出的所有顶点作为输入,并将所有的点装配成指定图元的形状。图中则是一个三角形。图元(Primitive) 用于表示如何渲染顶点数据,如:点、线、三角形。

第三阶段,几何着色器。

该阶段把图元形式的一系列顶点的集合作为输入,它可以通过产生新顶点构造出新的(或是其它的)图元来生成其他形状。例子中,它生成了另一个三角形。

第四阶段,光栅化。

该阶段会把图元映射为最终屏幕上相应的像素,生成片段。片段(Fragment) 是渲染一个像素所需要的所有数据。

第五阶段,片段着色器。

该阶段首先会对输入的片段进行 裁切(Clipping)。裁切会丢弃超出视图以外的所有像素,用来提升执行效率。

第六阶段,测试与混合。

该阶段会检测片段的对应的深度值(z 坐标),判断这个像素位于其它物体的前面还是后面,决定是否应该丢弃。此外,该阶段还会检查 alpha 值( alpha 值定义了一个物体的透明度),从而对物体进行混合。因此,即使在片段着色器中计算出来了一个像素输出的颜色,在渲染多个三角形的时候最后的像素颜色也可能完全不同。

关于混合,GPU 采用如下公式进行计算,并得出最后的颜色。

R = S + D * (1 - Sa)

关于公式的含义,假设有两个像素 S(source) 和 D(destination),S 在 z 轴方向相对靠前(在上面),D 在 z 轴方向相对靠后(在下面),那么最终的颜色值就是 S(上面像素) 的颜色 + D(下面像素) 的颜色 * (1 - S(上面像素) 颜色的透明度)。

上述流水线以绘制一个三角形为进行介绍,可以为每个顶点添加颜色来增加图形的细节,从而创建图像。但是,如果让图形看上去更加真实,需要足够多的顶点和颜色,相应也会产生更大的开销。为了提高生产效率和执行效率,开发者经常会使用 纹理(Texture) 来表现细节。纹理是一个 2D 图片(甚至也有 1D 和 3D 的纹理)。纹理一般可以直接作为图形渲染流水线的第五阶段的输入。

最后,我们还需要知道上述阶段中的着色器事实上是一些程序,它们运行在 GPU 中成千上万的小处理器核中。这些着色器允许开发者进行配置,从而可以高效地控制图形渲染流水线中的特定部分。由于它们运行在 GPU 中,因此可以降低 CPU 的负荷。着色器可以使用多种语言编写,OpenGL 提供了 GLSL(OpenGL Shading Language) 着色器语言。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4710

    浏览量

    128792
收藏 人收藏

    评论

    相关推荐

    工业读码器解决方案在自动化流水线上扫描条码的应用

    工业读码器解决方案在自动化流水线上的应用主要包括以下几个方面:1、提高生产效率和准确性工业读码器嵌入在工业流水线中,无需人工扫描,大大提高了效率,节约了人力成本。读码效果稳定,准确率非常高,可以通过
    的头像 发表于 11-20 16:28 158次阅读
    工业读码器解决方案在自动化<b class='flag-5'>流水线</b>上扫描条码的应用

    SMT流水线布局优化技巧

    在电子制造领域,SMT(表面贴装技术)流水线的布局优化对于提高生产效率、降低成本和提升产品质量至关重要。一合理的流水线布局可以减少物料搬运时间,提高设备利用率,减少人为错误,并且提高整体的生产
    的头像 发表于 11-14 09:11 260次阅读

    工业流水线的智能助手——智能计数,效率倍增

    在工业流水线中,每一产品的计数都至关重要。迪卡尔ITMC-DSeries-x02系列物联网测控终端,您的智能生产伙伴。
    的头像 发表于 11-06 17:11 212次阅读
    工业<b class='flag-5'>流水线</b>的智能助手——智能计数,效率倍增

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架构分析」阅读体验】--了解算力芯片GPU

    着色器(Pixel shader)是图形流水线中算力相当强大的功能单元,因为它可以为每个片段执行复杂的计算,从而为最终渲染的图像添加细节和视觉效果。 DirectX API推动 GPU
    发表于 11-03 12:55

    行云流水线 满足你对工作流编排的一切幻想~skr

    的核心组成部分,旨在加速软件交付、提高质量和实现持续改进。流水线的核心是流水线模型,是实现工作流编排,执行的重要基石,一优秀的
    的头像 发表于 08-05 13:42 255次阅读

    ADS930高速流水线模数转换器(ADC)数据表

    电子发烧友网站提供《ADS930高速流水线模数转换器(ADC)数据表.pdf》资料免费下载
    发表于 07-30 14:10 0次下载
    ADS930高速<b class='flag-5'>流水线</b>模数转换器(ADC)数据表

    ADS5421流水线式模数转换器(ADC)数据表

    电子发烧友网站提供《ADS5421流水线式模数转换器(ADC)数据表.pdf》资料免费下载
    发表于 07-30 11:16 0次下载
    ADS5421<b class='flag-5'>流水线</b>式模数转换器(ADC)数据表

    ADS5413 CMOS流水线模数转换器(ADC)数据表

    电子发烧友网站提供《ADS5413 CMOS流水线模数转换器(ADC)数据表.pdf》资料免费下载
    发表于 07-29 13:21 0次下载
    ADS5413 CMOS<b class='flag-5'>流水线</b>模数转换器(ADC)数据表

    ADS828流水线式CMOS模数转换器数据表

    电子发烧友网站提供《ADS828流水线式CMOS模数转换器数据表.pdf》资料免费下载
    发表于 07-23 09:17 0次下载
    ADS828<b class='flag-5'>流水线</b>式CMOS模数转换器数据表

    MT6701磁编码IC在自动化插件流水线中的应用

    本文将从MT6701磁编码IC的特性、工作原理、在自动化插件流水线中的具体应用、以及未来的发展趋 MT6701磁编码IC作为现代工业自动化领域的重要组成部分,其在自动化插件流水线中的应
    的头像 发表于 07-22 17:59 1183次阅读
    MT6701磁编码IC在自动化插件<b class='flag-5'>流水线</b>中的应用

    MT6835磁编码IC在自动链板流水线中控制电机的应用

    在现代工业自动化领域中,精确控制电机运行是实现高效、稳定生产流程的关键环节。MT6835磁编码IC(集成电路)作为一种高性能的电机控制解决方案,其在自动链板流水线中控制电机的应用显得尤为重要。本文将详细探讨MT6835磁编码IC的特点、工作原理以及在自动链板
    的头像 发表于 07-21 14:41 659次阅读
    MT6835磁编码IC在自动链板<b class='flag-5'>流水线</b>中控制电机的应用

    固定式的扫码器在SMT流水线中的使用

    新大陆固定式扫码器作为一种高效的条码扫描设备,广泛应用于各个行业中,尤其是在SMT(表面贴装技术)流水线中有重要的作用。以下是新大陆固定式扫码器在SMT流水线中的具体使用情况。提高生产效率和质量
    的头像 发表于 07-03 10:18 472次阅读
    固定式的扫码器在SMT<b class='flag-5'>流水线</b>中的使用

    RISC-V架构的多级流水线处理

    有的单核RISC-V MCU支持四级流水线,有的只支持三级流水线,是不是级数越多,带来的开销越大,功耗也越高呢?
    发表于 05-20 16:01

    具有3态输出的多级流水线寄存器数据表

    电子发烧友网站提供《具有3态输出的多级流水线寄存器数据表.pdf》资料免费下载
    发表于 05-16 09:39 0次下载
    具有3态输出的多级<b class='flag-5'>流水线</b>寄存器数据表

    牵引机和挖掘机装配流水线自动互锁防呆系统无线通讯应用

    在挖掘机装配工序中,液压系统检测、调试是其生产工艺中的重要环节。液压检测过程中需要操作铲斗、斗杆、动臂动作,这一过程中流水线挖掘机因带动偏移易发生安全事故及机械损伤故障等情况,需要采用牵引机链条牵引
    的头像 发表于 02-26 08:52 344次阅读
    牵引机和挖掘机装配<b class='flag-5'>流水线</b>自动互锁防呆系统无线通讯应用