计算机图形系统的发展以提供更快的图形数据处理和更真实的视觉效果为目标!

基于光栅化(Rasterization)图形管线如图-2所示,图中下部虚线部分数据流向代表固定图形管线。应用程序通过点、线、多边形等几何图元构建出物理模型或可视化的数据结构,这些模型最后表示成具有对象空间坐标、法向量、颜色、纹理坐标等属性的顶点集(Vertex)。对顶点进行坐标变换、光照计算后,图元装配和光栅化操作对几何图元进行纹理和颜色的插值,生成和窗口屏幕像素相对应的片元集(Fragment)。片元集具有窗口坐标、颜色、纹理坐标、雾化坐标等属性,每个片元经过纹理应用颜色混合以及雾化等操作后计算出片元最终颜色和深度。通过模板、深度、透明混合等测试的片元最终写入帧缓存中显示出来。

图-2

从图形学算法到图形库函数再到硬件图形管线,图形处理器用硬件固化算法,加速数据流处理;从固定图形管线到可编程图形管线,图形处理器不断提高其数据处理的灵活性以满足更复杂但更真实的图形效果。经过大致三个阶段的演变,图形处理器已发展成计算机系统中专注图形应用而兼顾数据流处理的高性能协处理器。

固定管线编程,类似于硬布线,编程效率高,但是设计更加复杂;而可编程流水线,编程自由度高,就像C语言相对于汇编一样,效率降低,却更容易操作。

大致在1998 年后期, 以Nvidia TNT2、ATI Rage 和3DFX Voodoo3为代表的图形芯片支持多纹理操作,在光栅化过程中完成多幅纹理的融合操作。1999 年后期,以Nvidia GeForce256、GeForce 2 和ATI Radeon 7500为代表的图形芯片可以处理顶点的矩阵变换和进行光照计算。这一时期,图形特性的固化和硬件加速是图形处理器设计的方向,这一阶段的图形处理器特点是“固定图形管线(Fix Function)”。

但很快就发现,照这样的方向发展下去,不断增加的图形新特性将会使得图形库和图形处理器设计不堪重负。同时,有限的特性终究束缚了图形应用开发者的手脚,不能满足人们对更真实的场景和更绚丽的动画效果的需求。2001年底和2002年初,以Nvidia和ATI为代表的主流图形处理器厂商将硬件图形管线的流水线作为流处理器来解释,顶点级出现可编程性,片元级出现有限的可编程能力。这一重要的变革使图形芯片成为真正意义的图形处理器,这一时期的处理器有Nvidia GeForce3、GeForce4和ATI Radeon 8500。2003年Nvidia GeForce FX 系列和ATI Radeon 9700/9800最终通用化了顶点和片元级可编程能力。固定的图形管线中顶点的光照和坐标变换由顶点程序取代,片元的颜色融合及纹理操作由片元程序取代,固定图形管线演变为可编程图形管线,如图-2上部实线所示。人们可以在顶点和片元两个级别上编程实现灵活的处理,满足不同的要求。顶点和片元程序在图形应用中统称为渲染程序(Shader)。以及后来的GeForce 6x、7x系列和相应的ATI 5xx核心的处理器都是沿着扩展图形可编程能力的方向发展,这一阶段图形处理器的特点是“可编程图形管线(Programable Pipleline)”。

随着通用可编程能力的提高,图形处理器迎来新的变革与发展,顶点处理和片元处理在统一的硬件处理单元上执行,体系结构更加通用化,如Nvidia G8x 和 AMD/ATI R6xx。由图形处理器衍生出的协处理器,将会提升个人电脑的并行计算能力。这个阶段的图形处理器的特点是“数据流通用计算(GPGPU)”。

