(计算机应用技术专业论文)基于gpu的实时云景渲染技术的实现.pdf_第1页
(计算机应用技术专业论文)基于gpu的实时云景渲染技术的实现.pdf_第2页
(计算机应用技术专业论文)基于gpu的实时云景渲染技术的实现.pdf_第3页
(计算机应用技术专业论文)基于gpu的实时云景渲染技术的实现.pdf_第4页
(计算机应用技术专业论文)基于gpu的实时云景渲染技术的实现.pdf_第5页
已阅读5页,还剩84页未读 继续免费阅读

(计算机应用技术专业论文)基于gpu的实时云景渲染技术的实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

_ 。 一 ? q 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:堑兰:嗍年月日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:赴导师签名:歪酗一 日期:年月 日 摘要 摘要 随着计算机硬件的不断提升,游戏、影视、动画等行业中的各种图形应用软 件功能越发完善,虚拟现实技术逐渐成为计算机图形学研究的主要研究内容之一。 在虚拟现实研究领域中自然景物的虚拟场景模拟是不可或缺的一部分,自然景物 模拟,如河流、大海、云景等的模拟,是虚拟世界中真实感体现的一个亮点,然 而自然景物具有运动性,复杂性,随机性等特点,这些自然景物并不能通过简单 的几何体建模创建而成,往往需要考虑复杂的物理模型以及光照模型,以动态行 为来模拟实现。本论文针对云景渲染技术,通过g p u 编程,以插件方式实现数字 媒体内容创作平台中的一个功能模块;并设计该平台上的脚本系统,通过脚本系 统完成对云景模拟的动态配置。 在系统分析了云景模拟相关理论与实现技术的基础上,论文首先讨论了数字 内容创作平台的架构设计,以及系统组成。然后进一步设计了相应的脚本系统, 通过脚本系统封装,实现对功能模块的动态调用。系统具有良好的层次性,封装 性,易理解性。最后,在云景建模阶段,采用可编程管线实现了基于元胞自动机 的实时云景渲染模拟,并对逻辑变量的转换规则进行了添加,使云层的消逝模拟 只发生在边界区域,增加了其真实性。在光照阶段,采用多重散射光照模型模拟 云层所受光照作用,引入光照关联表和关照纹理数据库加速计算。在渲染阶段, 采用p o i n ts p i r i t 技术,减少了系统内存消耗,提高了程序执行效率。 关键词:脚本系统,g p u ,元胞自动机,多重散射,p o i n ts p i r i t a b s t r a c t a b s t r a c t w i t ht h ep r o m o t i o no fc o m p u t e rh a r d w a r ea n dt h ed e v e l o p m e n to fc o m p u t e r g r a p h i cs o f t w a r ei ng a m ed e v e l o p m e n t ,m o v i e ,a n i m a t i o na n do t h e rf i l e dg r a d u a l l y , v i s u a lr e a l i t yh a sb e c o m eo n eo fm o s ti m p o r t a n tr e s e a r c hc o n t e n ti nc o m p u t e rg r a p h i c r e s e a r c hf i l e d a sai n d i s p e n s a b l ep a r ti nv i s u a lr e a l i t y , t h en a t u es c e n e r i e sl i k eo c e a n , r i v e r , c l o u ds i m u l a t i o na r ea l w a y st h eh i g hp o i n t so f v i s u a lw o r l dr e a l i t yr e f l e c t i o n ,b u t t h e s en a t u r a ls c e n e r i e sa r ev e r yd i f f i c u l tt os i m u l a t ew i t hs i m p l eg e o m e t r ym o d e l i n g b e c a u s et h e i rd y n a m i c i t y , c o m p l e x i t y , r a n d o m n e s s i no r d e rt os i m u l a t ea n di m p l e m e n t t h e i rd y n a m i cb e h a v i o r , w eu s u a l l yn e e dt o c o n s i d e rt h ep h y s i c a lm o d e la n d i 1 1 u m i n a t i o nm o d e li n v o l v e di nt h e m t h i st h e s i si m p l e m e n t sn o to n l yac l o u dr e n d e r i n g f u n c t i o n a lm o d u l ea sap l u g i nc o m p o n e n t sb u i l d e do nd i g i t a lc o m t e n tc r e a t i o np l a t f o r m w h i c hu s e sg p up r o g r a m m i n gt e c h n o l o g y , b u ta l s o as c r i p ts y s t e mw h i c hc a nb e a p p l i e df o rd y n a m i cc o n f i g u r a t i o no fc l o u dr e n d n e r i n gm o d u l e o nt h eb a s i so fa n a l y z i n gc l o u ds i m u l a t i o nt h e o r ya n di m p l e m e n t a t i o nt e c h n o l o g y a tf i r s t ,t h i st h e s i sd i s c u s s e st h ef r a m ed e s i g na n ds y s t e mc o m p o s i t i o no fd i g i t a i l c o n t e n tc r e a t i o np l a t f o r m s e e o n d l l y , i td e s i g n sas c r i p ts y s t e mu s e d a sd y n a m i c i n v o k i n gf o rf u n c t i o n a lm o d u l ea c c o r d i n gt o i t se n c a p s u l a t i o n t h es c r i p ts y s t e mh a s g o o dh i e r a r c h y , u n d e r s t a n d a b i l i t y , e n c a p s u l a t i o na n de x t e n s i b i l i t yb e c a u s eo fm o d e r n s o f t w a r ee n g i n e e r i n g a tl a s t ,w ef i n i s hr e a l t i m ec l o u dr e n d e r i n gs i m u l a t i o nb a s e do n p r o g r a m m a b l ep i p e l i n ew h i c h u s e sc e l l u l a ra u t o m a t aa si t st h e o r e t i c a lb a s i si nt h ec l o u d m o d e l i n gp h r a s e i no r d e rt oe n h a c ei t sr e a l i t y , w ec h a n g et h el o g i c a lt r a n s f o r m a t i o n r u l et oe n s u et h ec l o u de x t i n c t i o no n l yh a p p e n e do nt h eb o u n d a r yr e g i o n i nt h e i l l u m i n a t i o np h r a s e ,w em a k eu s eo fm u l t i p l es c a t t e r i n gi l l u m i n a t i o nm o d e l a s0 1 1 1 i l l u i n i l l a t i o ns i m u l a t i o nm o d e la n di n t r o d u c ei l l u m i n a t i o nr e l a t i o nt a b l ea n dl i g h tt e x t u r e d a b a s et oa c c e l e r a t ec a l c u l a t i o n i nt h er e n d e r i n gp h r a s e ,w eu s ep o i n ts p i r i t t or e n d e r t h ef i n a lr e s u l t t h i st e c h n o l o g yh e l p su st o n o to n l yr e d u et h es y s t e mm e m o r y c o n s u m p t i o nb u ta l s oi n c r e a s et h ee f f i c i e n c yo f o u rs y s t e m k e y w o r d s :s c r i p ts y s t e m ,g p u ,c e l l u l a ra u t o m a t a , m u t i p l es c a t t e r i n g ,p o i n ts p i r i t i i 目录 目录 摘要i a b s t r a c t i i i 目录i i i 第一章引言1 1 1 引言1 i 2 课题背景1 1 3 国内外研究现状2 1 4 本文主要研究工作4 1 5 本文的章节安排4 第二章相关技术6 2 1d i r e c t x 图形库6 2 1 1d i r e c t x 功能组件7 2 1 2d i r e c t 3 d 体系结构8 2 1 3d i r e c t 3 d 的基本功能9 2 2g p u 编程概述10 2 2 1 可编程流水线1 0 2 2 2 顶点渲染1 3 2 2 3 像素渲染1 4 2 2 4 渲染语言1 6 2 3 本章小节1 6 第三章云景渲染算法1 7 3 1 基于粒子系统的云景渲染算法一1 8 3 2 基于p e r l i n 噪声的云景渲染算法1 9 i i i 目录 3 2 1 基于p e r l i n 噪声云景建模一1 9 3 2 2 基于p e r l i n 噪声纹理的云景渲染2 2 3 3 基于元胞自动机的云景渲染算法2 4 3 3 1 云的形成模拟2 5 3 3 2 云的消逝模拟2 7 3 3 3 风力场的模拟2 7 3 3 4 连续密度计算2 8 3 3 5 模拟过程的渲染2 8 3 4 基于物理模型的云景渲染算法2 9 3 4 1 云的动态模拟3 0 3 5 云的渲染与光照模拟3 3 3 6 云景渲染方法对比分析3 4 3 7 本章小节3 5 第四章数字内容创作平台3 6 4 1 平台系统架构3 6 4 2 系统主要模块构成3 8 4 2 1 内存管理模块3 8 4 2 2 数学基础模块3 9 4 2 3 资源管理模块3 9 4 2 4 图元管理模块3 9 4 2 5 场景管理模块3 9 4 2 6 渲染管理模块4 0 4 3 脚本系统的设计与实现4 2 4 3 1 脚本系统总体框架设计4 2 4 3 2 关键模块的静态模型4 3 4 3 3 嵌入脚本实现4 6 4 3 4 实验结果4 7 4 4 本章小节4 8 第五章云景渲染模块的设计与实现4 9 i v 目录 5 1 模块设计目标一4 9 5 2 数字内容创作平台插件管理一4 9 5 - 3 云景渲染模块框架5 2 5 3 1 云景渲染模块在系统中位置5 2 5 3 2 云景渲染模块的框架设计5 2 5 3 3 云景模块和数字内容创作平台的交互5 3 5 4 基于g p u 云景模拟的设计与实现5 4 5 4 1 云景模拟的数据组织5 4 5 4 2 云的形成模拟5 6 5 4 3 云的消逝模拟5 7 5 4 4 平滑处理6 1 5 5 光照的计算与模拟6 2 5 5 1 基本光照计算模型6 2 5 5 2 光线散射模型的设计与实现6 3 5 6 动态云景的渲染6 7 5 6 1b i l l b o a r d 技术与p o i n ts p i r i t 技术对比6 7 5 6 2 基于p o i n ts p r i t e 技术的云的渲染。6 9 5 6 3 云景渲染模块和脚本系统的交互6 9 5 7 最终试验结果与性能分析7 0 第六章总结和展望7 2 致谢7 3 参考文献7 4 攻硕期间取得的研究成果。7 7 v 第一章引言 1 1 引言 第一章引言 进入二十一世纪以来,以数字技术、网络技术与文化产业相融合而产生的数 字媒体产业在世界各地高速成长,不仅成为各国十分重视的新的经济增长点,同 时作为现代信息服务业的一个重要方向正影响和改变着人们的生活方式和观念。 据c c i d 测算,2 0 0 0 年全球数字媒体产业规模6 0 0 亿美元,2 0 0 4 年到达2 2 0 0 亿美 元,同比2 0 0 3 年增长4 6 7 。据i d c 预测,全球数字媒体产业的市场规模在2 0 1 0 年将达到4 1 1 6 亿美元,其年复合增长率将达2 3 7 。就我国而言,发展数字媒体 产业不仅已成为产业结构调整的战略需求,而且也是利用高科技手段传播和弘扬 民族文化的必然选择。应当看到,中国的数字媒体产业正处在加速发展的关键时 期,数字媒体以其多元化的信息传递手段、迅捷的信息传递速度等传统媒体无法 比拟的优势得到了越来越多的关注和追捧。国家广电总局在2 0 0 8 年1 2 月1 2 日签 署了国家高性能宽带信息网暨中国下一代广播电视网自主创新合作协议书,标 志着中国完全自主知识产权的“高性能宽带信息网( 3 t n e t ) 正式启动大规模应 用建设,更是为我国今后数字媒体产业的发展铺设的坚实的硬件基础。但是,与 国际先进水平相比,我国的数字媒体产业还处在起步状态。在国家科技部8 6 3 计 划于2 0 0 6 年发布的中国数字媒体发展白皮书一书中我们可以看到,从目前我 国数字媒体技术的发展状况来看,内容制作效率低、内容缺乏创新、标准滞后、 网络整合困难、终端不足、市场不成熟、价格缺乏制度依据、核心技术有待继续 研究、产业链尚待进一步完善、商业模式有待探索以及体制问题等诸多因素成为 制约我国数字媒体产业的健康发展主要瓶颈,严重影响了我国数字媒体产业和技 术的发展。在我国,数字媒体产业领域的研究才刚刚起步,仍具备极大的待发展 潜力。由此可以预见,对计算机图形学领域相关课题的研究正契合了我国数字媒 体产业发展的需求,为推动其软件基础的发展具有深刻的意义 1 。2 课题背景 本文的研究课题是基于c p u 的云景渲染的研究与实现,是以电子科技大学数 电子科技大学硕士学位论文 字媒体实验室的8 6 3 项目为依托研究开发的,即: 国家高技术研究发展计划( 8 6 3 计划) ,协作式数字媒体内容创作平台。 该项目的主要职责是研究数字媒体编程和创作中的各个关键技术。涉及到各 种高级的计算机图形学算法,包括场景的实时渲染技术。 1 3 国内外研究现状 自然景物的模拟式虚拟现实技术领域的重要研究内容。它们与规则的几何物 体不同,它们的表面往往包含丰富的细节同时具有随机变化的形状,这些细节与 随机变化的形状很难用传统的解析曲面来描述,模拟起来十分困难,却是虚拟场 景中不可缺少的部分。如何在虚拟场景中真实的再现生活中的自然环境是极具 挑战性的课题之一。云具有运动复杂、随机变化、无确定表面的的特点,所以对 于云景是渲染一直是自然景物渲染的重点和难点之一。 在早期对于云的实时渲染中,主要是使用两种方法,分别为纹理动画和粒子 系统,纹理动画是通过改变渲染物体时使用的纹理贴图,将多幅连续的图像按照 一定的顺序以一定时间间隔显示出来,从而模拟云的随机变化过程。粒子系统最 早由r e e v e s w t 在于1 9 8 3 年的文献【1 】中提出,通过使用粒子系统模型模拟了火焰, 爆炸等效果。1 9 8 5 年r e e v e s w t 和b l a u 发展了粒子系绀2 1 ,他们通过基本单元法 生成随时间改变形状但又基本保持不变的实体,将粒子活动进行简单的分解和描 述,然后进行场景渲染,能模拟出多种自然景物,由此形成了粒子系统的基本理 论。m a t t h i a su n b e s e h e i d e n 在随后的研究中,通过研究云的基本原理同粒子系统理 论相结合,得到了基于粒子系统的云渲染理论【3 j ,虽然这两种方法后来成为云景渲 染的主要方法之一,但是缺点在于模拟效果相对较差,获得云纹理的代价相对较 高,并且当纹理一次生成以后不能再被重用。 在近十几年,对于云景模拟的理论研究也取得了长足的进步。主要是集中在 非物理模拟方法和物理模拟方法两个方面,早期的云景模拟方法都是非物理方法, k i mp a l l i s t e r 提出了控制噪声纹理的相变化模拟云,最终通过纹理映射方式得到云 景渲染结果 4 1 ,随后,d u b e s 同样用噪声方法,将噪声纹理的产生过程在g p u 上 实现,实现了有曲线的云层纹理,得到云朵与天空结合的场景【5 j 。w a n g 提出了具 有艺术可控性和实时反馈的云建模方法,很好地解决了云模型难以控制的问题1 6 j , 该方法通过动画设计人员摆放盒子来堆积形成云的大致轮廓,再往盒子中随机填 2 第一章引言 充粒子模拟云的形状。为了模拟云的蓬松效果,他将各种类型云的形状抽象成1 6 张纹理并根据不同类型的云来选择合适的纹理映射到粒子上。2 0 0 2 年,m a r kj h a r r i s 改进了粒子系统,采用动态生成i m p o s t o r 技术来渲染云【_ 7 1 ,达到了良好的效 果,但渲染结果中依然存在可辨棉絮状颗粒。 上述的非物理模拟过程,主要是使用基本的渲染流程过程控制来进行云景渲 染,另一种非物理模拟过程主要是基于云形态的基本数学模拟,v o s s 采用分形几 何计算来模拟嗍,但是采用分形方法的模拟方法,当提高屏幕分辨率时,计算的复 杂度会急剧增加。g a d n e r 采用云层平面和椭圆面的方法解决云没有确定表面和边 界的问题 9 1 从而形成了具有较为真实感形态的云。d o b a s h i 采用元胞自动机的方 式作为云生成模型【1 0 】,该方法简化了云模型,大大降低了计算代价。 基于物理的模拟过程方法,主要用来对云景进行实时模拟,对云的动态效果 进行动态效果模拟。1 9 9 5 年,s t a m 通过对扩散方程的求解来模拟云和烟的动态变 化过程,并且在模拟过程中,可采用人工的方式对云的变化过程进行控制【1 1 l 。但 是s t a r e 所采用的只是对扩散方程的求解,整个扩散过程中不涉及对流体公式 n a t i v e r - s t o k e r s 模拟,因此在模拟效果上不尽如人意。在此基础上,n e y r e t 采用基 于文法规则的来模拟云的卷积结果【1 2 】,在某种程度上避免了复杂的数学运算,但 是对于模拟效果比基于物理的效果稍差一些。r m i y a z a k i 将大气物理理论与计算 机流体模拟技术结合起来,使用耦合映射格,降低了计算代价u 引。2 0 0 3 年,m a r k j h a r r i s 根据云的物理模型,通过对流体力学公式的求解的,得到了较好的三维云 模型,能够更好的模拟云的动态性 1 4 】。但是这种方式的计算量太大,同时需要通 过改变公式参数来控制云的形状,导致在云建模时可控性很差。 一些国内的研究人员也对云景渲染进行了研究,陈华光利用p e r l i n 噪声建立云 图像、通过使用指数函数对锐化云图像、得到了云彩灰度图像:通过颜色模型将 灰度图像转换成彩色云彩图像;改变参数能模拟不同气候条件下的云彩效果【l 引。 佟志忠、姜洪洲和韩俊伟改进并建立了云光照模型,在云建模中引入了大气密度 与海拔高度间的关系,并基于粒子尺度对散射相函数进行加权以提高仿真精度【l 州。 针对飞行模拟的静态动态云绘制,提出了基于粒子系统和实现云谱交互建模的有 效方法。郭刚采用地形波和风向影响修正实现对层云的模拟,基于热力学物理过程 和采用粒子系统实现对积云的模拟【i 7 i 。 对云的模拟过程,是一个可视化的过程。其次在此过程中常需要引入光照过 程,1 9 8 2 年,b l i n n 提出了提出了体密度散射模型f 1 8 】,体密度散射模型描述了基本 单散射过程。该模型清晰的给出了光与物质相互作用的机理,但同时该模型模型 3 电子科技大学硕士学位论文 只考虑了平行平面云层,仅适合于大面积的云层模拟,同时忽略了多次散射效应。 k a j i y a 在b l i n n 模型上基础上进行了扩展,提出了v o nh e n z e n 模型1 9 】。该模型引 入了多光源和变密度情况,加入了光线跟踪算法。讨论了粒子的高低反射率两种 情况,在高反射率情形下给出了多次散射方程的解。在随后的研究中,为了实际 的需要,s a b e l l a 提出了一种考虑粒子的相压遮挡效应的变密度发射体模型,该模 型实质上为一粒子光源系统f 2 0 1 。1 9 9 6 年,n i s h i t a 等人建立了一个考虑多次非均匀 散射的云模型 2 i j 。j e n s e n 和c h r i s r e n s e n 则在1 9 9 8 年提出了一个更完备的模型,考 虑了各种效应( 粒子的吸收、发射、单次散射和多次散射) 瞄】。 1 4 本文主要研究工作 本文对云景渲染相关技术进行了深入的分析和总结,内容包括:可编程管线 技术、图形引擎技术、软件工程中的设计模式、基于元胞自动机的云景建模算法、 多重散射算法。在此基础上,融合已有的内容创作平台架构,通过插件的方式实 现了云实时渲染功能模块,并结合平台架构实现脚本结合,并利用脚本调用实现 云动态设置和应用。其中对云景渲染采用基于g p u 渲染方法,大大提高了系统效 率。 总的来说,本文作者的主要研究成果有下面这些: 1 ) 研究归纳了当前云景渲染中存在的主要思想和算法,分析对比了各种算法的 优劣和实用范围。 2 ) 按照软件工程的思想设计并且实现了易于扩展的适用于3 d 游戏脚本系统, 充分利用了面向对象的c + + 语言的特点,具有很好的层次性、扩展性和重用 性,方便了用户的使用;利用其封装性极大的增强了系统的独立性。 3 ) 实现了基于g p u 的云景渲染模块,将基于元胞自动机的云建模的求解完全 放到g p u 上进行,同时在云景的光照阶段,采用多重散射模型以增强场景 的渲染效果,最终渲染结果采用点精灵方式渲染。该方法在高真实感渲染的 要求中表现良好,并能方便地用于云景实时渲染中。 1 5 本文的章节安排 本文共分六章,各章节的主要内容安排如下: 第一章介绍课题的研究生背景和国内外研究动态和水平,近而阐明了课题的 4 第一章引言 研究意义;阐述了课题的主要研究工作和论文的章节安排。 第二章技术背景介绍。本章针对课题研究中用到的重要技术进行了介绍,主 要介绍了系统实现所使用的d i r e c t x 图形库以及基于g p u 编程所使用的关键技术 和应用流程。 第三章云景渲染理论研究。从本章和第五章是论文的研究重点:基于数字内 容创作平台上的云景渲染。本章作为该技术的一个综合性研究与分析,得出了系 统实现所选取的理论基础。 第四章数字内容创作平台设计。本章主要介绍了数字内容创作平台的基本架 构,以及其中包括的模块和他们之间的关系,着重阐述了数字内容创作平台中脚 本系统的设计与实现,并给出了实验结果。 第五章基于数字内容创作平台的的云景渲染模块的实现。本章从工程实践方 面入手,介绍了基于数字内容创作平台设计的云景渲染模块的实现过程。其内容 包括各个算法的选择以及渲染场景的搭建和渲染。同时,本章还从最基本的理论 入手,详细介绍了基于c p u 的云景渲染的各个关键步骤以及模型渲染相关的方面, 即将元胞自动机理论实现在g p u 进行了实现,并结合多重散射模型对场景进行光 照计算。在本章的最后,对该渲染模块给出了性能分析和评价。 电子科技大学硕士学位论文 2 1dir e c t x 图形库 第二章相关技术 d i r e c t x 是由微软公司开发的基于w i n d o w s 系统的多媒体应用软件开发工具包 ( s d k ) 2 3 】,它提供了一套优秀的应用程序编程接口( a p i ) ,这个编程接口可以 提供给开发者开发高质量、实时的应用程序所需要的各种资源。d i r e c t x 技术的出 现将极大的有助于发展下一代多媒体应用程序和电脑游戏。自d i r e c t x 推出以来经 历了多个版本的发展。 d i r e e t x1 0 版本出现是在w i n d o w s 3 1 操作系统发布后,做为d i r e c t x 的雏形, 图形处理能力较弱,很多硬件也不支持,但是随着w i n d o w s9 5 的发布,稳定的窗 口操作系统,出现了划时代的变化,d i r e c t x 的命运也由此改变。d i r e c t x 2 0 最大 的改善是在d i r e c td r a w ,而且这个时代的经典游戏也出现了,很有代表意义的红 色警戒( r e d a l e r t ) 和d i a b l e ( 恐惧) ,d i r e e t x 2 0 的d 3 d 部分的雏形基本完成。 1 9 9 7 年微软发布了d k e c t x3 0 版本,在该版本中开始出现了3 d 加速卡,如3 d f x 的v o o d o o ,n v i d i a 的r i v a l 2 8 ,i n t e l 的1 7 4 0 。既d i r e c t x 3 0 版本发布后不久,微 软推出了5 0 版本。5 0 版本进一步提高了d 3 d ,并首次引入了雾化的支持,让3 d 游戏更有空间真实感,更能让玩家体验到真实的三维游戏环境;除此以外在游戏 系统的兼容性方面作了很大改善。在随后的d i r e c t x 6 0 版本中的3 d 效果更多了, 而且借助硬件的强大性能,可以渲染出高分辨率下的3 2 位色的3 d 效果。3 d 游戏 中的任何一个物体都有一个坐标,当此物体运动时,它的坐标发生变化,这指的 就是坐标转换;3 d 游戏中除了场景和物体还需要灯光,没有灯光就没有3 d 物体 的表现,无论是实时3 d 游戏还是3 d 影像渲染,加上灯光的3 d 渲染是最消耗资 源的。d i r e c t x 7 0 版本的最大的特色就是支持坐标转换和光源( t l ) 。2 0 0 1 年微 软发布了d i r e c t x 8 ,它首次引入了“像素渲染”概念,同时具备像素渲染引擎( p i x d s h a d e r ) 与顶点渲染引擎( v e r t e xs h a d e r ) ,通过v s ( v e r t e xs h a d e r ) 和p s ( p a e ls h a d 神 的渲染,可以很容易的营造出真实的水面动态波纹光影效果。主要代表显卡是 n v i d i a 的g e f o r c e3 ,后期a t i 的r a d o n 8 5 0 0 等。d k e c t x 8 的发布成了真正的第 4 代3 d 加速卡时代来临的标志。2 0 0 2 年底,微软发布d k e c t x 9 0 版本,d i r e e t x 9 0 更新d i r e c t x 8 0p s 和v s 的版本,目前版本是2 0 版本,近一步提高了g p u 编程 6 第二章相关技术 的效率和性能首先,p s2 0 具备完全可编程的架构,能对纹理效果即时演算、动态 纹理贴图,还不占用显存,理论上对材质贴图的分辨率的精度提高无限多。其次, v s2 0 通过增加v e r t e x 程序的灵活性,显著的提高了老版本( d i r e c t x 8 ) 的v s 性能, 新的控制指令,可以用通用的程序代替以前专用的单独着色程序,效率提高许多 倍;增加循环操作指令,减少工作时间,提高处理效率;扩展着色指令个数,从 1 2 8 个提升到2 5 6 个。另外,增加对浮点数据的处理功能,以前只能对整数进行 处理,这样提高渲染精度,使最终处理的色彩格式达到电影级别。突破了以前限 制p c 图形图象质量在数学上的精度障碍,它的每条渲染流水线都升级为1 2 8 位浮 点颜色,让游戏程序设计师们更容易更轻松的创造出更漂亮的效果,让程序员编 程更容易。d i r e c t x l 0 将完全放弃g p u 当中的固定渲染模式,并且支持g p u 行为 的完全自由化,即g p u 不在明确划分像素着色和顶点着色单元,并且支持多种任 务,如2 d 3 d 视频加速等等任务的自由分配。d i r e c t x l 0 将加入s h a d e r 4 0 技术, 并首度实现r a y t r a c i n g 光线追踪,将位移贴图d i s p l a c e m e n t 作为标准之一。目前 d i r e c t x l 0 0 只适用于w i n d o w sv i s t a 版本。 由此可见,从d i r e c t x l 0 版本到现在的d i r e c t x l 0 0 版本。每一次新版本的提 出无一不是一次新的技术更新,随着d i r e c t x 的不断发展,逐渐将用户从具体的硬 件系统中解放出来,用户可以完全不去理解操作系统的结构和指令系统,只要按 规定的流程书写就可以在w i n d o w s 视窗操作系统平台上执行。目前,已经成为高 薪能图形和游戏开发的首选。它集成了所有的曲面造型、图形变换、光照、材质、 纹理、像素操作、融合、反走样、雾化,等等复杂的计算机图形学算法。正是由 于d i r e c t x 为软件开发者提供的硬件无关性和良好的开发策略等特点,d i r e c t x 可 用于游戏开发,虚拟现实,实时渲染。动态模拟,科学计算可视化,影视广告等 领域。被公认为高性能和交互视景的标准。 在本文的开发中,选用目前主流的d i r e c t x 9 0 b 版本作为本文开发的主要图形 库。 2 1 1dir e c t x 功能组件 d i r e 似包括多个功能组件,主要有d i r e c t 3 d 、d i r e c t l n p u t 、d i r e c t s o u n d 、 d i r e c t m u s i c ,d i r e c t s o u n d ,d i r e c t p l a y ,d i r e c t s h o w ,d i r e c t s e t u p ,d i r e c t xm e d i a o b j e c t 。 d i r e c t 3 d 集成了开发d i r e c t x 程序三维图形部分的所有a p i 函数,它是d i r e c t x 电子科技大学硕士学位论文 最主要的一个组件,简称d 3 d ,随着计算机技术的飞速发展,越来越多的计算机 支持更多、更好、更快的三维图形显示效果,利用d i r e c t 3 d 进行实时三维图形开 发也成为当前三维图形开发中主要的手段。 d i r e c t l n p u ta p i 提供了对应用程序的所有输入设备的支持,包括键盘、手柄、 操纵杆和方向盘等,利用d i r e e t l n p u t 可以提高这些设备与游戏之间的兼容性,而 且不需要对外围设备进行设置。利用d i r e c t l n p u t 还可以控制力反馈设备,模拟使 用者的真实感觉。 d i r e c t s o u n d 提供了对高质量声音效果的支持,除了播放w a v 格式的声音和 处理混音之外,还可以为程序添加具有真实感的三维声音效果。 d i r e c t m u s i c 提供了对基于w a v e 、m i d i 和d i r e c t m u s i cp r o d u c e r 制作音乐的完 整解决方案,能够处理兼容于d i r e c t m u s i c 的各种音乐数据,该组件在当前流行 d i r e e t x 9 0 版本中,已经成为一个过时的组件,应用面不广。 d i r e c t p l a y 提供了玩家进行多人游戏的消息通信、玩家互动交流的平台环境。 通过d i r e c t p l a y ,将能够创建、查询和链接网络游戏的服务器和客户端。一旦建立 连接,d i r e c t p l a y 将能够实现网络之间的数据通信。 d i r e c t s h o w 提供了对多媒体数据流的高质量捕捉金额回放的支持,它支持多 种多媒体格式,包括a s f 、m p e g 、a v i 、m p 3 和w a v 等,d i r e c t s h o w 也是一个 过时的组件 d i r e c t s e t u p 提供了d i r e c t xr u n t i m e 的自动安装功能,对于没有安装d i r e c t x r t m t i m e 或者安装了较早版本的d i r e c t xr u n t i m e 的系统,d i r e c t xr u n t i m e 可帮助 开发人员系统进行最新版本的d i r e c t xr u n t i m e 的自动安装。 由此看来,d i r e c t x 是一个比较庞大的体系,在本文的开发中选用d i r e c t 3 d 作 为开发主要组件。 2 1 2dir e c t 3 d 体系结构 一个完整的d i r e c t 3 d 窗口图形处理系统的结构为,最底层为图形硬件,第二 层为设备驱动程序接口,第三层为硬件抽象层( h a r d w a r e a b s t r a c t i o nl a y e r , h a l ) 上,第四层为d i r e c t 3 da p i ,第五层为w i n 3 2 应用程序。如图2 1 所示: 第二章相关技术 d i r e c t 3 da p i 0 硬件抽象层 设备驱动程序接口 上 图形硬件 图2 1 d i r e c t 3 d 体系结构 2 1 3dir e c t 3 d 的基本功能 d i r e c t 3 d 是一个三维图形库,通过它可以绘制出类似客观世界的三维景象, d i r e c t 3 d 提供基本功能对客观世界进行三维模拟: ( 1 ) 建模。d i r e c t 3 d 提供了绘制点,线,面等基本形体的函数,还提供了复 杂三维物体以及复杂曲线、曲面( 如b e z i e r ,n u r b s 等) 的绘制函数。 ( 2 ) 变换。d i r e c t 3 d 图形库的变换包括基本变换和投影变换。基本变换有平 移、旋转、放缩、镜像四种变换。投影变换有平行投影和透视投影两种变换。其 变换方法有利于减少算法的运行时间,提高三维图形的显示速度。 ( 3 ) 颜色模式设置。d i r e c t 3 d 应用了一些专门的函数来指定三维模型的颜色。 d i r e c t 3 d 有r g b a 模式和颜色索引两种颜色模式。在r g b a 中,颜色可以由r g b a 值来指定;在颜色表索引模式中,颜色值由颜色表中的一个颜色索引值来指定。 ( 4 ) 光照与材质设置,用d i r e c t 3 d 绘制的三维模型在渲染过程,通过加入光 照使,使其更加贴近客观现实物体,d i r e e t 3 d 提供了四种光的渲染方法( 辐射光、 环境光、漫反射光、镜面光) 。另外还可以指定模型表面的反射特性。材质是用光 9 电子科技大学硕士学位论文 反射率来表示的。场景中物体最终反映到人眼是光的红、绿、蓝分量与材质红、 绿、蓝分量的反射率相乘后形成的颜色。 ( 5 ) 纹理映射。三维场景中的物体因为缺少物体的具体细节而显得不真实, 为了更加逼真的表现三维景物,d i r e c t 3 d 提供了纹理映射的功能,d i r e c t 3 d 提供 的一系列纹理映射函数使得开发者可以非常方便的把真实图像映射到景物的多边 形面上,从而可以再视窗内绘制逼真的三维场景。 ( 6 ) 位图显示和图像增强。d i r e c t 3 d 提供了一系列增强图像效果的函数,这 些函数通过混合、反走样和雾来增强图像的效果。混合适用于用用来处理模型的 半透明的效果,反走样用于改善

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论