当前位置: 首页 > backend >正文

GPU 图形计算综述 (三):可编程管线 (Programmable Pipeline)

2000年左右,微软在DirectX 8.0中首次提出了Shader Model 1.0和顶点着色器(Vertex Shader)的概念,标志着可编程管线时代的来临。随后,在DirectX 9.0中推出了Shader Model 2.0和像素着色器(Pixel Shader)(注:OpenGL中描述为Fragment Shader,片元着色器)。

图1是Direct3D 11.0的图形管线示意图,其中蓝色方框表示可编程着色器,橙色方框表示固定功能模块。

图1:可编程管线示意图 (Direct3D 11.0 Graphics Pipeline)

可编程着色器定义了一组指令集和语法,开发者可以自行设计和实现更多更复杂的算法,灵活性大大增强,不仅显著的提升了渲染画面的真实感,并推动GPU的发展进入快车道。毫不夸张的说,可编程着色器的推出,开启了一个崭新的时代。

随后,各种类型的可编程着色器相继推出,将GPU和图形领域推向了一个又一个新的高度。下表中简要列出了可编程着色器的发展脉络

1:可编程着色器的发展

可编程着色器

图形API版本

推出时间

Vertex Shaders

DirectX 8.0 / OpenGL 1.4

2000

Fragment Shaders/Pixel Shaders

DirectX 9.0 / OpenGL 2.0

2001-2004

Unified Shader Architecture

DirectX 10.0 / OpenGL 3.3

2006

Geometry Shaders

DirectX 10 / OpenGL 3.2

2006

Tessellation Shaders

DirectX 11 / OpenGL 4.0

2009

Compute Shaders

DirectX 11 / OpenGL 4.0

2009

Ray Tracing Shaders

DirectX 12 / Vulkan extension

2018

Mesh Shaders

DirectX 12 Ultimate / Vulkan extension

2018-2020

Neural Shaders

Ongoing

2025

可编程管线极大促进了GPU硬件的发展速度。2006年前后,英伟达旗舰版GPU所包含的晶体管数量,已经超过了同时代英特尔旗舰版CPU的晶体管数量。GPU不再仅仅是CPU的协处理器,而开始与CPU并驾齐驱。

事物往往存在两面性,可编程着色器的高度灵活性同时也带来一定的复杂性,提高了图形编程的门槛。

http://www.xdnf.cn/news/12360.html

相关文章:

  • 【动手学MCP从0到1】2.3 MCP中的Resource和Resource Template服务构建步骤详解
  • 建筑设备一体化监控系统:提升能效与运维效率
  • MySQL 的 redo log 和 binlog 区别?
  • 为 ESP32 解锁跨平台存储识别能力:支持 FAT、NTFS、EXT4、APFS 的轻量级 BlockFS 组件
  • Java中的阻塞队列
  • [arthas]arthas安装使用
  • NVM!(可以快速替换你的node版本)
  • Mysql主从复制原理分析
  • 高性能分布式消息队列系统(三)
  • CVE-2020-17518源码分析与漏洞复现(Flink 路径遍历)
  • AtCoder 第408​场初级竞赛 A~E题解
  • 强化学习入门:Gym实现CartPole随机智能体
  • VBA信息获取与处理专题五第一节:利用CDO发送简单邮件
  • AirSim/Cosys-AirSim 游戏开发(二)使用自定义场景
  • Python训练营---Day45
  • DeepSeek 农业大模型:应用潜力与数据隐私保护的双重考量
  • Python训练营---Day44
  • MySQL常用知识总结
  • 三分算法与DeepSeek辅助证明是单峰函数
  • 学习路之PHP--webman安装及使用、webman/admin安装
  • OpenLayers 地图投影转换
  • 视频监控EasyCVR3.7.2版本支持更改播放器默认解码方式,该如何进行配置?
  • 组合与排列
  • 湖北理元理律所债务优化实践:法律技术与人文关怀的双轨服务
  • 【LC#39270】判断子序列爬楼梯(dp算法 第一期)
  • 面向开发者的提示词工程③——文本总结(Summarizing)
  • [蓝桥杯]序列计数
  • 26考研|数学分析:多元函数极限与连续
  • 面试总结。
  • 数据迁移是什么?数据迁移过程中