从固定图形管线到可编程流处理器相关推荐

  1. Vulkan编程指南翻译 第七章 图形管线 第2节 Renderpasses(未完成)

    7.2  renderpass Vulkan图形管线和计算管线的区别之一是,你使用图形管线来渲染出像素,组成图像以供处理或显示给用户.在复杂的图形应用程序中,图片经过很多遍构建,每一遍都生成场景的一部 ...

  2. Real-Time Rendering 4th 译文《二 图形管线》

    第二章 图形管线 一条铁链的坚固程度取决于它最弱的一个环节 本章将介绍实时渲染的核心概念,渲染管线,或者被称为管线.管线最主要的功能就是根据一个虚拟的相机.3D的物件.光照等信息,渲染生成一个2D的图 ...

  3. OpenGL 学习笔记III: 图形管线、三角形、shader 流水线

    跟 LearnOpenGl 也逐渐走到写 shader 渲染渐变三角形.四边形的地步了,现在总结一下整个图形管线的流程,可编程管线中各个 shader 的工作和用途.以及 shader 的本身的用途. ...

  4. 【计算机图形学入门】笔记8:Shading 2着色(着色频率、图形管线、纹理映射)

    08Shading 2着色(着色频率.图形管线.纹理映射) 前置知识 1.Specular Term 高光 2.Ambient Term 环境光照项 3.最终的成像公式 2.着色频率 1.Flat s ...

  5. UE5 Shader基础学习笔记——01-12 图形管线/创建shader/数学节点/贴图压缩/LerpDotUV/常用向量/坐标空间/MinMaxClampSaturate/法线贴图混合

    UE5 Shader基础学习笔记--01-12 图形管线/创建shader/数学节点/贴图压缩/LerpDotUV/常用向量/坐标空间/MinMaxClampSaturate/法线贴图混合 Lec01 ...

  6. c语言图形方式初始化,c语言图形方式下的编程.doc

    c语言图形方式下的编程.doc C语言图形方式下的编程 学习目标 ·了解PC显示系统的结构 ·C语言图形初始化的一般方法 ·C语言常用的图形处理函数 显示系统简介 PC机显示系统一般是由显示器和显示卡 ...

  7. Linux指令:AWK - 可编程流编辑器

    Table of Contents awk功能 线路寻址 预定义的awk值 变数 条件和循环 推荐阅读:<Linux指令:sed和awk指令> 在详细介绍了sed 之后,还很了解awk(g ...

  8. 着色 Shading,漫反射,高光,环境光,Blinn-Phong 反射模型,Flat Shading,Gouraud Shading,图形管线 Graphics Pipeline渲染总结

    着色 Shading shading:The darkening or coloring of an illustration or diagram with parrel lines or a bl ...

  9. 认清GPU的流处理器作用

    卖场中,一位装机技术员侃侃而谈:" NVIDIA最新的GTX275显卡核心只有240个流处理器, ATI的HD4890显卡核心却有800个流处理器,你要最高性能的显卡,当然要选HD4890显 ...

最新文章

  1. 虚拟机网络连接方式linuxcentos
  2. c语言基本类型学习小结
  3. hashMap怎么解决hash冲突的
  4. xml教程之约束schema
  5. 【选型】项目方案总体设计--选型
  6. 特征提取、特征描述、特征匹配的通俗解释
  7. 开源GIS(十二)——openlayers中加载切片原理
  8. mpls 跨域 optionA 配置实例
  9. 使用fiddler抓取安卓模拟器包
  10. Mac上最好用的HTML文本编辑器BBEdit下载安装教程
  11. RIP、OSPF、ISIS协议的区别
  12. Android Glide清除缓存图片 你可能不知道
  13. html div 360旋转动画效果,分享4种CSS3效果(360度旋转、旋转放大、放大、移动)
  14. C/C++ 内部收益率
  15. oracle几何体数据类型,4.2 SDO_GEOMETRY类型、属性和值
  16. idea常用方法和快捷键
  17. MikTex + VS Code 配置教程
  18. 跟我学Kafka:Kafka消费组运维详解
  19. 接口测试-如何测试需要登录的接口
  20. 微信小程序/网站 上传图片到腾讯云COS

热门文章

  1. 搜狗浏览器功能规划评析
  2. BAE 升级discuz x2.5 论坛安全问题的方式
  3. VulnHub-Lord Of The Root_1.0.1-靶机渗透学习
  4. CentOS下利用Docker部署Surging
  5. Flink中增量聚合函数和全量聚合函数的关系
  6. Activiti7.1.0.M6
  7. 用HTML+CSS制作一个立方体
  8. javascript 时间戳判断日期
  9. 计算机科学导论算绩点吗,这个应该可以计算通信大一期末的平均学分绩点吧。...
  10. SAS用K-Means 聚类最优k值的选取和分析