




已阅读5页,还剩64页未读, 继续免费阅读
(计算机应用技术专业论文)基于可编程图形硬件加速的若干技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学硕i 学位论文 摘要 摘要 目前图形硬件中的图形处理器f g p u ) 计算能力的增长速度已经超过了中央处理器 ( c e u ) 计算能力的增长速度,主流图形硬件制造商声称,现在每隔1 2 个月g p u 的性 能就会增k = 一倍。图形硬件技术一个最主要的突破就是在图形硬件中引入了可编程功 能,此功能允许用户编制自定义的着色器程序( s h a d e r p r o g r a m ) 来替换原来固定流水线 中的某些功能模块,使得g p u 在功能上更像一个通用处理器虽然g p u 具有非常高 的计算速度,但并不能直接将以前在c p u 中实现的算法照搬到g p u 中来执行,这是 因为g p u 的指令执行方式和c p u 不一+ 样,g p u 的体系结构是一种高度并行的单指令 多数据( s i m d ) j :旨令执行体系。所以要基于可编程图形硬件实现一些在c p u 中效率较 低的算法,就必须重新组织算法实现的数据结构和步骤,以充分利用g p u 并行处理 体系结构带来的性能优势。本文中的几种算法都基于可编程图形硬件实现,在达到实 时效率的同时保证了结果的质量。 本文中的研究工作主要包括以下几个方面: 1 实时体素化及其应用 提出了一种面向复杂几何模型的高效体素化方法。算法首先将几何模型依据各面 片的朝向将它们分别变换到三个离散的体空间,然后将每个体空间中生成的体素以二 维纹理的方式存储在三张工作表格( w o r k s h e e t ) 中,三张工作表格最终合并成为。张包 含全部体模型数据的工作表格。算法整个运行过程中只需要遍历初始几何模型一次。 由于整个运行过程全部在g p u 中实现,对于两百万面片数的几何模型算法能够达到实 时。该算法实现简单并且易于扩展到体建模、透明绘制、碰撞检测等许多具体应用中。 2 大尺寸点模型实时高质量绘制 提出了一种大尺寸点模型的自适应绘制算法。该算法在预处理阶段首先将点模型 分割为很多点片,建立每一个点片的层次结构并以线性二叉树的方式保存;在接下来 的绘制过程中对点模型分片进行处理,通过快速的可见性测试剔除掉不可见的点片, 可见的点片则会依据距离视点的远近选取合适的绘制模式在g p u 中实时绘制。算法 不仅充分发挥了g p u 的性能并且有效地均衡了g p u 和c p u 之间的负载。为解决大 尺寸模型数据量过大的问题,我们还提出了一种快速的压缩解压缩技术,可以将显存 中的绘制数据压缩8 倍以上。基于以上算法,可以在普通p c 平台上实现百万数量级 浙江人学硕士学位论文 摘要 点采样模型的实时高质量绘制。 3 实时阴影映射 阴影映射是一种基于图像空间的阴影绘制算法。该算法基于图形硬件提供的纹理 ( t e x t u r e ) 和深度缓存( d e p t hb u f f e r ) 等技术实现,依靠g p u 加速可以达到很高的绘制效 率。文中会详细介绍两种实时阴影映射的实现方法:普通基于g p u 实现的阴影映射 和硬件阴影映射。 在本文的最后,作者总结了自己关于可编程图形硬件技术的一些经验和体会,并 提出了些未来的研究方向。 关键词:g p u ;可编程图形硬件;体素化;实时绘制;点绘制;阴影 塑坚查堂塑土堂垡堡苎些! ! 坠 a b s t r a c t t h ec o m p u t a t i o np o w e ro ft h eg r a p h i c sp r o c e s s i n gu n i t ( g p u ) i nc u r r e n tc o m m o d i t y g r a p h i c sh a r d w a r ei si n c r e a s i n ga t f lm u c hf a s t e rr a t et h a nt h a to ft h ec e n t r a lp r o c e s s i n g u n i t ( c p u ) i nc o m p u t e rs y s t e m s t h ep r o j e c t e dt i m e t od o u b l ei ne f f i c i e n c yf o rt h eg p u i s q u o t e d t ob er o u g h l y1 2m o n t h sb yt h el e a d i n gg r a p h i c sc a r dm a n u f a c t u r e r s ar e c e n tm a j o r b r e a k t h r o u g h i n g r a p h i c s h a r d w a r e t e c h n o l o g y h a s b e e n t h ei n t r o d u c t i o no f p r o g r a m m a b i l i t y ;t h i sa l l o w s t h eu s e rt or e p l a c ep o r t i o n so f t h ef i x e dg r a p h i c sp i p e l i n ew i t h c u s t o m i z e ds h a d e rp r o g r a m se x p o s i n gt h ea b i l i t yo fg p u t of u n c t i o nm o r el i k eag e n e r a l p r o c e s s i n gu n i t i ns p i t eo f a l lt h er e n d e r i n gp o w e r , i ti sn o tp o s s i b l eo rm e a n i n g f u lt ou s e a l g o r i t h m sd e s i g n e dw i t hc p u i nm i n do ng r a p h i c sh a r d w a r e t h ee s s e n t i a ld i f f e r e n c ei s t h a tg p up r o v i d e sah i g h l y p a r a l l e ls i n g l e i n s t r u c t i o n m u l t i p l e d a t a s e t ( s i m d ) a r c h i t e c t u r e t h ek e yt o h a r n e s s i n g t h i sr e s o u r c ei s r e e n g i n e e r i n g t h e c o m p u t a t i o n a l l y e x p e n s i v ea l g o r i t h m s t ot a k e a d v a n t a g e o ft h i sa r c h i t e c t u r ea sw e l la s m a k i n gu s e o f r e n d e r i n go p t i m i z a t i o n sb u i l ti n t ot h ep r o g r a m m a b l eg r a p h i c sp i p e l i n e t h i st h e s i sp r e s e n t s s e v e r a ln o v e lg r a p h i c sa p p r o a c h e sw h i c hu t i l i z ep r o g r a m m a b l eg r a p h i c sh a r d w a r et oo b t a i n b o t hr e a l t i m ef l a m er a t ep e r f o r m a n c ea n dh i 曲q u a l i t yr e s u l t o u rr e s e a r c hw o r k si nt h i st h e s i sm a i n l yf o c u so nt h ef o l l o w i n ga s p e c t s : 1 r e a l - t i m ev o x e i i z a t i o nf o rc o m p l e xm o d d s w jp r e s e n ta ne f f i c i e n tv o x e l i z a t i o n a l g o r i t h mf o rc o m p l e xp o l y g o n a l m o d e l sb y e x p l o i t i n gn e w e s tp r o g r a m m a b l eg r a p h i c sh a r d w a r e w ef i r s tc o n v e r tt h em o d e li n t ot h r e e d i s c r e t ev o x e ls p a c e sa c c o r d i n gt oi t ss u r f a c eo r i e n t a t i o n n er e s u l t a n tv o x e l sa r ee n c o d e d a s2 dt e x t u r e sa n ds t o r e di nt h r e ei n t e m a e d i a t es h e e lb u r sc a l l e dd i r e c t i o n a ls h e e tb u f f e r s t h e s eb u f f e r sa r ef i n a l l y s y n t h e s i z e di n t o o n ew o r k s h e e t ,w h i c hr e c o r d st h ev o l u m e t r i c r e p r e s e n t a t i o no f t h et a r g e t t h ew h o l ea l g o r i t h mt r a v e r s e st h eg e o m e t r i cm o d e l o n l yo n c e a n di sa c c o m p l i s h e de n t i r e l yi ng p u ,a c h i e v i n gr e a l t i m ef r a m er a t ef o rm o d e l sw i t hu pt o 2m i l l i o nt r i a n g l e s ,t h ea l g o r i t h mi ss i m p l et oi m p l e m e n ta n dc a nb ei n t e g r a t e de a s i l yi n t o d i v e r s ea p p l i c a t i o n ss u c ha sv o l u m eb a s e dm o d e l i n g ,t r a n s p a r e n tr e n d e r i n ga n dc o l l i s i o n d e t e c t j o n 浙江大学硕士学位论文 a b s t r a c t 2 h i g hq u a i l t yr e a l - t i m er e n d e d n g o f l a r g e s c a l ep o i n tm o d e l h e r ew ei n t r o d u c ea l la d a p t i v er e n d e r i n ga l g o r i t h mf o rl a r g es c a l ep o i n tm o d e l s 7 f h e a l g o r i t h m f i r s ts u b d i v i d et h e t a r g e t m o d e li n t o m u l t i p l ep a t c h e s i n p r e p r o c e s s a h i e r a r c h i c a ls t r u c t u r ei sb u i l tf o re a c hp a t c ha n dt h e nc o n v e n e di n t oal i n e a rb i n a r yt r e e d u r i n gr e n d e r i n g ,t h em o d e l i sp r o c e s s e dp a t c hb yp a t c h f a s tv i s i b i l i t yd e c i s i o ni sm a d et o c u l li n v i s i b l e p a t c h e s v i s i b l ep a t c h e sa r ed i s p l a y e d i ng p ub y c h o o s i n ga p p r o p r i a t e r e n d e r i n gm o d e ,i e ,ad i s t a n c e d e p e n d e n ts t r a t e g y o u ra l g o r i t h mt a k e sf u l la d v a n t a g eo f g p ua n de f f e c t i v e l yb a l a n c e st h ew o r k l o a db e t w e e nc p ua n dg p u w ea l s op r o p o s eaf a s t c o m p r e s s i o n d e c o m p r e s s i o nt e c h n i q u e w h i c ha c h i e v e s8t i m e s c o m p r e s s i o n r a t i o t h e r e s u l t sd e m o n s t r a t eh i g hp e r f o r m a n c ea n di m a g eq u a l i t yr e n d e r i n gf o rl a r g es c a l ep o i n t m o d e 】si nc o n s u m e rp c 3 r e a l - t i m es h a d o w m a p p i n g s h a d o w m a p p i n g i sa ni m a g e b a s e ds h a d o w i n gt e c h n i q u e i ti sp a r t i c u l a r l ya m e n a b l et o h a r d w a r ei m p l e m e n t a t i o nb e c a u s ei tm a k e su s eo fh a r d w a r ef u n c t i o n n i t y t e x t u r i n ga n d d e p t hb u f f e r i n ge x i s t e d h e r ew ep r e s e n tt h ei m p l e m e n t a t i o np r o c e s so ft w or e a l t i m e s h a d o wm a p p i n gm e t h o d si nd e t a i l :c o m m o ng p u - b a s e ds h a d o wm a p p i n ga n dh a r d w a r e s h a d o wm a p p i n g f i n a l l y ,1s u m m a r i z em yo w n r e s e a r c he x p e r i e n c eo fp r o g r a l r m a a b l eg r a p h i c sp i p e l i n e a n dp r o p o s es o m e p o t e n t i a lr e s e a r c ht o p i c si nt h ef u t u r e k e yw o r d s :g p u ;p r o g r a m m a b l eg r a p h i c sh a r d w a r e ;v o x e l i z a t i o n ;r e a l - t i m er e n d e r i n g p o i n t b a s e dr e n d e r i n g ;s h a d o w m a p p i n g 浙江大学硕士学位论文 第一章可编程图形硬件技术综述 第一章可编程图形硬件技术综述 1 1 可编程图形硬件的发展 多年来计算机图形处理器( g r a p h i c sp r o c e s s o ru n i t ,g p u ) 以大大超过摩尔定律的 速度高速发展,极大地提高了计算机图形处理的速度和图形质量,并促进了计算机图 形相关应用领域的发展。 目前微机平台的图形处理器已经达到了非常高的性能,2 0 0 4 年,n v i d i ag e f o r c e 6 8 0 0u l t r a 图形处理器的处理能力已经可以达到4 0g i g a f l o p s ,而i n t e l3 g h zp e n t i u m4 采用最新的s s e 指令集也只能达到6g i g a f l o p s 。自从1 9 9 3 年以来,g p u 的性能以每 年2 8 倍的速度增长,估计这样的增长速度还可以维持5 年左右的时间,现在每隔半 年左右,新的一代g p u 的处理速度便会提高一倍1 。 图形处理器技术的迅速发展带来的并不只是处理速度的提高,还产生了很多全新 的图形硬件技术,其中最引人注目的便是在图形硬件处理管道的顶点处理和象素处理 模块中引入了可编程性,使得用户可以通过程序方式控制图形流水线的执行,极大地 扩展了图形处理器的能力和应用范围。图1 1 为一个最基本的可编程图形硬件的框架, 其中阴影模块代表可编程模块。 输入顶点 重日 隧顶点着色器弱匕= 隧黝。 生成象素 励翮 缓溺 图1 1 可编程的图形硬件框架 输出颜色值 匕 从上图可以看出,在顶点级操作上,引入了顶点着色器( v e r t e xs h a d e r ) 处理每个顶 点,用户可以通过自己编写代码实现专门的光照明模型。经过光栅化后,在象素处理 阶段,引入的象素着色器( p i x e ls h a d e r ) 可以实现对每个象索的可编程操作。顶点蓿色 器和象素着色器都是典型的流处理机( s t r e a mp r o c e s s o r ) ,这种流处理机和传统的向量 处理机的主要区别在于,它不具有大容量的快存,存储器可以读写,只是直接在芯片上 利用临时寄存器做流数据的操作。对于g p u 丽言,图形流数据分别是顶点图元以及 浙江大学颁十学位论文第一章可编程图形硬件技术综述 光栅化后的象素;根据图形处理的特点,g p u 流出里的元素为4 个单元的向量,可以 利用它来表示三维齐次坐标,三维空间齐次向量,颜色等数据,i f 是这种流处理机的 并行结构,实现了指令的并行处理,目前绝大部分的g p u 都拥有多条可以并行的 s h a d e r 管线,这种体系结构使得其不仅可咀用于高效图形绘制,而且可以成为通用并 行计算平台。 自从1 9 9 8 年以来,g p u 的功能迅速更新,平均每一年就有新的一代g p u 问世, 在现代g p u 概念出现以前,只有s i l i c o ng r a p h i c s ( s g i ) 等图形工作站上的特殊的硬件 才具有基于硬件的顶点变换和纹理映射功能。第一代图形处理器出现在1 9 9 8 年后期, 主要代表为n v i d i at n t 2 ,a t ir a g e 和3 d f xv o o d 0 0 3 ,这些处理器主要处理光栅化部 分,部分芯片支持多纹理,可以在光栅化过程中完成多幅纹理的融合操作;从1 9 9 9 年后期开始,第二代g p u ( n v i d i ag e f o r c e2 5 6 ,g e f o r c e2 和a t ir a d e o n7 5 0 0 ) i f f 以处 理顶点的矩阵变换和进行光照计算,但此时还没有出现真正的可编程功能;第三代 g p u 州v i d i ag e f o r c e3 ,g e f o r c e4 ,a t ir a d e o n8 5 0 0 ,大约2 0 0 1 年至2 0 0 2 年早期) 有了 重要的技术变革,此时图形硬件的流水线可以作为流处理器来解释,顶点级出现了可 编程性,象素级也出现了有限的可编程性,但在象素级程序中,访问纹理的方式和格 式受到一定限制,只有定点数可用;第四代g p u ( n v i d i a g e f o r c e f xs e r i e s ,a t i r a d e o n 9 7 0 0 9 8 0 0 ) 的顶点和象素可编程性更加通用化,依赖纹理更为灵活,可以索引方式访 问数据,g p u 具备了浮点功能,纹理中保存的值不再依赖于 0 ,1 范围,可以读写一般 的浮点数;最新的第五代g p u 以n v i d i ag e f o r c e6 8 0 0 为代表1 0 , 1 2 , 功能相对以前更 为丰富,灵活,顶点级程序可以访问纹理,支持程序的动态条件分支,象素级程序也 开始支持分支操作,如循环,i f e l s e 等,支持子函数调用,在纹理滤波和融合过程中 支持6 4 位的浮点精度,同时支持多个渲染目标。5 。 目前最新的可编程图形硬件已经具备了下列功能: ( 1 ) 在顶点级和像素级提供了灵活的可编程特性。 ( 2 ) 在顶点级和像素级运算上都支持i e e e3 2 位浮点运算,可进行高精度的绘制。 ( 3 ) 完全支持4 元向量的数据格式( 齐次坐标,法向等) ,方便了图形程序的设计 与开发。 ( 4 ) 具有高带宽的内存传输能力( 2 7 1 g b s ) ,具备强大的数据吞吐能力。 ( 5 ) 支持绘制到纹理的功能( r e n d e r t ot e x t u r e ) ,从而避免将中间绘制结果拷贝到 纹理这个费时的过程: ( 6 ) 支持依赖性纹理访问功能,以方便数据的索引访问,可以将纹理作为内存来 使用。 浙江人学硕土学位论文 第一章可编程图形硬件技术综述 1 2 可编程图形流水线功能介绍 可编程图形流水线的总体框架如图1 2 所示,左边用实线表示的流程就是传统的 图形流水线的流程;在这种通用的流水线中,首先经过顶点级的光照计算和坐标变换, 求出每个顶点的光照颜色值,同时还将顶点坐标从物体坐标系转换到裁剪空间( c l i p s p a c e ) 。然后,对每个三角形进行光栅化处理并将对三角形顶点的颜色进行双线性捅 值,得到了三角形中每个象素的颜色值。接着进行纹理映射,即根据每一个象素的 纹理坐标值将纹理图颜色分配到每个象素上。最后进行颜色混合计算( b l e n d i n g ) 和雾化 效果计算,得到的结果将会放进帧缓存( f r a m eb u f f e r ) 并显示到屏幕上。 目前的可编程的图形硬件中,除了光栅化这一部分依然保持固化的硬件实现不变 以外,其他部分都引入了可编程性。也就是图1 2 中的虚线部分“。 顶点着色器( v e r t e xs h a d e 0 的功能正是为了实现顶点的光照计算和坐标变换,在过 去的硬件中,人们只能实现一些固定的光照模型和坐标系转换计算,但是在现在的可 编程的图形硬件中,用户可以通过编写代码自由地设计自己所需要的光照模型和坐标 系转换计算公式,只要不超出硬件的功能即可。在1 2 1 节中,将专门对顶点着色器 作进一步的介绍。 至于象素着色器( p i x e ls h a d e r ) ,功能相对比较复杂,同时限制较多。它几乎包括 了所有光栅化以后的操作:采样纹理,颜色混合计算( b l e n d i n g ) 并h 雾化效果计算等,传 统图形硬件中每个顶点的纹理坐标值需要人工指定或者根据空间坐标来计算,而在 象素着色器中,允许采用多种纹理访问方式;每个象素的绘制信息( 例如,象素颜色值、 纹理坐标等) 均保存在寄存器中,象素着色器通过完成这些寄存器之间的加法,乘法或 者点积等运算操作,从而在象素级别上实现光照明模型的计算( p e r - p i x e ll i g h t i n g ) ”。 浙江大学硕士学位论文 第一章可编程图形硬件技术综述 1 2 1 顶点着色器 顶点数据 顶点法向颜色 l 一一一一雠 。l 、 r 顶点的光照计算i 【坐标变换l 、l 一上 f光栅化1 l 象 l f纹理采样f 、” j 一生、 | 颜色混合运算 lj 、 厂l f1 i 雾化效果计算f 、一 卜:= 一 f帧缓存1 、。, 理坐标 j ,、 i顶点着色器 ij 一, 图1 2 可编程图形流水线的总体框架 下面以2 0 版本的顶点着色器为例来分析其架构( 如图1 3 所示【3 ) 。其中所有的 寄存器长度都为4 4 字节,即r g b a # 4 - a , 分另j j m3 2 位的浮点数( 即4 个字节) 来存 储。输入的1 6 个寄存器通常用来保存顶点的绘制信息,包括顶点位置、法向或者颜 色值,也可以是由用户自己定义的信息,例如:权重、位移或者速度等等。至于输出的 15 个寄存器通常用来保存顶点着色器的运算结果,包括裁剪坐标系下的顶点位置、颜 浙江大学硕士学位论文 第一章口j 编程图形硬件技术综述 色值,雾化坐标值和纹理坐标等等,同样输出寄存器也可以存放用户自己定义的绘制 信息,比如:光照方向、视线方向等等,这些信息在三角形光栅化后经双线性插值生 成象素级的绘制信息。此外,还有9 6 个只读的常量数据寄存器以及1 2 个可读写寄存 器,其中只读的常量数据寄存器的赋值操作由c p u 控制,也就是通过外界函数调用 进行赋值,而可读写的寄存器则可在顶点绘制编程器的计算过程中作为临时寄存器使 用1 2 - 1 5 。 图1 3 顶点着色器( 2 o ) 系统框架 这些寄存器通常有固定的表达方式:输入寄存器为v n ,输出寄存器为o n ,常 量寄存器为c n 】,而可读写寄存器则为r n ,这里的n 就是具体的寄存器编号。如第十 号的输入寄存器就写作v 1 0 。而且每个寄存器都可以用x y z w 后缀名来访问寄存器中 的r g b a 各个分量,比如说:r 1 w 表示的就是第1 _ 号可读写寄存器的第四个分量一a 分量。 寄存器为s h a d e r 程序的执行提供了变量空间,但程序功能实现最核心的还是指 令集。不同版本的着色器对于指令长度的限制是不一样的,早期的顶点着色器只支持 1 2 8 条指令长度内的程序,也就是说,顶点着色器对于程序的复杂度是有限制的,2 0 浙江大学硕士学位论文 第一章可编程图形硬件技术综述 版本的顶点着色器支持的程序指令长度已经达到2 5 6 条。 顶点着色器的指令集中包含的通用运算指令有:加法( a d d ) 、乘法( m u l ) 、先加 后乘( m a d ) 、三维的点积运算( d p 3 ) 、四维的点积运算( d e 4 ) 、求倒数( r c p ) 、求平方 根的倒数( r s q ) 、指数运算( e x p ) 和对数运算( l o g ) ,求最大值( m a x ) ,求最小值( m i n ) 等:还有寻址指令( a r l ) ,移动数据指令( m o v ) ,判断指令:判断是否小于( s l t ) ,判 断是否大于等于( s g e ) ,以及两个专门为了实现光照计算公式的指令:一个是根据光 源距离计算衰减系数( d s t ) ,另一个是实现p h o n g 光照模型公式的计算( l i t ) 等。具有 丰富功能的指令集为顶点处理绘制信息的计算提供了强大的支持1 6 - 1 9 。 有了顶点着色器,就拥有了一个强大的顶点级绘制信息的计算工具。但是,由于 颜色计算只是在三角形的顶点上进行,三角形内部各个象素的颜色只能通过插值得 到,这样将无法充分表现三角形内部的细节。下面要介绍的象素着色器则可以弥补这 点不足,其操作对象是每个象索,可以在象素级别上进行绘制,从而充分表现三角形 的内部细节2 0 - 2 2 o 1 2 2 象素着色器 如图1 2 所示,象素着色器的功能主要体现为两个部分:纹理采样和象素级运算 。其具体结构图如下: 纹理采样 图1 4 象素着色器结构图 浙江人学碗上学位论文 第一章可编程图形硬件技术综述 1 2 2 1 纹理采样 前面已经提到纹理采样就是通过不同的纹理访问方式,由每个象素的纹理坐标褥 到纹理颜色值。其中纹理坐标值( ,q ,) 和颜色值( r ,q ,b ,a i ) 均可以是3 2 位的浮 点值。请注意如图中虚线所示,通过纹理采样得到的颜色值同样可以再次作为纹理雀 标进行采样,这就是前面提到的依赖性纹理访闻功能,该功能增加了对于象紊处理的 灵活性,为把象素处理的中间结果保存在纹理中打下了基础2 7 - 3 0 。 ( s o ,t 0 ,r o ,q o ) ( s 1 ,t l ,r 1 ,q 1 ) 甄系酾琶值_ 哥西棒两薪一 的纹理坐标进行采样 输入:经光栅化插值后 每一个象素的纹理坐标 ( r 0 ,g 0 ,b o ,a o ) ( r 1 ,g 1 ,b l ,a 1 ) 输出:每个象素上纹理 的颜色值 图1 5 纹理采样的功能示意图 1 2 2 2 象素级运算 象素着色器提供了象素级上的加法,乘法以及点积等运算功能,丰富的运算功能 可支持象素级上的各种绘制运算。目前g p u 大都提供了可以并行计算的8 条甚至1 6 条象素着色器计算管线,在每一计算管线上都可以对取自多个输入寄存器的数据进行 基于指令集的各种运算,象素着色器的指令集和顶点着色器一样提供了丰富的计算功 能此处就不再赘述,可参见具体的开发文档。图1 5 以其中任意一条计算管线为例 简单图示其结构。 图中计算管线1 ,2 n 的功能和结构是一样的,以管线1 为例,首先选择4 个输 入寄存器,其数据分两组经过输入映射后进行乘法或者点积运算,得到中间结果,中 划结果可以直接由输出映射传送到输出寄存器中,也可以作为下次加法或者乘法运 浙江人学硕上学位论文 第一窜可编程斟形硬件技术综述 算的输入;最终输出寄存器中的结果值将送入帧缓存中3 3 - 3 5 。 图1 5 象素计算管线结构图 1 3 可编程图形流水线的软件开发技术 在可编程图形硬件迅猛发展的同时,其相关的软件开发技术也在不断进步。目前 g p u 的应用途径主要是通过图形a p i ( o p e n g l 或者d i r e c t 3 d ) 扩充新g p u 的功能,其 扩充功能或由g p u 厂家提供,或由a p i 软件开发者提供”。利用高级语言不依赖于 具体的g p u 硬件及计算平台的编程一直是g f u 应用的努力目标,朝此目标而在绘制 语言( s h a d i n gl a n g u a g e ) 并 1 实时绘制语言方面所作的研究一直在进行之中。运用g p u 进 行通用计算最终需要摆脱图形流水线及其绘制的概念,从流处理机的角度利用高级语 言编程,这方而的研究工作在2 0 0 4 年开始有了新的进展o 。 g p u 所提供的可编程功能阱顶点处理器和像素处理器的操作形式完成,由每个 处理器执行用户定义的汇编级的绘制程序( s h a d e rp r o g r a m ) 1 0 ,对流数据f 顶点像素) 执 行绘制程序的操作。对于标准图形界面用户来说,这些g p u 的新功能锻通过g p u 没计者或用户1 界面的设计者以扩充函数库的形式提供给用户。 浙江大学硕。学位论文 第一章可编程图形硬件技术综述 o p e n g l 作为事实上的工业标准已为学术界和工业界所普遍接受,因而绝大部分 与图形有关的应用产品一直以o p e n g l 作为实现界面。对于使用g p u 的扩充函数, o p e n g l 中包括了g p u 设计者( 如n v i d i a ) 以及o p e n g l “架构委员会( a r b ) ”所扩充 的函数。d i r e c t 3 d 作为微软视窗的标准,其图形界面d i r e c t 3 d 从新世纪开始办得到广 泛接受和应用,特别是作为游戏软件的实现界面。 为适应g p u 应用的需求,d i r e c t 3 d 根据g p u 薪产品功能的扩充与进展及时地定 义新的版本以扩充v e r t e xs h a d e r 和p i x e ls h a d e r 的新功能,d i r e c t 3 d 软件接口所提供 的功能几乎与g p u 提供的功能同步。对于熟悉o p e n g l 或d i r e c t 3 d 的用户或软件专 业用,! t 来说,直接使用其扩充的接口软件应该是比较好的选择,因为这里可以从底层 实现更灵活的控制和对g p u 编程。 1 3 1 高级绘制语言及实时绘制语言 使用类似于c 的高级语l - - 对g p u 直接编程一直是图形界努力追求的目标,也是 将来应该达到的目标。在这方面,已取得了一些进展。使用绘制语言及高级语苦进行 绘制编程可以方便用户书写备种不同功能的绘制程序以及对其绘制程序提供各种控 制,从而使g p u 硬件的具体功能对于用户两苦更具有透明性。绘制程序( s h a d e r ) 设计 的思想源白于早年p i x a r 设计的r e n d e r m a n 4 卜4 3 绘制软件。此软件多年来广泛应片j 于好 莱坞电影中特技效果的绘制。关于新型标准绘制语言的研究工作,近年来具有较大影 响的是:o p e n g ls h a d i n gl a n g u a g e 4 4 1 5 ,斯坦福大学的r t s l ( r e a l t i m es h a d i n g l a n g u a g e ) 4 。”,m i c r o s o f t 的h l s l ( h i g h l e v e ls h a d i n gl a n g u a g e ) 4 8 以及n v i d i a 的c g ”。 尽管还未形成统一的绘制语言,这些语言的研究和应用为用户提供了直接基于a p i ( o p e n g l 或d i r e c t 3 d ) 编程的较为方便和高层次的工具。 1 3 2 流处理机编程环境及工具如 然而,使用绘制语言编程仍然存在着不少缺陷,对使用者来说仍然是一件十分麻 烦的工作。首先,用户必须编写控制图形流水线的许多任务,如分配纹理存储、读入 绘制程序、构造图形元素等,为此,用户对最新的a p i 以及图形处理器硬件的特点与 限制需要有详细的了解5 1 - 5 40 此外,用户仍然需要利用纹理、三角形等图形素元表达 他们的算法,这就使得g p u 的通用计算编程工作仍然只能由资深的图形开发者进行。 如果这一问题不能很好地解决,g p u 用于通用计算的前景将会受到很大的限制5 5 , 5 6 。 因为,熟悉g p u 图形编程的人毕竟太少, 个应用领域义比较陌生。为解决这一问题, 粹纳入流处理机的模型而以高级语言编程, 而这些资深的图形开发者对通用计算的各 当前的努力方向主要是将g p u 的结构纯 使得程序说明、运算操作、模块化定义等 浙z l 大学硕士学位论文 第一章日j 编程图形硬件技术综述 一系列运算和控制规范化,使用户在实现高效率利用g p u 的同时,不必考虑g p u 的 具体图形结构。这一研究工作的代表是最近发表于a c ms i g g r a p h 2 0 0 4 的斯坦福大 学的b r o o k f o r g p u 系统5 7 和加拿大w a t e r l o o 大学的s h a d e r a l g e b r a 系统5 8 。 1 4 本文工作的主要研究工作介绍及章节安排 本文以可编程图形硬件技术作为文章的主线,介绍了作者硕士生学习期间的主要 工作。 第一章、可编程图形硬件技术的综述。介绍可编程硬件相关的软硬件知识和可编程 图形流水线的工作原理及架构。 第二章、实时体素化。介绍了一种基于可编程图形硬件技术实现的实时体素化算法, 该算法完全在g p u 中运行,对于两百万面片以上的复杂,l 何模型仍然可以 达到实时,该算法便于实现且具有很好的可扩展性,在体建模,透明绘制 和碰撞检测等很多领域中都有重要的应用前景。 第三章、高质量大尺寸点模型实时绘制算法。介绍了一个针对大规模点模型( 数百万 级) 的自适应实时高质量绘制算法,该算法根据视点与模型的距离远近和视 角大小,对具有较好绘制效果的e w a 滤波反走样算法采用不同的近似方 式,为模型选择合适的细节层次,对模型进行自适应绘制。通过一种面向 保留模式图形硬件加速的点模型压缩和解压缩算法,该算法可以在可编程 图形硬件中实现,在普通微机上实时高质量绘制了千万数量级的点模型。 第四章、实时阴影映射。介绍阴影映射的原理以及如何基于可编程图形流水线实现 实时阴影映射,着重介绍了一种基于完全硬件功能实现的硬件阴影映射方 法。 第f 1 章、结论与展望。总结现有工作,简单介绍了未来可能的研究方向。 参考文献 f 1 】m a c e d o n i am t h eg p ue n t e r sc o m p u t i n 9 1 sm a i n s t r e a m i e e ec o m p u t e r , 2 0 0 3 3 6 ( 1 0 ) :1 0 6 1 0 8 2 】h o p g o o df r a ,d u c ed a ,g a l l o pj r s u t c l i f f ed c i n t r o d u c t i o nt ot h eg r a p h i c sk e r n e ls y s t e m 浙江人学硕上学位论文第一章可编程图形硬件技术综述 f 【j k s ) a c a d e m i cp r e s s 19 8 3 3 】e n d e r l egk a n s yk ,p f a 行gc o m p u t e rg r a p h i c sp r o g r a m m i n g :g k s t h eg r a p h i c ss t a n d a r d b e r l i n s p , i n g e r - v e r l a g ,1 9 8 4 【4 】h o w a r d f l j ,h e w i t tw t h u b b o l dr j ,w y n = v a sk map r a c t i c a li n t r o d u c t i o nt op h i g sa n dp h i g s p l u s a d d i t i o n - w e s l e y , 1 9 91 1 5 】c l a r k j h t h e g e o m e t r ye n g i n e :a v l s i g e o m e t r ys y s t e m f o r g r a p h i c s i n :p r o c o ft h e s 1 g g r a p h 8 2 1 9 8 21 2 7 1 3 3 【6 】f u c h sh ,p o u l t o nj p i x e l - p l a n e s :av l s i o r i e n t e dd e s i g nf o rar a s t e rg r a p h i c se n g i n e v l s id e s i g n , 1 9 8 1 ,2 ( 3 ) :2 0 - 2 8 【7 】e y l e sj ,a u s t i nj ,f u c h sh ,g r e e rt ,p o u l t o nj p i x e l p l a n e4 :as u m m a r y ,a d v a n c e si nc o m p u t e r g r a p h i c sh a r d w a r e1 1 i n :e u r o g r a p h i c ss e m i n a r st u t o r i a l sa n dp e r s p e c t i v e si nc o m p u t e rg r a p h i c s 1 9 8 8 18 3 2 0 8 8 f u c h sh ,i s r a e ll ,p o u l t o nj ,e y l e sj ,g r e e rt ,g o l d f e a t h e rj ,e l l s w o r t hd ,m o l n a rs ,t u r kg t e b b sb p i x e l - p l a n e s5 :ah e t e r o g e n e o u sm u l t i p r o c e s s o rg r a p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届广东省北京师范大学东莞石竹附属学校化学高一第一学期期末检测试题含解析
- 2026届山西省太原市小店区一中高一化学第一学期期中达标测试试题含解析
- 2025年潜水安全知识考试题库
- 火力发电厂教学课件
- 2025年5G行业销售客服岗位招聘考试题
- 2026届安徽省肥东县高级中学化学高一上期末复习检测模拟试题含解析
- 灌溉农业知识培训总结
- 知识地图拆卸培训课件
- 知识及技能培训课件
- 虚拟音乐表演系统-洞察及研究
- 学习2025年初中初三开学第一课专题
- GA/T 2158-2024法庭科学资金数据获取规程
- 2025年行政执法人员执法证考试必考多选题库及答案(共300题)
- 《工程勘察设计收费标准》(2002年修订本)
- 《重组与突破》黄奇帆
- 医院零星维修管理制度及零星维修审批单
- 监控中心主任岗位职责
- 住院医师规范化培训申请表
- 考评员题库(1000题)
- 青年教师成长之路
- 吴迪完胜股市学习笔记
评论
0/150
提交评论