




已阅读5页,还剩64页未读, 继续免费阅读
基于可编程图形硬件的体绘制技术研究优秀毕业论文 参考文献 可复制黏贴.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国内图书分类号:t p 3 9 1 4 1 西南交通大学 研究生学位论文 基于可编程图形硬件的体绘制技术研究 专业 指导教师 二零零七年五月 一苓苓屯,平直月 西南交通大学硕士研究生学位论文第1 页 摘要 三维数据场可视化尤其是其中的体绘制是科学计算可视化领域最重要、 近年来发展最迅速的一项技术,它是在吸收计算机图形学、计算机视觉和计 算机图像处理等学科有关知识的基础上发展起来的,在医学三维重建、计算 流体力学、有限元后处理、地震地质勘探等众多领域得到了广泛应用 体绘制技术无需构造中间几何图元,直接将三维体数据映射n - - 维的投 影平面上产生最终绘制结果,具有能够半透明显示数据场的不同区域和内部 细节的优势。但由于体绘制需要处理的数据量十分庞大,生成图像的算法又 比较复杂,相比其他算法如面绘制其具有处理时间长,计算量大的固有缺陷。 常常需要使用高端图形工作站和特殊硬件来实现,在普通p c 机上对于一般大 小的体数据也很难达到实时交互处理。计算机硬件的飞速发展,特别是可编 程图形硬件的顶点和片段处理器,为实现实时体绘制技术提供了硬件加速的 支持。 本文首先介绍了科学计算可视化和可编程图形处理器的概况;分析了可 视化的主要流程,对二维数据切片进行了相关的预处理,得到符合本文绘制 算法要求的体数据集;第三章讲述了体绘制的关键技术,比较了各种典型的 体绘制算法,实现了三维纹理映射的体绘制,讨论其实现上的难点,三维纹 理映射方法相当于同时处理所有光线的光线投射体绘制算法,为简化计算, 采用了固定的视线方向和框架立方体,代理几何体使用一系列垂直于视线方 向与框架立方体相交的矩形切片,通过旋转纹理坐标系来达到变换视角的目 的,利用o v e r 算予进行最终的图像合成;第四章介绍了图形硬件流水线,利 用g p u 的可编程顶点和片段着色器,将三维纹理体绘制的部分绘制计算如顶 点变换、纹理映射、色彩转换等从c p u 转移到g p u 的顶点和片段着色器上 进行处理。 最后,使用v c * 作为开发平台,0 p e n g l l 5 作为3 d 开发库,并用n v i d i a 公司的高级渲染语言c g ,实现了基于g p u 的三维纹理的加速算法。实验结 果表明,在不损失图像绘制质量的情况下,加快了体绘制的速度。 关键词:可视化;体绘制;三维纹理;可编程图形硬件;c g 西南交通大学硕士研究生学位论文第页 a b s t r a c t v i s u a l i z a t i o no ft h r e e - d i m e n s i o n a ld a t a 丘e l d se s p e o i a l l yv o l u m er e n d e r i n g h a sb e e nt h em o s ti m p o r t a n ta n dr a p i d l yd e v e l o p e dt e c h n i q u e si nt h ev i s u a l i z a t i o n o fs c i e n t i f i cc o m p u t i n gi nr e c e n ty e a r s i th a sb e e nd e v e l o p l e db a s e do i ls o m e a s p e c t so fc o m p u t e rg r a p h i c s ,c o m p u t e rv l s l o na n dc o m p u t e rn n a g ep r o c e s s i n g , a n dh a sb e e n w i d e l y u s e di nt h r e e - d i m e n s i o n a lm e d i c a lr e c o n s t r u c t i o n , c o m p u t a t i o n a ld y n a m i cf l u i dp o s t - p r o c e s s i n go ff i n i t ee l e m e n tc o m p u t a t i o n , s e i s m i ca n dg e o l o g i c a la p p l i c a t i o n s v o h i m er e n d e r i n go b t a i n sf i n a li m a g eb yp r o j e c t i n go r i g i m l3 dd a t at o2 d p r o j e c t i v ep l a n ed i r e c t l y , w i t h o u tc o n s t r u c t i n gg e o m e t r i c a lg r a p h i ci t e m s ,i th a st h e a d v a n t a g eo fd i s p l a y i n gt h ed i f f e r e n tr e 西o t i st r a n s l u c e n t l ya n dr e v e a l i n gi m e r i o r d e t a i l so fd a t af i e l d s a st h i st e c h n i q u er e q u i r e sd e a l i n gw i t hh u g ea n a o u n to fd a t a , a n dh a sac o m p a r a b l yc o m p l i c a t e da l g o r i t h mf o ri m a g eg e n e r a t i o n , i ti si n h e r e n t l y t i m e - c o n s u m i n ga n dc o s t sg r e a t e rc o m p u t a t i o nt h a no t h e ra l g o r i t h m ss u c ha s s u r f a c er e n d e r i n g u s u a l l yh i g l - e n d 罩a p h i cw o r k s t a t i o n sa n ds p e c i a l p u r p o s e h a r d w a r ea r cu s e d i t sd i 伍c u l tt ob er e a l i z e df o rr e a s o n a b l ys i z e dd a t as e t s0 1 1 g e n e r a lp c sa tr e a l t i m ea n di n t e r a c t i v ef r a m er a t e s f a s te v o l u t i o no f p ch a r d w a r e e s p e c i a l l yt h 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 ew i l l li t sp r o g r a m m a b l ev a 僦a n d f i a g m a n ts h a d e r , h a v ep r o v i d e dh a r d w a r ea c c e l e r a t i o ns u p p o r tt or e a l i z er e a l - t i m e v o l u m e r e n d e r i n g f i r s t ,t h i sp a p e rg i v e sa l lo v e r v i e wo f t h ev i s u a l i z a t i o no f s c i e n t i t l ec o m p l m n g a n dg p u t h e n , a n a l y s i st h em a i nf l o wo fv i s u a l i z a t i o n , d os o m ep r e t r e a t m e n tt o 2 dd a t as l i c e st oo b t a i nc o i t c c tv o l u m ed a t as e t sf o ro a ra l g o r i t h m i nc h a p t e r3 d e s c r i b et h ek e yt e c h n i q u eo f v o h t m er e n d e r i n g , c o m p a r es o r o et y p i c a la l g o r i t h m s , r e a l i z et h e3 dt e x t u r ev o l u m er e n d e r i n g , a n dd i s c u s si t sd i 伍c u l t i e s 3 dt e x t u r e a l g o r i t h mi se q u i v a l e n t t o p r o c e s sa l lr a y ss i m u l t a n e o u s l yi nr a yc a s t i n g , t o s i m p l i f ye a l c u l a t i o n , a d o p tf i x e dv i e wd i r o e t i o na n df r a m ec u b e ,p r o x yg e o m e t r y a r er o e t a n g l es l i c e sw h i c ha r ep e r p e n d i c u l a rt ot h ev i e wd i r e c t i o na n di n t e r s e c t w i t hf l a m ec u b e t h ea i mo fc h a n g et h ev i e wd i r o e t i o ni sa c h i e y e db yr o t a t i n gt h e t e x t u r ec o o r d i n a t e ,o p e ro p e r a t o ri su s e dt ob l e n df o rt h ef i n a li m a g e i nc h a p t e r4 , d e s c r i b et h eg r a p h i ch a r d w a r ep i p e l i n e , u l t i l i z i n gt h eg p u sp r o g r a m m a b l ev e r t e x a n d f r a g m e n t s h a d e rt o c h a n g e s o m er e n d e r c o m p u t a t i o n s ,l i k e v e r t e x t r a n s f o r m a t i o n t e x t a r bm a p p i n g , c o l o rc o n v e r s i o no f3 dt e x t u r ev o l u m er e n d e r i n g f r o m c p u t o g p u l a s t ,u s ev o h 鹤p l a t f o r m , o p e n g l1 5 a s3 da p la n dn i v i d i a c o p o r a t i o n sh i 曲l e v e ls h a d i n gl a n g u a g ec gt or e a l i z eg p u b a s e dv o l u m e r e n d e r i n g t h er e s u l t ss h o wt h a t , w i t h o u tc o m p r o m i s i n gt h ei m a g eq u a l i t y , t h e s p e e di si m p r o v e d k e y w o r d s :v i s u a l i z a t i o n ;v o l u m er e n d e r i n g ;3 dt e x t u r e ;p r o g r a m m a b l eg r a p h i c s h a r d w a r e ;c g 西南交通大学硕士研究生学位论文第1 页 第1 章绪论 1 1 科学计算可视化概述 将数据变换为易被人们接受和理解的图形的技术叫可视化,可视化的前 身是计算机图形学,现在它已经发展成为研究用户乔面、数据表示、处理算 法、显示方式等一系列问题的一个综合性学科,并成为人们分析自然现象、 社会经济发展形势、认识客观事物本质和变化规律的得力助手。根据侧重面 的不同,可视化可以分为三个分支:科学计算可视化( v i s l l a l i z a t i o ni ns c i 锄t i c o m p u t i n g ,简称为s c ) ,数据可视化( d a t a s u a 妇t i o n ) 和信息可视化 ( i n f o 珊a t i o n m a l i z a t i o n ) 【l j 科学计算可视化是2 0 世纪8 0 年代后期出现并借助于计算机技术迅速发 展起来的。它是指运用计算机图形学和图像处理技术,将科学计算过程中或 者是计算结果的数据转换为直观的图形或图像在屏幕上显示出来并借助于交 互技术进行处理的理论、方法和技术它涉及到计算机图形学、图像处理、 计算机辅助设计、计算机视觉及人机交互技术等多个领域【l i 。科学计算可视化 的含义不仅包括科学计算数据的可视化,而且包括工程计算数据和测量数据 的可视化,如用于医疗领域的计算机断层扫描( c o m p u t e r i z e dt o r n o g r a p h y ,c d 数据及核磁共振( m a g n e d cr e s o 啪c eh i l 硒n g ,m m ) 数据的可视化,以及气象 领域数据的可视化等。可视化技术作为一项帮助科学研究及生产实践的强有 力的工具,发挥着越来越重要的作用。 1 1 1 三维数据场可视化方法分类 科学计算可视化的核心是三维数据场的可视化,三维数据场的可视化方 法大致可分为两大类:面绘* | j ( s u r f a c er e n d e r i n g ) 和直接体绘制( d i r e c tv o l 嘲c 勋d e r i n g ) 团。面绘制是一种普遍应用的三维显示技术,它是从体数据中抽取 一系列相关表面,并用多变形拟合近似后,再通过传统的图形学算法显示出 来,它只能表达体数据的轮廓,不能有效深入的表达数据场的内部,因此造 成整体信息的丢失。而体绘制技术是将三维空间的离散体数据直接转换为二 维的图像,并不需要生成中间的几何图元,又称为直接体绘制,绘制结果可 以使人们从图像中感受到完整的体数据信息,给入更直观。更方便的视觉表 达效果。 体绘制技术是科学计算可视化的种重要方法,已经有二十多年的发展 历史了,它适合生成原始数据集的整体图像,并能够清晰地显示其中的细节 信息。在过去的几年中,体绘制技术是可视化研究最为活跃、应用领域最广 的技术之一随着计算机硬件的飞速发展和图形功能的不断完备,体绘制技 西南交通大学硕士研究生学位论文第2 页 、术也在快速的发展之中 1 1 2 体绘制技术的意义 体绘制技术具有多方面的重要意义,广泛应用于医学、气象学、地质勘 探、计算流体力学和分子生物学等领域。它是发现和理解科学计算过程中各 种现象的有力工具;可以大大加快数据的处理速度,使目前每日每时都在产 生的庞大数据得到有效的处理;可以在人与数据、人与人之间实现图像通信, 而不是难于理解和分析的文字和数据通信;还可以使人们对计算过程实现引 导和控制,通过交互手段改变计算依据的条件并观察其影响【1 】。在医学领域, 由核磁共振、c t 扫描等设备产生的人体器官密度场,对于不同的组织,表现 出不同的密度值,使医生对病灶部位的大小、位置、不仅有定性的认识,而 且有定量的认识,尤其是对大脑等复杂区域,体绘制可视化所带来的效果尤 其明显。在气象领域,基于体绘制的可视化技术可以将大量的天文气象数据 转换为直观的图像,使预报人员能够对未来的天气作出准确的分析和预测。 在地质勘探领域,利用模拟人工地震的方法,可以获得地震岩层的信息。通 过数据特征的抽取和匹配,可以确定地下的矿藏资源。由于地震数据的数据 量及其庞大,而且分布不均匀,因而根本无法从纸面数据做出分析。利用体 绘制方法对模拟地震数据进行解释,可以得到矿藏是否存在、矿藏位置及储 量大小等重要信息,大大提高地质勘探的效率和安全性,节约资金,具有重 大的经济效益和社会效益。 1 2 可编程图形处理器概述 综观计算机图形学的发展进程,可以毫不夸张地说,计算机图形学的每 次重大进展都与图形处理硬件的突破密切相关,2 0 世纪8 0 年代初期,g e o m e t r y e n g i n e ( g e ) 芯片的推出对于近2 0 年来图形发展和变革产生了巨大的影响。以 g e 作为核心技术,其设计者c l a r kj a m e s 作为c e o 所成立的s g i 公司的产品在 其后的图形发展和工业应用中产生了巨大影响,s g i 的o p e n g l 直至今天也是 事实上图形界面的工业标准。 图形处理的并行性以及可编程功能一直是图形硬件发展所追求的目标, 伴随着p c 级微机的崛起和普及,多年来计算机图形的大部分应用发生了从工 作站向微机的大转移,而这种转移甚至发生在像虚拟现实、计算机仿真这样的 实时( 中、小规模) 应用中,实时应用的计算机游戏的普及亦是这一发展的标志。 这一切的发生从很大程度上源自于图形硬件的发展和革新。 由于图形绘制特别是三维图形的绘制,往往需要做大量的计算,因此要 实现实时的绘制就必须利用图形硬件进行绘制计算的加速随着计算技术和 西南交通大学硕士研究生学位论文第3 页 集成电路技术的发展,图形硬件的更新速度迅猛,面向普通用户的可编程图 形处理器( g p u , g r a p h i cp r o c e s s i n g 删t ) 出现了,并且基于g p u 的各种图形绘 制算法成为了近年来图形学研究领域的一大热点,这是图形学发展多年来的 又一次重大飞跃,它势必会推动图形学的应用走向更加广阔的领域。 目前图形硬件中的图形处理器( g p u ) 的计算能力的增长速度已经超过了 中央处理器( c p u ) 计算能力的增长速度,主流图形硬件制造商声称,现在每隔 6 1 2 个月g p u 的性能就会增长一倍 4 1 图形处理器技术的迅速发展带来的并 不只是处理速度的提高,还产生了很多全新的图形硬件技术,其中最引人注 目的便是在图形硬件处理管道的顶点处理和像素处理模块中引入了可编程 性,使得用户可以通过程序方式控制图形流水线的执行,极大地扩展了图形 处理器地能力和应用范围。图1 1 为一个最基本地可编程图形硬件框架,其中 的阴影模块代表可编程模块。 图1 1 可编程图形硬件框架 从上图可以看出,在顶点级操作上,引入了顶点着色器( v e r t e xs h a d e 0 处 理每个顶点,用户可以通过自己编写代码实现专门的顶点变换和光照模型。 经过光栅化以后,在像素处理阶段,引入的像素着色器( p i x e ls h a d e r ) 可以实现 对每个像素的可编程操作。顶点和像素着色器都是典型的流处理机( s 仃e a m p r o c e s s o r ) ,这种流处理机和传统的向量处理机的主要区别在于,不具有大容 量的存储器可以读写,只是直接在芯片上利用临时寄存器作流数据的操作。 对于g p u 而言,图形流数据分别是顶点图元以及光栅化后的像素:根据图形 处理器的特点,g p u 流处理的元素为4 4 单元的向量,可以利用它来表示三维 齐次坐标,三维空间齐次向量,颜色和不透明度等数据,正是这种流处理机 的并行结构。实现了指令的并行处理,目前绝大部分的g p u 都拥有多条可以 并行的s h a a 盯管线,这种体系结构使得其不仅可以用于高效图形绘制,而且可 以成为通用并行的计算平台。 1 2 1 可编程图形处理器的发展背景 在专业图形硬件出现之前,程序员不得不依赖c p u 来处理所有用来生成 计算机图像的变换和光栅化计算。由于c p u 是一个通用的处理器,任务繁多, 一切系统调用、内存管理、输入输出响应等非三维图形处理的工作都必须由 它来分配和管理,因此在处理三维图形的时候,性能会大打折扣,其运算速 度很难达到处理复杂三维场景的要求。 随着计算技术和硬件集成技术的发展,硬件工程师们开始把三维图形算 西南交通大学硕士研究生学位论文第4 页 法固化在高性能的图形硬件上,程序员只需要通过标准的编程接口来访问图 形硬件提供的图形功能,而不需要在c p u 上实现那些复杂的绘制算法,p c 机上两种主要的编程接口是o p c n g l ( 由s g i 公司开发) 和d i r c c t b d ( 由 m i c r o s o f t 公司开发) 。图形硬件最初的价格非常昂贵,只出现在天价的u n i x 工作站和飞行模拟器上,但是由于硬件发展的迅速,这些图形硬件也已经普 遍地出现在低价的p c 机和游戏控制台中了。 尽管通过使用精密的图形硬件在执行顶点变换、三角形光栅化和像素更 新等复杂图形任务方面的性能远远超过了以前只使用c p u 编程所获得的性 能,但是作为代价,实时三维图形程序员放弃了相当大的控制权来换取这种 高性能。开发人员被限制在仅能使用一些硬件所能处理的固定功能的图形操 作。一些熟练和有技巧的开发人员可以使用这些图形编程接口和图形硬件来 完成一些高级的图形处理效果,但是也是一项非常费力费时的任务【2 1 。 为克服这种缺陷,硬件工程师又设计了新代的图形硬件,即可编程的 图形硬件,增加了图形硬件的可编程性使得程序员们可以使用着色语言 ( s h a d i n gl a n g u a g e ) 来编写可以在图形硬件上运行的三维图形算法。 实时计算机图形硬件从支持一些固定的算法到完全可编程,正在经历着 一个显著的改变,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 ) 指令执行体系。所以要基于可编程 图形硬件实现一些在c p u 中效率较低的算法,就必须重新组织算法实现的数 据结构和步骤,以充分利用g p u 并行处理体系结构带来的优势。 1 2 2 可编程图形处理器的发展历程 1 9 9 9 年n v i d i a 公司推出了g c f o r c e 2 5 6 图形芯片,它是第一款集成了硬件 t & l ( t r a n s f o m a t i o n & l i g h t i n g ,多边形变换和光照) 功能的图形显示芯片, 从这款芯片开始,n v i d i a 开始将图形硬件称为g p u ( g r a p h cp r o c e s s i n gu n i t , 图形处理单元) ,因为原来的“视频控制器( v g ac o n t r o l l e r ) ”已经无法概括图 形硬件的功能 z l 。 多年来g p u 以大大超过摩尔定律的速度高速发展,每隔6 1 2 个月g p u 的性能就能提高一倍,极大地提高了计算机图形处理的速度和图形质量,并 促进了计算机图形相关应用领域的发展。图1 2 说明了g p u 与c p u 的发展比 较。目前微机平台的图形处理器已经达到非常高的性能,2 0 0 4 年推出的n v i d i a g e f o r c e6 8 0 0 u l 血- a 图形处理器峰值可达到4 0 g i g a f l o p s ( 1g i g a f l o p s = 1 秒钟进 行1 0 亿次的浮点运算) ,2 0 0 5 年发布的n v i d i ag v f o r c e7 8 0 0g t x 更是将峰值 西南交通大学硕士研究生学位论文第5 页 提高到令人惊讶的1 6 9g i g a f l o p s ,2 0 0 7 年推出的n v i d i ag e f o r c e8 8 0 0u l t r a 核心频率达到了6 1 2 m h z ,运算峰值达到4 0 0g i g a f l o p s 以上,而i n t e l3 g h z p e n t i u m4 采用s s e 指令集也只能达到6 c f i g a f l o p s 。 。time 图1 - 2g u p 和g p u 的性能发展比较嘲 到目前为止,g p u 已经经过了五代的发展,每一代都拥有比前一代更强 的性能和更加完善的可编程能力每一代图形处理器也都影响和集成了两个 主要的三维编程接口:o p e n g l 和d i r e c t x 。o p e n g l 是一个为w i n d o w s 、l i n u x 、 u n i x 和m a c i n t o s h 上三维编程服务的开放式标准。d i r e c t x 是m i c r o s o f t 的不 断发展的多媒体编程接口,其中包括的d i r e c t 3 d 是用来进行三维编程的 2 1 ( 1 ) 第一代图形处理器( 一1 9 9 8 年) 包括n v i d i a 的t n t 2 ,a t i 的r a g e 和3 d f x 的v o o d 0 0 3 。这些图形处理器拥有硬件三角形处理引擎,能使用一或 两个纹理,这大大提高了c p u 处理三维图形的速度。它们还实现了d i r e c t6 的特征集。当运行大部分三维和二维应用程序的时候,这些图形处理器完全 把中央处理器从更新单独像素中解放出来。但是,这一代图形处理器缺乏顶 点变换的能力,顶点变换还是在c p u 中进行的,更多只是起到三维加速的作 用【2 】1 1 0 1 , 而且它们只有一些有限的数学操作集合来结合纹理计算光栅化后像素 的颜色,这时还没有被冠以“g p u ”的名字。 ( 2 ) 第二代图形处理器( 1 9 9 9 - - 2 0 0 0 年) 包括n v i d i a 的g e f o r c e2 5 6 和 g e f o r c e2 ,a t i 的r a d e o n 7 5 0 0 和s 3 的s a v a g e 3 d 。这些图形处理器从中央处 理器那里承担了顶点变换和光照的工作。在这一代之前,快速的顶点变换是 高端工作站区别于个人计算机的关键性能之一相应的图形a p i 即o p e n g l 和d i r e c t x7 都开始支持硬件的顶点变换功能。虽然用来结合纹理和给像素着 色的数学操作在这一代包括了立方图纹理和带符号数学操作,能够完成的工 作仍然有限。这一代图形处理器能够进行更多的设置,但仍然不是真正的可 编程 ( 3 ) 第三代图形处理器( 2 0 0 1 年) 包括n v i d i a 的g e f o r c e3 和g e f o r c e4t i , m i c r o s o f t 的x b o x 和a t i 的r a d e o u8 5 0 0 。这一代图形处理器支持顶点级编程, 而不是仅仅提供更多的可设置性。这些图形处理器允许应用程序调用一组自 定义的指令序列来处理顶点数据,而不是支持由o p e n g l 和d i r e c t x7 指定的 0 3 u b u u o 亡岱a 西南交通大学硕士研究生学位论文第6 页 传统的变换和光照模型。但是片段操作阶段仍然不具备可编程架构,只是提 供了更多的配置选项,访问纹理的方式和格式受到一定限制,只有定点数可 用。开发人员可通过d i r c c t x8 和o p e n g l 的a r bv e r t e x 扩展来开_program 发简单的顶点着色程序,d i r e c t x8 的像素着色引擎和各个开发商制定的扩展 也提供了片段级的设置能力。 ( 4 ) 第四代图形处理器( 2 0 0 2 - - 2 0 0 3 ) 包括n v i d i a 的使用c i n e f x 体系结构 的g e f o r c cf x 系列和a t i 的r a d e o n9 7 0 0 。这些图形处理器拥有顶点级和片 段级的可编程性,将大部分复杂的顶点变换和像素着色操作从c p u 转移到 g p u ,g p u 具备了浮点功能d i r e c t9 和各种o p c n g l 扩展 ( a r b _ v e n e x _ p r o g r a m 、a r b _ f r a g m e n t _ p r o g r a m 、n v _ v e r t e x _ p r o g r a m 2 、 n v 可帮助开发人员利用这种特性来完成原本只能在f r a g m e n tp r o g r a m ) c p u 上进行的复杂顶点像素操作。c g 和h l s l 等高级着色语言开始得到应用 ( 5 ) 最近图形处理器的发展( 2 0 0 4 至今) ;n v i d i a 相继推出了g e f o r c a :6 、 g e f o r c c7 和g e f o r c e8 系列,a t i 公司也推出了u l e l g o o x 和r a d e :o r l 1 9 0 0 x 系列。它们中g p u 的核心频率可高达6 1 2 m h z ,有1 2 8 条渲染管线。 同时也提供了更强大的可编程性,顶点程序可以访问纹理,支持程序的动态 条件分支,像素程序也开始支持分支操作,支持子函数的调用,在纹理滤波 和融合过程中支持6 4 位浮点精度,同时支持多个渲染目标。 未来的图形处理器将进一步提高其可编程性,开发人员借助于各种高级着 色语言,能开发出电影级效果的三维图形和计算机动画。在不久的将来,随 着g p u 可编程能力的加强,g p u 不再只用于加速图形方面的计算,作为一个 高效且功能强大的协处理器,它能够适用于更多完全不同的应用,承担更多 的通用计算的任务。 1 2 3 可编程图形硬件的特征 目前最新的可编程图形硬件带来了一些新的特征,概括起来有以下几个 方面【6 】【1 4 】: ( 1 ) 在顶点级和像素级提供了灵活的可编程特性; ( 2 ) 在顶点级和像素级运算上都支持i e e e3 2 位浮点运算,可进行高 精度的绘制; ( 3 ) 完全支持4 元向量的数据格式( 齐次坐标,法向等) ,方便了图形程 序的设计与开发; ( 4 ) 具有高带宽的内存传输能力,具备强大的数据吞吐能力; ( 5 ) 支持多遍绘制的操作,避免了多次c p u 与g p u 之间的数据交换; ( 6 ) 支持绘制到纹理的功能( r e n d e r - t o t c x t u r c p b u f f c r ) ,从而避免将中 间结果拷贝到纹理这个比较费时的操作。 ( 7 ) 支持依赖纹理访问的功能,以方便数据的索引访问,可以将纹理 西南交通大学硕士研究生学位论文第7 页 作为内存来使用 1 3 研究概况 科学计算可视化、计算机动画和虚拟现实技术是近年来在计算机图形学 领域内的三大热门研究方向。而体绘制技术由于能够显示包含在物体里面的 复杂细节,成为科学计算可视化中的一个重要研究内容。上世纪8 0 年代至9 0 年代,是三维可视化研究与发展的鼎盛时期,在这一阶段国内外学者对三维 数据场可视化领域中的诸多方向作出了突出的贡献,许多典型的算法也是这 个时期提出来的。 国外研究最多的国家属日本,其次是美国和英国,他们中许多著名大学、 国家实验室和一些大中型企业公司都在致力于将三维数据场可视化技术与应 用实践结合起来。我国的浙江大学、清华大学和中科院自动化研究所等单位 从9 0 年代开始长期致力于这方面的研究,并取得了一定的成果。自1 9 9 1 年, i e e e 每年召开一次可视化会议,1 9 9 5 年,i e e e 新增了一个刊物( i e e e t r a n s a c t i o no nv i s u a l i z a t i o na n d c o m p u t e rg r a p h i c s ) ,可视化领域的许多新的 研究进展的文章都在上面发表。 在体绘制算法方面,国内外研究者提出了很多对以往算法的改进,如物 空间法中的空间跳跃算法、像空间的光线提前结束法等。但图形发展对硬件 的依赖性很大,当a t i 和n v i d i a 公司分别在2 0 0 0 和2 0 0 1 年推出了支持三维 纹理的图形加速芯片时,利用硬件的三维纹理映射的体绘制的实现顿时活跃 起来。在2 0 0 2 年的国际著名的图形学会议s i g g r a p h 上,专门开设了基于 p c 硬件的高质量体绘制讲座。 在图形硬件编程方面,面对日益强大的g p u ,人们首先将图形流水线的 某些处理阶段以及某些图形算法从c p u 转向了g p u ,如局部光照计算,凹凸 映射等,后来基于图形硬件的通用计算( g p g p u ) 也成为g p u 应用的研究热点。 但由于g p u 和高级渲染都是比较新的事物,关于这方面的研究总体上处于起 步阶段,还需要更多的探索。 1 4 本文的主要工作及内容组织 随着科学技术的逐渐深入及科学探测仪器性能和精度的不断提高,在可 视化领域产生的数据量也越来越大,以往的研究主要集中在怎样基于一些大 型并行计算机和高端专业图形工作站来实现大规模体数据的快速可视化,但 成本过高且扩展困难。近年来p c 机硬件系统发展迅速,特别是可编程图形处 理器的发展为体视化技术提供了新的解决途径,将图形流水线上的某些处理 阶段以及某些图形算法从c p u 转移到g p u ,可以大大降低包括医学图像处理、 西南交通大学硕士研究生学位论文第8 页 工业无损探伤、地震建模、气象预报、有限元分析等众多领域的科研和生产 成本。 所以,对g p u 上实现三维数据场可视化技术进行研究与探讨具有非常重 要的意义,本文主要对关键技术中的部分问题进行研究,利用可编程图形硬 件加速绘制的特点,实现了基于g p u 的三维纹理映射的体绘制算法,本文章 节的组织结构如下; 第1 章概述了科学计算可视化的及其中的体绘制技术的意义,对可编程 图形硬件的发展背景和发展历程作了简要介绍。 第2 章介绍了三维数据场可视化的框架,说明了体数据的结构及对其进 行的绘制前的预处理,得到本文算法所需的均匀网格三维体数据,最后讲述 了对体数据的分类和色彩映射问题。 第3 章对体绘制算法的的几个理论基础进行了研究,如几何变换、重采 样、明暗计算和图像合成等。介绍和对比了几种典型的体绘制算法,重点分 析了三维纹理映射的体绘制技术。 第4 章先介绍了图形绘制流水线的结构,使用可编程硬件加速实现了三 维纹理映射的体绘制,最后在v c + + 上利用n v i d i a 公司的高级渲染语言c g 结 合三维编程接口o r i e n g l 实现了绘制过程 第5 章对算法进行了实现并分析了实验的结果 最后,总结现有工作,简单介绍了未来可能的研究方向。 西南交通大学硕士研究生学位论文第9 页 第2 章体数据的分析与处理 三维数据场可视化作为科学计算可视化领域中的核心内容,其本身包含 了诸多关键技术和重要内容,通过人们对体视化方向的理论研究和技术应用 的分析可知,三维数据场可视化技术的研究主要集中在两方面:数据分析处 理和三维可视化方法。 三维数据场可视化的过程中,数据是可视化的基础,其中又以三维体数 据为主,涉及到数据的各种格式转换和处理技术是实现优秀的可视化效果的 重要保障;可视化方法提供了一定的数据结构和计算规则,通过三维编程接 口实现,最终在计算机屏幕上显示出具有真实效果的三维图像,并提供不同 级别的交互式操作。 本章先说明可视化的大体流程,然后介绍了三维体数据的结构和表示方 法和对体数据的预处理操作,分析了本文使用的体数据的及对其进行的相关 预处理,将在下章讲述可视化的相关方法 2 1 三维可视化的总体框架 三维数据场中定义的体数据类型和格式可以不同,数据场中数据单元的 分布和连接关系的差别也会很大,但其可视化的基本流程却大体相同【1 】。图 2 1 描述了三维可视化的总体框架。 从图中可以看到三维可视化的第一个步骤是体数据获取。通过图像获取 设备( c r 、豫i 、u s ) 对真实物体进行离散化采样而得到一组二维断层图像序列; 也可以是对计算模型的离散采样以构成二维断层图像;还有一些科学计算数 据可以由计算机程序模拟产生,文件的格式可以自己定义。 第二步是数据预处理阶段。这个阶段是对数据的一种优化处理,包括精 练、滤波、插值、配准、参数域变换、计算法向量等数据处理的方法。在某 些实际应用中,初始的数据量过大,难以在现有的计算机设备上处理,需要 对原始数据加以精练和选择,减小数据规模;当断层图像间的间距相对于图 像内像素之间的间距很大时,或者断层图像之间的距离不均匀时,就需要在 断层图像之间构造新的二维图像,这个过程就叫做插值;一般来说,断层图 像都含有噪声,需要进行滤波以提高信噪比;如果要区分体数据中各种不同 的物体区域,就要进行数据的分割;要将源自不同影像设备的体数据溶合在 一起或者要校准同一设备不同断层图像之间由于影像设备的畸变和成像过程 中物体运动造成的错位,就要进行图像的配准;若最后的绘制是在频率域进 行的,在这个阶段还可进行参数域的变换;体数据的法向量在后续步骤中可 能需要用到,可以在这个阶段计算出来,用于后续的光照计算或者传输函数 的设计等 经过这一系列预处理后,就得到了一个各向同性的三维体数据预处理 西南交通大学硕士研究生学位论文第1 0 页 过程是后续体绘制的过程中的一个必要的数据整理和准备工作,改善最后生 成图像的画质。由于本文主要的任务是在g p u 上实现一个三维纹理算法的体 绘制算法,图像预处理阶段相关的对数据的处理涉及较少,会在本章下面内 容具体讨论。 图2 - 1 三维可视化的总体框架 第三步是数据分类映射阶段。这是整个流程非常重要的一个部分,分类 映射会对最终的绘制结果产生非常大的影响。其含义是,将经过处理的原始 数据转换为可供绘制的光学属性,如颜色、不透明度等。这里“映射”的含 义包括可视化方案的设计,即需要决定在最后的图像中应该看到什么,以及 如何表现出来,也将会在本章后面部分详细讨论 第四步是绘制合成阶段。将上一步产生的几何图素和属性转换为可供显 示的图像。实现体数据的可视化一般有两个途径,一个是进行物体的三维建 模,然后用传统的计算机图形学的显示方法对重构出的物体表面进行显示, 称为面绘制:另一条途径是直接对体数据进行显示,所以也叫直接体绘制 ( d i r e c tv o l u m er e n d e r i n g ) ,简称体绘制。本文讨论的重点就是体视化框架 里的体绘制技术,它是体视化里面发展最快,最为关键的一项技术。 最后一步是结果显示。将三维图像在二维屏幕上显示出来。 西南交通大学硕士研究生学位论文第l l 页 2 2 体数据的数据类型及表示方法 体数据的来源既包括科学计算的结果,如有限元的计算和流体物理的计 算,也包括测量仪器的数据,如地震勘测数据、气象检测数据、人体的c t 或m i u 扫描数据等。这些体数据可以是一维的、二维的、三维的、四维的甚 至更高维的本文所讨论的体绘制算法用到的体数据通常只考虑三维的,由 于很难得到连续的计算和测量数据,这些数据通常是离散的三维数据。 2 2 1 体数据的数据类型 数据类型有两层含义,一是数据本身的类型,二是数据的分布及连接关 系的类型1 1 。 1 数据本身的类型 在可视化中,有三种不同类型的数据需要可视化,即三种数据类型,分 别是标量、矢量和张量。 标量是指可以用一个不依赖于坐标系的数字表征其性质的量。标量场只 有大小没有方向,比较常见的有密度场、温度场、质量场等。标量场可视化 主要是揭示各分类物质的空间分布本文使用的就是标量场的三维体数据。 矢量是指需要用不依赖于坐标系的数字及方向表征其性质的量。矢量场 的数据不仅有数据的大小,还有方向的变化。典型的有速度场、加速度场、 位移场等矢量场的可视化除了揭示各分类物质的空阃分布外,还要反映其 变化的趋势。 将矢量场按以坐标变换为基础的定义加以推广,即可得到张量的定义。 张量场可以用于流体力学的计算,用以表示流体微团的微观变化标量是零 阶的张量,矢量是一阶的张量,矩阵( 方阵) 是二阶张量。 2 数据的分布及连接关系的类型 可视化的对象一般是指空间上离散的三维数据,有如下的分布及连接关 系的类型。 ( 1 ) 结构化数据:在逻辑上组织成三维数据的空间离散数据。也就是说,这些 空间离散数据的各个元素具有三维数组各元素之间的逻辑关系,每个元素 都可以有它自己所在的层号、行号和列号。 根据结构化数据中各元素的不同的物理分布,又可将其分为:均匀网格结 构化数据、规则网格结构化数据、矩形网格结构化数据和不规则网格结构 化数据,如图2 - 2 所示,本文最终使用的就是结构化体数据中的均匀网格 体数据 西南交通大学硕士研究生学位论文第1 2 页 田 ( i ) 均匀阳 规的( c ) 矩形的旧不规则的 图2 - 2 结构化体数据 ( 2 ) ! i i e 结构化数据:空间数据是由以系列的单元构成,但是,不能组织成三维 数组。这些单元可以是四面体、六面
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水泥定价协议书
- 牛奶价格协议书
- 建筑服务保洁合同
- 绿色食品供应链管理系统开发与运营合作协议
- 平安普惠借款合同
- 乡村农业现代化推广协议
- 车队承包维修合同协议
- 运输企业雇车合同协议
- 运输项目合作合同协议
- 油品设备协议书
- 2024年高等教育经济类自考-00100国际运输与保险笔试历年真题荟萃含答案
- 玻璃清洁机器人的研发-吸附机构设计
- 艺术留学作品集合同模板
- 类风湿性关节炎的早期迹象与治疗方式
- 2024-2025年上海中考英语真题及答案解析
- 冷库制冷负荷计算表
- 迅雷网盘最最最全影视资源-持续更新7.26
- 管理者与员工沟通技巧
- GB/T 19510.213-2023光源控制装置第2-13部分:LED模块用直流或交流电子控制装置的特殊要求
- 2024年桥式起重机司机(中级)职业技能考试题库(职校培训)
- 工程建设公司QC小组道路沥青混凝土面层裂缝的控制成果汇报书
评论
0/150
提交评论