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

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并驾齐驱。

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

相关文章:

  • 数据结构:递归:泰勒展开式(Taylor Series Expansion)
  • 架构师级考验!飞算 JavaAI 炫技赛:AI 辅助编程解决老项目难题
  • 单精度浮点数值 和 双精度浮点数值
  • 嵌入式学习之系统编程(十)网络编程之TCP传输控制协议
  • TDengine 开发指南—— UDF函数
  • Web 架构相关文章目录(持续更新中)
  • YAML在自动化测试中的三大核心作用
  • RADIUS-管理员获取共享密钥
  • 拆装与维修汇总帖
  • Qt/C++学习系列之QGroupBox控件的简单使用
  • Linux项目自动化构建工具——make/Makefile
  • 掌握YOLOv8:从视频目标检测到划定区域统计计数的实用指南
  • 6.824 lab1
  • float、double 这类 浮点数 相比,DECIMAL 是另一种完全不同的数值类型
  • 动态表单 LiveCycle 与 AcroForms 对比
  • 东南亚用工合规困境破解:从文化冲突到数字化管理升级
  • 央国企人力资源数字化转型:全景路径与6类挑战解析
  • vite+vue3项目中,单个组件中使用 @use报错
  • 群晖NAS套件历史版本资源
  • 动态规划---股票问题
  • 网站手机优化/百度公司招聘
  • 河南网站建设企业/提高网站排名软件
  • 做微商那个网站好/收录网站
  • 好看的网页设计模板/什么是seo标题优化
  • 设计页面宽度/郑州seo代理外包
  • 网站建设合同书封皮/腾讯企点qq