




已阅读5页,还剩78页未读, 继续免费阅读
(计算机应用技术专业论文)基于gpu的超大规模地形实时绘制技术.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毡乙“i _ 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:盏趁墨 日期:彦,珲多月瑁 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名: 趁盗刍 导师签名: 日期:d o v 年6 月徊 摘要 摘要 地形绘制有着广泛的运用,室外场景的交互式渲染在可视化应用中有着重要 的地位,如游戏开发、航空模拟、外景探测等。随着绘制场景越来越复杂,绘制 的地形也就越来越大。特别是在虚拟战场中,地形场景一般由几百万甚至更多的 三角形构成。非常庞大的数据量,远远超出了一般图形硬件的实时处理能力和内 存容量;另外,图形显卡的绘制能力虽然有了很多的提高,但是它相对于如此庞 大的三角形绘制来说,是相当有限的。这两点成为地形绘制应用所面临的最大挑 战。要想能够实时、交互绘制,必须对大规模地形场景进行简化,必须对庞大的 数据进行有效的管理。为此,学者们提出了很多优秀的算法。但是随着新一代的 显卡绘制能力不断增加,原有的地形算法已经不能够满足用户的需求。 在过去,很多地形绘制算法都依赖于c p u ,但是对于新一代的图像显卡来说,减 少绘制三角形处理的开销甚至超过这些三角形被绘制的开销。近年来,学者们不 再一味追求减少绘制三角形,而是转向如何充分利用g p u 来绘制地形。 本文主要涉及到地形绘制和地形的数据管理这两个方面。本文的算法是基于 g e o m e t r yc l i p m a p 算法,这个算法可以渲染大规模地形。它是由l o s a s s o 和h o p p e 在2 0 0 4 年提出的。a s i r v a t h a m 和h o p p e 在2 0 0 5 年对它进行了改进,使之能够充 分利用g p u 。本人对g e o m e t r yc l i p m a d 的c l i p m a p 的尺寸、顶点和索引缓冲区构 建、裂缝消除等方面,进行了改进。在地形数据管理方面,使用了预调度算法、 多线程调度模式进行数据调度。为了降低c p u 的带宽,本文把地形划分为不同精 细度的地形块。把这些块保存到外存中,当可见的时候,再调度到内存中。 最后,在g l i t c h 引擎基础之上,实现了一个基于g p u 的超大规模地形场景绘 制框架。本框架利用了g p u 的顶点索引缓冲、顶点采用、绘制到纹理、几何实例 等技术,使得c p u 从地形绘制方面解放出来,更多的进行物理模拟、a i 运算。 关键字:l o d ,g e o m e r yc ii p m a p ,多线程,实时绘制 - , a b s t r a c t a b s t r a c t t e r r a i nr e n d i n gh a saw i d er a n g eo fa p p l i c a t i o n s i n t e r a c t i v ev i s u a l i z a t i o no f l a n d s c a p ea n do u t d o o rg r a p h i c se n v i r o n m e n t si si m p o r t a n tf o rg r a p h i c sa p p l i c a t i o n s s u c ha l sc o m p u t e rg a m e s ,f l i g h ts i m u l a t o r s ,a n dv i r t u a le x p l o r a t i o no fr e m o t ep l a n e t s w i t ht h ei n c r e a s i n go fc o m p l e x i t yo ft h es c e n e ,t h ea m o u n to fd a t at ob er e n d e r e d b e c o m e sl a r g e r ,e s p e c i a l l yv i r t u a lb a t t l e f i e l d ,t h el a n d s c a p ei sm a d eu pb ym i l l i o n so f t r i a n g l e s i na d d i t i o n ,t h ec a p a b i l i t yo fg r a p h i c sc a r d sh a v ei m p r o v e db u tn o ts a t i s f y t e r r a i nr e n d e r i n g 、sn e e d s ot h ea p p l i c a t i o n st h a th a v et or e n d e r i n gt e r r a i na r ef a c i n g t h et w oc h a l l e n g e :t e r r a i n se x c e e dt h er e n d e r i n gc a p a b i l i t yo fa v a i l a b l eg r a p h i c s h a r d w a r e ,l a r g et e r r a i nd a t a s e t sa l - e n 、tf i l l e di nm e m o r yb e c a u s ep cm e m o r yi sv e r y s m a l lc o m p a r e dw i t ht e r r i nd a t a s e t s t oi m p r o v et h er e n d e r i n gf r a m er a t e ,w em u s t d e s i g naa l g o r i t h mt h a tc a ns i m p l i f yt h et e r r a i n w h i l eg r a p h i c sh a r d w a r ei sv e r y d e v e l o p e df a s t ,t e r r a i ns i m p l i f i c a t i o na l g o r i t h mi n v e n t e di nt h ep a s ta r e n o ts u i t a b l et o b eu s e di ng p u b a s e dg r a p h i c sp r o c e s s i n gf r a m e w o r ka n y m o r e i nt h ep a s t ,ag r e a tn u m b e ro fs i m p l i f i c a t i o na l g o r i t h md e p e n do nc p u ,b u tt h e d r a w b a c ki st h a tt h et i m eo fc u l l i n gat r i a n g l ee x c e e dt h et i m eo fr e n d e r i n gi tb e c a u s e t h ec u r r e n tg r a p h i c sc a r dc a nr e n d e rm i l l i o n so ft r i a n g l e si nas e c o n d n o wt h ef o c u so f t e r r a i nr e n d e r i n gi sh o wt ot a k ea d v a n t a g eo fg p ui n s t e a do fh o wt or e d u c et h en u m b e r o f r e n d e r i n gt r i a n g l e i nm yw o r k ,a ni m p r o v e da l g o r i t h ma n dt h em a n a g e m e n to ft e r r a i nd a t e a r e i n t r o d u c e d o u ra l g o r i t h mi sb a s e do nt h eg e o m e t r yc l i p m a pa l g o r i t h mt h a ta l l o w st o r e n d e rv e r yl a r g et e r r a i nd a t aw i t h o u tl o s i n gp e r f o r m a n c e t h i sa l g o r i t h mi sd e v e l o p e d b yl o s a s s oa n dh o p p e i n2 0 0 4 a s i r v a t h a ma n dh o p p eh a v ei m p r o v e dt h i sa l g o r i t h m si n 2 0 0 5t h a tc a nf u l lt a k ea d v a n t a g eo ft h ec a p a b i l i t yo fm o d e r ng r a p h i c sh a r d w a r e i i m p r o v et h i sa l g o r i t h mi nt h i sa s p e c t s ,c l i p m a ps i z e ,h o wt oe l i m i n a t et - c r a c ka n ds o o i l i nm a n a g e m e n to fd a t a ,w eu s em u l t i t h r e a d i n gd a t as c h e d u l e t or e d u c ec o m p u t a t i o n l o a do nt h eb u s yc p u ,ip a r t i t i o nt h et e r r a i ni n t op a t c h e sa td i f f e r e n tr e s o l u t i o n s e v e r y p a t c hi ss a v e di nd i s ka n d i sm o v e di n t om e m o r yw h e ni ti sv i s i b l e a t1 a s t id e s i g nat e r r a i nf r a m e w o r kb a s e do ng l i t c he n g i n e i tc a nf u l lt a k e a d v a n t a g eo fg p u ,f o re x a m p l e ,g p uv e r t e xa n di n d e xb u f f e r ,v e r t e xs a m p l e r ,r e n d e r t o t e x t u r e ,g e o m e t r yi n s t a n c i n ga n ds oo i l i td o n 、tt a k eu pc p u t i m e ,s oc p ut a i ld e a l w i t ha ia n dp h y s i c ss i m u l a t i o n k e ”v o r d :l o d ,g e o m e t r yc l i p m a p ,m u l t i t h r e a d i n g ,r e a l - t i m er e n d e r i n g - 目录 目录 第一章绪论j 1 1 1课题背景1 1 2 论文研究的内容以及主要贡献3 1 3 本文的组织结构4 第二章g p u 的发展6 2 1g p u 的绘制流程6 2 1 1 顶点生成7 2 1 2 顶点处理7 2 1 3图元生成7 2 1 4 片元处理:7 2 1 5 像素操作。7 2 2 着色器8 2 3g p u 的发展阶段9 2 4s h a d e rm o d e l3 0 的特点1 0 2 5g p u 的性能瓶颈。1 2 2 6 本章小结1 3 第三章地形绘制技术的概述1 4 3 1 传统的地形绘制算法1 4 3 1 1四叉树1 5 3 1 。2 二叉树1 6 3 1 3非规则网格18 3 2 批量地形绘制算法18 3 3 d i s p l a c e m e n tm a p 地形绘制l9 3 4 本章小结2 0 第四章基于g e o m e t r ye l i p m a p 的绘制算法2 1 4 1t e x t u r ec l i p m a p s 算法2 l 4 2 g e o m e t r yc l i p m a p 概述。2 2 4 3 c l i p m a p 尺寸2 3 t v 目录 4 4 格子空间大小2 4 4 5 顶点和索引缓冲2 5 4 6d r a wp r i m i t i v e 的调用2 7 4 7 纹理打包3 2 4 8 更新3 3 4 9 裂缝消除3 6 4 1 0 其他数据4 1 4 1 1l o d 误差评价因子4 2 4 1 2 消除p o p i n g 4 5 4 13 对比4 5 4 1 4 本章小结4 6 第五章超大规模地形数据管理。4 7 5 1 地形数据划分算法4 7 5 2 数据调度算法5 0 5 2 1 静态调度算法5 2 5 2 2 动态调度算法5 2 5 3 服务器端与客户端数据管理与调度算法5 3 5 3 1简述5 3 5 3 2 服务器端地形数据管理5 3 5 3 3客户端服务器数据表5 4 5 3 4 地形数据请求调度算法5 4 5 3 5 客户端缓冲池管理5 5 5 4 本章小结5 7 第六章地形渲染模块的实现5 8 6 1 天空盒的实现5 8 6 2 整体框架结构5 9 6 3 实验流程6 1 6 3 1 数据准备6 1 6 3 2实现细节6 2 6 4 实验分析6 3 第七章总结和展望6 7 7 1总结6 7 v 目录 7 2 展望6 7 致谢6 9 参考文献j 7 0 v 1 第一章绪论 1 1 课题背景 第一章绪论 一直以来,超大规模地形实时绘制都是计算机图形学、虚拟现实和仿真领域 研究的重点和热点。地形能够通过高程图、真实的三角形网格等方法来构建。真 实的三角形网格不易于组织和管理,并且浪费存储空间,所以很多地形绘制引擎 都采用了高程图来保存地形的高程数据。高程图的颜色可以反映地形的高度,颜 色越深,表示该区域越低;相反,表示该区域越高。利用高程图来保存数据,有 利于使用程序生成、航拍等方式来构建一个地形区域。图i - i 表示一张高程图以 及由这张高程图所生成的地形块。 图卜1 网格与地形的对照图 在游戏开发过程中,高程图一般是通过程序的方式来生成而得到的,程序生 成算法一般包括两种:f r a c t a lt e r r a i ng e n e r a t i o n n l 和m i d p o i n t d i s p l a c e m e n t 乜3 。现在很多游戏,特别是手机游戏、网页游戏等,都利用这种方式。 使用特定的地形生成算法,当给定特定的随机值,它所生成的地形是一样的。这 种方式可以极大的节约外部存储和网络带宽。但是由程序所生成的地形区域毕竟 是有限的,即使可以实现无限大的地形,它的地形的复杂度也是非常有限的,很 多都是重复的地形面貌。另外它不能够反映真实的地貌,使得使用程序生成地形 的方式有很多局限性。 在航拍时,在阳光的照射下,越高的地方可见度就越高,颜色就越浅,越低 的地方,相应的能见度也就越低,颜色也就越深。把地形的高低转换为高层图颜 色的深浅,它能够真实反映该区域的地形地貌。所以它的运用非常广泛,如航空 模拟训练、流域分析、防洪减灾分析、洪水演进、土木工程应用等提高了直观、 方便的方式。 电子科技大学硕士学位论文 不论是游戏开发还是航空模拟训练,都希望地形可以与用户实时地交互并实 时地呈现到用户的面前。但是,实时地地形绘制和交互面临两个重要问题: ( 1 ) 原始几何模型数据量非常庞大,这些庞大的数据量已经远远超过了显卡 的绘制能力和内存的容量,仅仅覆盖数平方公里的模型就包含千万级甚至更多的 多边形:最为直接、最为精确的绘制方式就是一次性绘制所有的数据。比如像一张 高程度,在绘制地形的时候把所有的细节都绘制出来,但是这样增加了绘制时间 和内存开销。在目前的计算机还不能够为此提供足够的资源。我们以3 2 位w i n d o w s 为例,c p u 的寻址空间为4 g b ,这也是最大的虚拟空间,减去系统占用的2 g b ,最多 还有2 g b 供程序使用( 注意,最优的情况下可以把系统的内存占用量减少到1 g b , 还剩下3 g b 供程序使用) ,但是相对于现在成t b 的地形数据量来说,这点空间就 显得微乎其微。由于地形数据量异常庞大,对于目前的计算机内存来说,一次性 加入内存并长期驻留是不可能的事情。 ( 2 ) 虽然目前计算图形显示技术及其他计算机硬件技术得到了飞速的发展, 现代的g p u 能够在一秒内绘制几百兆的三角形数量,但是仍然不能够满足高精度、 复杂的地形模型绘制和动态交互的需求。一个没有简化的地形,一次性要求绘制 几万兆的三角形数量是很常见的。也就是说,没有任何简化的强制绘制超大规模 的地形不论对于过去还是现在的图形显卡来说,都是一件不可能的事情。 为解决g p u 不能够实时绘制庞大数量的三角形,学者们不断的寻求对地形的 简化算法,根据角色的视点,在不影响视觉的情况下,使用简化的地形模型来代 替原有的地形,剔除视点看不见的三角形。多年来,学者们提出了很多方法。这 些方法大体可以归结为两类。一类方法是采用视点相关自适应层次细节技术( l o d ) 简化整个场景的复杂度,用一个根据视点近似于原来的模型来代替原来的模型进 行绘制,同时又要尽量减小由于简化而引起地失真,l o d 可以在很大程度上减少三 角形绘制。纹理同样可以采用l o d 技术,来减少内存。因为对于远处的大部分场景, 使用低分辨率的纹理映射就足够了,使用精细的纹理反而容易引起锯齿,离视点 远的物体将不停的闪烁,引起视觉失真。另一类方法是采用可见性剔除技术,包括 视域剔除、背向面剔除和遮挡剔除。人类的眼睛所观察到得距离、角度是有限的。 在进行漫游时,视点离地面较近,视线方向几乎水平,地形场景具有很长的景深。因 此,大部分算法都是针对此种情况进行遮挡计算以剔除对最终成像无效的场景部 分,优化场景组织,实现近似o u t p u t s e n s i ti v e 的绘制,虽然遮挡算法很诱人,但 是必须要得到硬件的支持。 为了解决庞大的数据不能够一次性装入内存中,很多学者提出了自己的数据 2 第一章绪论 管理方案。虽然数据量非常庞大,但是人们的视野是有限的。当接近地面时,即 使在晴朗的天空环境下,也只能够看见几公里范围的区域。当远离地面时,虽然 能够看见一个很大的区域,但是人眼的分辨率却是有限的。根据人眼的这些特点, 学者把大的地形区域划分成很多小块。当角色的视点可以在地形垂直方向移动时, 必须为地形绘制准备不同精度的数据,这些不同精度的数据同样可以划分成小块, 把这些不同精度的小块连接在一起,就可以形成一个金字塔状的结构。在地形绘 制时,根据人的视野,把相应的区域调入内存中进行绘制。在9 8 年,l i n d s t r o m 提出了利用四叉树及三角形二叉树来组织不同细节层次的地形数据,并利用多线 程机制来进行调度,这些数据是通过一颗四叉树来组织管理,四叉树中的每一层 节点都代表具有不同分辨率的地形块。同时,h o p p e 提出了递进网格的层次模型, 根据视点及相关的参数来调入相应的数据。在2 0 0 1 年,l i n d s t r o m 又提出了交叉 存取四叉树模型,他把内存地址空间与磁盘的数据连续起来,然后利用内存的映 射文件机制来管理数据。在2 0 0 2 年,x i a o h o n gb a o 口1 提出了一种基于细节层次的 聚集技术,该方法虽然利用一定的数据减少了调入内存的数据量,但是为了实现 其方法引人的数据结构占用了过多的数据结构,抵消了其算法的优点,使得效果不 太明显。 硬件是软件的载体,硬件的发展推动着软件的不断更新。虽然有些算法在某 个时期很实用,但是由于新的硬件技术的引入,它的效果就应该另着评估了。传 统的l o d 算法,有一个共同的特点,那就是很大程度上依赖于c p u 的计算,即使 采用了最优秀的l o d 算法,绘制帧率也不会有明显的提高。随着最新图形硬件的 普及和绘制能力的提高,绘制一个三角的开销已经比选择一个三角进行绘制带来 的开销小得多。这些传统的l o d 算法已经不能够很好的适应现代g p u 的处理能力。 过多的d p 调用使得g p u 大多数时间处于闲置状态,从而不能够达到理想的绘制效 果。当今的图形显卡每秒钟绘制1 0 0 m 的三角形,已经很常见了。所以尽量减少三 角形的传输次数,增加每次绘制的三角形数量,可以充分利用现在的图形显卡。 基于这种思想,很多学者在传统算法的基础上,提出了批l o d 。 1 2 论文研究的内容以及主要贡献 由于g p u 的快速发展,使得很多新的技术不断涌现。这些新的技术在硬件开 发商口里,是相当诱人的,使你不断的掏出口袋里的钱,去更新你的图形显卡, 来欣赏更优质的画面带来的视觉冲击。但是并不是每一人都是幸运的。新的图形 电子科技大学硕士学位论文 显卡的普及是需要时间和成本的,所以本文的算法是基于s h a d e rm o d e l3 o ,充 分利用s h a d e rm o d e l3 0 的特点,权衡c p u 和g p u 的职责,提高地形绘制的帧率, 是本文的重点和难点,也是本文的创新的动力。 本人在实验室和实习期间,都在研究有关图形渲染引擎。在实习期间,参与 实习公司的图形引擎项目的研发,在开发引擎项目中,除了完成引擎的渲染模块 以及3 d s m a x 插件外,主要负责的是地形渲染模块。本文的主要成果在于地形渲染 模块能够很好的融入引擎中,渲染速度和整个引擎的性能都很不错。 本人深入研究了g e o m e t r yc l i p m a p 算法和现代g p u 的特点之后,提出了自己 的改进算法。本文的主要贡献有: 1 ) 本文对其g e o m e t r yc l i p m a p 进行了改进。 2 ) 本文使用了r t t 技术对纹理进行打包处理。 3 ) 本文引入了g e o m e t r yi n s t a n c i n g 方法来打包绘制 4 ) 本文实现了一个新的图像划分方法。 5 ) 本文实现了一个地形绘制框架。 6 ) 本文产用t r a n g l e s t r i p 来绘制地形。 1 3 本文的组织结构 为了很好的阐述论文,我把本文的内容安排如下: 第一章为绪论。介绍了背景和本文的贡献之处。 第二章为g p u 的发展。由于硬件是软件的载体,g p u 的迅速发展使得算法不断 的改进。在这一章中,主要介绍g p u 的绘制流程、g p u 的发展历程、s h a d e rm o d e l 3 0 新的特点及其g p u 的性能瓶颈。介绍了第四章要用到的g e o m e t r yi n s t a n c i n g 技术和r e n d e rt ot e x t u r e 技术。这两个技术是本文中的核心技术,改进的地形 绘制算法都是基于这两个技术来实现的。这两个技术需要得到硬件的支持,所以 在参考本文之前,你得查询下你的显卡是否支持这两个技术。 第三章为地形绘制技术的概述。每一个新的技术都不可能凭空出现,都是在 前辈的基础之上不断的发展,不断的改进而得来的。在本章中,粗略介绍了地形 绘制技术的发展。 第四章为基于g e o m e t r yc l i p m a p 的绘制算法,第五章为超大规模地形数据管 理。这两章是本文中的核心章节,介绍了算法的改进和数据的调度,并且讨论了 如何实现。第二章和第三章都是为第四章和第五章提供了理论基础,很多技术都 4 第一章绪论 在这两章中用到。 第六章为地形模块的实现。这里介绍了第四章和第五章实现的整体框架以及 实验的分析。第七章为总结和展望。在这一章中,总结了在实现这个地形框架的 经验和教训,还有完成本论文的收获。并对以后的研究提出了改进之处和需要完 善的地方。 最后为致谢和参考文献。 电子科技大学硕士学位论文 第二章g p u 的发展 自1 9 9 9 年n v i d i a 发布第一款g p u 以来,g p u 4 1 【5 】的发展就一直保持了很高 的速度。为了实时生成逼真3 d 图形,g p u 不仅采用了最先进的半导体制造工艺, 在设计上也不断创新。传统上,g p u 的强大处理能力只被用于3 d 图像绘制,应 用领域受到了限制。随着以c u d a 为代表的g p u 通用计算a p i 的普及,g p u 在 计算机中的作用将更加重要,g p u 的含义也可能从图形处理器( g r a p h i c p r o c e s s i n g u m t ) 扩展为通用处理器( g e n e r a lp u r p o s eu n i t ) 。 2 1g p u 的绘制流程 g p u 的绘制流水线的主要任务是完成3 d 模型到图像的绘制工作。常用的图 形学a p i ( d i r e c t 3 d o p e n g l ) 编程模型中的绘制过程被分为几个可以并行处理的 阶段,分别由g p u 中绘制流水线的不同单元进行处理。g p u 输入的模型是数据结 构( 或语言) 定义的对三维物体的描述,包括几何、方向、物体表面材质以及光 源所在位置等;而g p u 输出的图像则是从观察点对3 d 场景观测到的二维图像。 在g p u 绘制流水线的不同阶段,需要处理的对象分别是顶点( v e r t e x ) 、片元 ( f r a g m e n t ) 、像素( p i x e l ) 。如图2 1 所示。典型的绘制过程可以分为以下几个阶 段: 胃? _ 。了?f 。y 一 二二。i 。,+ t b 毫l 一:,;:i o 毒! 。一二。地i 。+ :。 釜,龟。:。j tt ,: 顶点 着色 阶段 :i f :”:? 一r cf_ 4 一 j 口- h # 一| 1 一t o j 。;o & :二。:、。 舛一,挚。下叶一 t _ 7 、罩j瓢、_ 了 : 鼠一。j ? :,。二 e 。:。,i 。一一_ o 罗j ? 。一e 墨耋i 。一矗。:着色参二。一* ? 一:,三, 阶段 ”;r 。一。一= : k , 已二。j , 图2 - 1g p u 的流水线模型 6 第二章g p u 的发展 2 1 1 顶点生成 图形学a p i 用简单的图元( 点、线、三角形) 表示物体表面。每个顶点除了 ( x , y , z ) - - 维坐标属性外还有应用程序自定义属性,如位置、颜色、法线等。顶点生 成时通过应用程序使用c p u 来完成的,然后把这些数据上传到g p u 中,使之能 够绘制出来。 2 1 2 顶点处理 本阶段主要是通过计算三维顶点坐标映射到二维屏幕,计算各顶点的颜色值 等。这个阶段是可编程的,由v e r t e xs h a d e r 完成。输入与输出一一对应,即有多 少个顶点被处理,就有多少个点被输出,这些点与点之间是完全对立的,互不干 涉和影响。 2 1 3 图元生成 根据应用程序定义的顶点拓扑逻辑,把上阶段输出的顶点组织起来形成有序 的图元流。顶点拓扑逻辑定义了图元在输出流中的顺序,一个图元记录由若干顶 点记录组成。这个过程就是把上面过程中处理后的点,根据应用程序指定的方式, 重新连接在一起,以此来形成一个一个的图元。当一个图元在视景外时,会比剔 除;如果这个图元刚好跨越视景时,将会被重新组合。当图元重组后,将进行每 一个图元在屏幕空间进行采用,即光栅化。每一个采用对应一个片元记录,记录 该采样点在屏幕空间中的位置、与视点之间的距离以及通过插值获得的顶点属性 盘譬 专f o 2 1 4 片元处理 片元处理阶段是可编程的,由p i x e ls h a d e r 完成,主要完成图形的填充功能。 模拟光线和物体编码的交互作用,决定每个片元的颜色及透明程度等属性。 2 1 5 像素操作 用每个片元的屏幕坐标来计算该片元对最终生成图像上的像素的影响程度。 本阶段计算每个采用点离视点的距离,丢弃被遮挡住的像素。当来自多个图元的 片影响同一个像素时,往往都根据图元处理输出流中定义的图元位置进行像素更 电子科技大学硕士学位论文 新。 下面以绘制一个人物的模型为例来说明g p u 图形流水线的工作流程。首先, c p u 上传人物模型的顶点数据、索引数据、纹理数据等,并设置绘制状态;其次, 从显存读取描述人物3 d 外观的顶点数据,由v e r t e xs h a d e r 计算3 d 坐标和光照计 算;随后,g p u 中的固定功能单元对这些顶点按照索引的方式重新构造成三角形, 进行光栅化,生成相应的片元集合;由p i x e ls h a d e r 从显存中读取纹理数据对片元 上色和绘制;最后一个阶段,由硬件来做相应的像素操作,比如z 比较、a l p h a 比 较等等,判读是否可以写入颜色缓冲区。由r o p 完成像素到帧缓冲区的输出,帧 缓冲区中的数据经过d a 输出到显示器上以后,就可以看到绘制完成的人物图像 了。 图形绘制过程具有内在的并行性:顶点之间、片元之间的数据相关性很弱, 对它们的计算可以独立并行进行。这使得通过并行处理提高吞吐量成为可能 首先,绘制流水线具有时间上的功能并行。流水线的各级可以同时工作,当 各级都能满负荷工作时,能够获得最高性能。 其次,绘制流水线具有数据并行性。不仅可以通过s i m d 提高每一个可编程 着色器的性能,还可以在一个g p u 内集成多条绘制流水线实现更高的吞吐量。 2 2 着色器 在图形绘制中,g p u 中的可编程计算单元被称为着色器( s h a d e r ) ,着色器的 性能由d i r e c t x 4 】中规定的s h a d e rm o d e l 来区分。g p u 中最主要的可编程单元是顶 点着色器和像素着色器。顶点着色器主要是代替固定管线中顶点变换和光照计算 着两大功能,在顶点着色器中,我们可以按照艺术家的意图来改变顶点的位置、 颜色等等;而像素着色器代替了传统硬件的着色方式,根据自己的意愿,来改变 着色方式。 传统的分离架构中两种着色器的比例是固定的。在g p u 核心设计完成时,各 种着色器的数量便确定下来,比如著名的”黄金比例”一顶点着色器与像素着色器数 量为1 :3 。但不同的游戏对顶点着色器和像素着色器计算能力的需求是不同的, 如果场景中有大量的小三角形,顶点着色器就必须满负荷工作,而像素着色器则 会被闲置;如果场景中只有少量的大三角形,又会发生相反的情况。因此,固定 比例的设计无法完全发挥g p u 中所有计算单元的性能。 两种着色器的架构既有相同之处,又有一些不同。两者处理的都是四元组数 第二章g p u 的发展 据( 顶点着色器处理用于表示坐标的w 、x 、y 、z ,但像素着色器处理用于表示颜 色的a 、r 、g 、b ) 顶点绘制,需要比较高的计算精度;而像素绘制则可以使用较 低的精度,从而可以增加在单位面积上的算术单元数量。在s h a d e rm o d e l4 0 前, 两种着色器的精度都在不断提高,但同时期顶点着色器的精度要高于像素着色器。 2 3g p u 的发展阶段 n v i d i a 3 】公司是全球视觉计算技术的行业领袖及g p u 的发明者。作为高性能 处理器的g p u 可在工作站、个人计算机、游戏机和移动设备上生成令人叹为观止 的互动图形效果。 1 9 9 3 年,黄仁勋与c u r t i sp r i e m 和c h r i sm a l a c h o w s k y 共同成立了n v i d i a 公 司,在接下来的几年里研制了n v - 1 和n v - 2 显示芯片,并在市场上推出了自己的 产品,做出了最初的尝试。d a v i dk i r k 也在这一阶段加入了n v i d i a 。 1 9 9 7 年,n v i d i a 发布了n v - 3 显示芯片,即r i v a 1 2 8 。r i v a 1 2 8 具有在当 时来说优秀的2 d 性能和不错的3 d 性能,在市场上获得了成功。与当时的p c i 接 口v o o d o o 图形加速卡相比,r i v a 1 2 8 是一块基于a g p 接口的完整的显卡。在1 9 9 7 年底,n v i d i a 又发布了r i v a 1 2 8 z x 和t n t 显示芯片。 1 9 9 9 年2 月,t n t - 2 显示芯片发布并投放市场。t n t - 2 具有当时最强大的3 d 图形性能,并且有面向不同市场的多个版本。t n t - 2 在市场上取得了空前的成功, 奠定了n v i d i a 在视觉计算领域的领导地位。 1 9 9 9 年8 月,n v i d i a 发布了全球第一颗g p u g e f o r c e 2 5 6 。它主要由两个 模块组成,一个是顶点转换和顶点光照处理器,由进行3 2 位浮点数运算的固定功 能单元组成;另一个是像素着色流水线( 或片元着色流水线) ,由进行定点数运算 的固定功能单元组成。g e f o r c e2 5 6 可以支持o p e n g l 和微软公司的d i r e c t x7 标 准a p i 接口。在d i r e c t x7 时代,n v i d i a 推出了g e f o r c e2 系列产品。 2 0 0 1 年,n v i d i a 推出了第一款拥有可编程顶点着色器的g p u g e f o r c e3 , 它使用了可编程的顶点处理器和不可编程的像素处理器( 或片元处理器) ,并且两 者都能完成3 2 b i t 单精度浮点运算。g e f o r c e3 可以支持d i r e c t x8 和o p e n g l a p i 。 在d i r e c t x8 时代,n v i d i a 的主要产品是g e f o r c e3 系列和g e f o r c e4 系列,以及 面向低端市场的g e f o r c em x 系列,其中g e f o r c em x 系列只支持d i r e c t x7 。 2 0 0 2 年,n v i d i a 推出的g e f o r c ef x 是第一款使用3 2 位浮点流水线作为可编 程的顶点处理器的g p u ,可以支持d i r e c t x9 0 ,呈现电影级画质。随后几年推出 9 电子科技大学硕士学位论文 的g e f o r c e6 系列和g e f o r c e7 系列能够支持d i r e c t x9 0 c a p i ,改进了着色引擎, 能够支持更多的特效。 2 0 0 6 年的g e f o r c e8 系列g p u 率先采用了统一绘制架构,以通用绘制单元替 代了原来分离的顶点着色单元和像素着色单元,能够支持d i r e c r t x1 0 0 p j 。 2 0 0 7 年,c u d a 正式发布,引发了g p u 通用计算的革命。 2 0 0 8 年,n v i d i a 发布了能够支持c u d a 6 】, 7 1 计算能力1 1 的g e f o r c e9 系列 g p u ,以及支持c u d a 计算能力1 3 的g t 2 0 0g p u 。n v i d i a 在g t2 0 0 中引入了 大量重要改进,使得g t 2 0 0 不仅具有极高的处理能力和存储器带宽,用于通用计 算时的可编程性和灵活性也更加出色。 目前,n v i d i a 在桌面、专业设计、高性能计算及嵌入式等不同领域推出了性 能出众的g p u 产品,分别对应不同的产品线。 g e f o r c e 系列主要面向家庭和企业的娱乐应用,能够为用户提供身临其境的视 觉体验。该系列又可以分为面向性能的g t x 系列,面向主流市场的g t s 和g t 系 列,以及具有高性价比的g s 系列。 q u a d r o 系列主要应用于图形工作站中,对专业领域应用进行了专门优化。 q u a d r o 系列按照不同应用领域划分,有为a u t o c a d 设计优化的v x 系列,为专业 图形绘制优化的f x 系列,用于移动和专业显示的n v s 系列,以及为图像和视频 应用优化的c x 系列。 t e s l a 系列是专门用于高性能通用计算的产品线,以有限的体积和功耗实现了 强大的处理能力。t e s l a 系列包括以扩展卡形式安装的c 系列,包含两个g p u 的d 系列和包含4 个g p u 的s 系列,以及将c p u 和g p u 安装于同一单元内的m 系列。 d 、s 和m 系列适合作为集群或者超级计算机的基本单元,而c 系列则可以为普 通研究人员提供强大的计算能力。 t e g r a 8 】系列是n v i d i a 为便携式和移动领域推出的全新解决方案,在极为有 限的面积上集成了通用处理器、g p u 、视频解码、网络、音频输入输出等功能, 并维持了极低的功耗。t e g r a 可以提供长达数天的续航能力及强大的图形和视频功 能,是一种革命性的新产品。未来t e g r a 系列产品可能引入g p u 通用 6 】计算功能, 这将极大地提高移动便携设备的计算能力和应用领域。 2 4s h a d e rm o d e l3 0 的特点 新的s h a d e rm o d e l3 o 【7 1 具备了下面的能力: 1 0 第二
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业购车按揭合同
- 2025【各类商业合作范本】-【专业合同协议模板库】国内专利技术转让合同
- 新人教版必修第四章《细胞的物质输入和输出》教学设计
- 公考西藏真题2025
- 2024年二年级品生下册《我喜欢美好的环境》说课稿 鄂教版
- 马鞍山事业单位笔试真题2025
- 化肥厂办公用品分类细则
- 居民健康医疗服务合同协议
- 高中语文 第四单元 第12课 飞向太空的航程说课稿1 新人教版必修1
- 5.1.降低化学反应活化能的酶教学设计-2023-2024学年高一上学期生物人教版必修一
- 养猪场安全生产应急预案
- 2025年党建工作应试题库及答案
- 2025秋部编版(2024)八年级上册语文上课课件 第三单元 阅读综合实践
- DBJ50-T-047-2024 建筑地基基础设计标准
- 用英语讲好中国故事课件
- 呼吸科出科小讲课
- 2025年中国红富士苹果市场深度调研研究报告
- 读书分享会红色书籍《保卫延安》课件
- 钢结构项目可行性研究报告(立项申请报告)模板
- 四川成都经济技术开发区(龙泉驿区)“蓉漂人才荟”招聘笔试题库2025
- 解除委托退费协议书
评论
0/150
提交评论