(计算机应用技术专业论文)虚拟演播室中虚拟场景生成系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)虚拟演播室中虚拟场景生成系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)虚拟演播室中虚拟场景生成系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)虚拟演播室中虚拟场景生成系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)虚拟演播室中虚拟场景生成系统的设计与实现.pdf_第5页
已阅读5页,还剩92页未读 继续免费阅读

(计算机应用技术专业论文)虚拟演播室中虚拟场景生成系统的设计与实现.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第l 页 摘要 虚拟演播室系统可以使现场视频与计算机产生的三维图形实时地集成在 一起。它突破了传统演播室实景制作和场景设计的时空限制,能将真实人物与 虚拟环境自由组合,完美地表现出电视节目制作者的非凡创意,提高电视节目 制作的质量和效率,同时降低了节目制作费用。 目前较成熟的商用虚拟演播室系统均是基于独立工作站平台开发,其价格 昂贵。对于中小型电视台而言,购买一整套虚拟演播室系统成本较高。因此, 开发一种成本低、实用性强的虚拟演播室系统具有广阔的应用前景和现实意义。 而利用p c 机实现虚拟演播室系统具有成本低、控制灵活等特点,能够满足中小 型电视台的电视节目制作需求。因此,利用p c 机实现虚拟演播室系统已成为目 前的研究热点。 在此背景下,本论文在基于已有的虚拟演播室系统理论的基础上,从开发 一套实际的基于p c 机的虚拟演播室系统的角度出发,将研究工作主要集中在基 于p c 机的虚拟演播室中虚拟场景生成系统的研究、设计和实现上。论文先从理 论上对虚拟演播室系统的意义、工作原理和关键技术以及现有虚拟演播室系统 的优缺点进行了阐述,确定了基于p c 机和d i r e c t 3 d 技术进行虚拟演播室系统 开发的方案;接着对虚拟演播室系统的虚拟场景生成技术进行了研究;同时详 细介绍了实现本系统所采用的d i r e c t 3 d 技术,重点对其整体构架及相关知识点 进行了论述。 在此分析和研究的基础上,选择d i r e c t 3 d 作为系统的3 d 开发平台、使用 v i s u a lc + + 7 0 作为开发工具及采用面向对象的设计方法对虚拟演播室中虚拟 场景生成系统按工作流程从整体到局部进行了整体构架设计,并在此设计基础 上具体实现了虚拟场景生成系统的事件处理、渲染初始化、场景数据预处理和 管理、虚拟摄像机管理、场景渲染及图像数据输出模块,最终实现了基于 d i r e c t 3 d 技术的虚拟场景生成原型系统,为虚拟演播室系统提供了良好的功能 服务。 关键字:虚拟演播室;场景渲染:裁剪;d i r e c t 3 d 西南交通大学硕士研究生学位论文第l i 页 a b s t r a c t t h ev i r t u a l s t u d i o s y s t e m c a l l i n t e g r a t e t h es c o n ev i d e oa n dt h e t h r e e - d i m e n s i o n a lg r a p h p r o d u c e db yc o m p u t e ri nr e a l t i m e i tc a l lb r e a kt h r o u g ht h e s p a c e - t i m el i m i to ft r a d i t i o n a ls t u d i os c e r t ea b o u tp r o d u c t i o na n dd e s i g n ,c o m b i n e t h er e a lc h a r a c t e rw i t hv i r t u a lb a c k g r o u n df r e e l y , e x p o p e r f e c t l yt h et e l e v i s i o n p r o g r a m m e r se x n a n r d i n a r yc r e a t i v i t y , i m p r o v et h eq u a l i t ya n d t h ee f f i c i e n c yo f t h e t e l e v i s i o np r o g r a mc r e a t i o n , a n dr e d u c et h ec o s to f t h ep r o g r a mm a n u f a c t u r e c u r r e n t l y , t h em a t u r ec o m m e r c i a lv i r t u a ls t u d i os y s t e mw h i c hd e v e l o p e do n t h eb a s i so fi n d e p e n d e n tw o r k s t a t i o np l a t f o r mi se x t r e m e l ye x p e n s i v e i tw i l lc o s t m a n yt op u r c h a s ev i r t u a ls t u d i os y s t e mf o rt h em i d d l eo rs m a l ls c a l e dt e l e v i s i o n s t a t i o n t h u s ,i th a saf a i r l yb r i g h tf u t u r ef o ru t i l i z a t i o nt od e v e l o pal o w c o s ta n d p r a c t i c a lv i r t u a ls t u d i os y s t e m t h ev i r t u a ls t u d i os y s t e mb a s e do np ci sc h e a pa n d f l e x i b l et oc o n t r 0 1 i tc a ns a t i s f yt h er e q u i r e m e n to fp r o g r a mm a n u f a c t u r ef o rt h e m i d d l eo rs m a l ls e a l e dt e l e v i s i o ns t a t i o n t h e r e f o r e ,t h ev i r t u a ls t u d i o s y s t e m r e s e a r c hu s i n gt h ep cm a c h i n er e a l i z a t i o nh a sb e c o m eh o t s p o tn o w u n d e rt h i sb a c k g r o u n d ,t h i st h e s i s sl e s e a r c h , w h i c hb a s e do no l dv i r t u a ls t u d i o s y s t e mt h e o r y , i sf o c u sp r i m a r i l yo nt h ed e s i g na n di m p l e m e n to fv i r t u a ls c o n e r e n d e rs y s t e mi nv i r t u a ls t u d i os y s t e mw h i c hb a s e do np cm a c h i n e f i r s t , t h i st h e s i s e x p o u n d st h e o r e t i c a l l ys i g n i f i c a n c ea n dt h ep r i n c i p l eo fw o r ka n dt h ep i v o t a l t e c h n o l o g i e so f v i r t u a ls t u d i os y s t e ma sw e l la sm e r i ta n df l a wo f t h ee x i s t i n gv i r t u a l s t u d i os y s t e m i tm a k e ss u r ep m j e c tt h a td e v e l o p i n gv i r t u a ls t u d i os y s t e mb a s e do n d i r e c t 3 dt e c h n o l o g yo np cm a c h i n e n e x t ,t h i st h e s i sh a sc o n d u c t e dt h et h o r o u g h r e s e a r c ht ov i r t u a ls e e n cr e n d e rt e c h n o l o g yi nv i r t u a ls t u d i os y s t e m m e a n w h i l e ,i t h a si n t r o d u c e dt h ed i r e c t 3 dt e c h n o l o g yi nd e t a i l t h i st h e s i sc h o o s e sd i r e c t 3 d 勰d e v e l o pp l a t f o r m ,a n du s e sv i s u a lc + + 7 0 d e v e l o p m e n tk i ta sd e v e l o pt o o l ,a n da d o p t st h eo r i e n t e d - o b j e c td e s i g nm e t h o dt o d e v e l o pt h es y s t e m a n di th a sc a l t yo u tt h eo v e r a l ld e s i g nt ov i r t u a ls c o n er e n d e r s y s t e mi na c c e d i n gt ot h ew o r k f l o wf r o mt h ew h o l et ot h ep a r t t h et h e s i sh a s r e a l i z e dc o n c r e t e l yv i l t u a ls c e l l er e n d e rs y s t e mw h i c hi n v o l v e st h a th a n d l i n ge v e n t , 西南交通大学硕士研究生学位论文第| ii 页 i n i t i a l i z a t i o n , p r c p r o c e s s h l go fs c ed a t a , m a n a g e m e n to fs c e n ed a t a , m a n a g e m e n t o fv i r t u a lc a m e r a , s c er c 咀d c ra n do u t p u t t i n gi m a g ed a t a t h ev i r t u a ls c e n cr e n d e r s y s t e mh a sp r o v i d c dt h eg o o df u n c t i o ns e r v i c ef o rv i r t u a ls t u d i os y s t e m k e y w o r d s :v m u a ls t u d i o ;s c e n er e n d e r ;c u p p i n g ;d i r e c t 3 d 西南交通大学硕士研究生学位论文第1 页 第1 章绪论 1 1 虚拟演播室系统的研究背景 1 1 1 虚拟演播室系统的概念 多年来,传统的电视节目制作是利用色键技术将主持人的活动与不同的背 景混合起来,用于拍摄些在现场无法拍摄完成的画面。这项技术在较长时 间内被广泛应用,但随着电视节目制作技术的发展和观众欣赏水平的不断提高, 该制作方式所呈现的缺点越来越明显,它的主要问题是前景主持人和背景不能 实时地同步变化,当摄像机的推、拉、移等运动变化使主持人在画面中的位置 发生改变时,作为背景的画面却固定不动,这样会使得合成的图像不真实、不 自然,造成视觉上的差异,影响了项目效果“1 。因此,许多公司在上个世纪9 0 年代初就开始了虚拟演播室系统的研究与开发工作。 虚拟演播室系统( v i r t u a ls t u d i os y s t e m ,简称v s s ) 是近几年来随着计算机 技术飞速发展和色键技术不断改进而出现的一种新的电视节目制作系统”1 。它 实际上是把演播室中已有的视频技术与现代计算机技术相结合,通过专业的计 算机三维图形技术,模拟真实的电视节目演播场景,并通过摄像机位置参数的 精确传感,使真实电视演播视觉空间与三维虚拟场景空间在透视关系上完全一 致,最终用视频色键混和器处理,将演播主体合成到三维虚拟场景中,实现电 视节目的虚拟场景演播n ,。 1 1 2 现有虚拟演播室系统的优缺点 虚拟演播室系统除了可以进行数字化三维布景外,还可以带来许多意想不 到的应用。使用虚拟演播室系统可以产生任何想象中的布景和道具,无论是静 态的,还是动态的,无论是现实存在的,还是虚拟的。虚拟演播室系统突破了 传统演播室实景制作和场景设计的时空限制,能将真实人物与虚拟环境自由组 合,完美地表现出电视节目制作者的非凡创意嘲。同时它还具有许多优点: ( 1 ) 降低电视节目的制作费用。由计算机制作三维虚拟场景,不需要搭建真 西南交通大学硕士研究生学位论文第2 页 实场景,只需要一个蓝色的背景即可,避免了真实场景的制作、安装、拆除、 运输和存储空闻,节约了大量人力、物力和财力。 ( 2 ) 提高电视节目的制作质量。电视节目制作者可以摆脱时间、空间及道具 制作等方面的限制,充分发挥想象力,在广泛的想象空间中自由创作出人工难 以甚至无法实际制作的三维虚拟场景,提高节目的质量。 ( 3 ) 提高电视节目的制作效率。制作三维虚拟场景比传统的人工搭建真实场 景快捷方便,并且制作完成后的三维虚拟场景保存在计算机数据库中,以后可 以重复使用。这大大缩短了电视节目的制作周期,提高了制作效率和资源的利 用率”。 随着计算机科学技术的发展,虚拟演播室系统也将不断完善,它所制作的 电视节目质量将越来越高、制作效率越来越高、制作成本越来越低,这些正适 合了当前传播媒体的迅速发展、观众对节目质量要求高,节目需求量大等形势 发展的需求。虚拟演播室系统的发展与应用空间也必定越来越大。 但是目前成熟的商用虚拟演播室系统均是基于图形工作站平台开发,整个 系统相对独立,系统价格比较昂贵,对于中小型电视台而言,购买一整套虚拟 演播室系统成本较高。为了使虚拟演播室系统在国内得到推广与普及,开发 一种成本低、价格低廉、实用性强的虚拟演播室系统就具有广阔的应用前景和 现实意义。而利用p c 机实现虚拟演播室系统具有成本低、控制灵活等特点,能 够满足中小型电视台的电视节目制作需求。这样,利用p c 机实现虚拟演播室系 统已成为目前的研究热点。 1 1 3 虚拟演播室系统的国内外研究现状 虚拟演播室系统可以使现场视频实时地与计算机产生的三维虚拟背景图 像集成在一起。一台工作站可与多台摄像机连接,摄像机可在虚拟演播室中随 意移动,高速实时图形工作站根据摄像机跟踪系统的信息建立逼真的三维背景 图像从而得到真实道具所不能达到的特殊效果。这一技术使电视节目制作者可 以摆脱了时间、空间及道具制作方面的限制,在广泛的想象空间中自由创作“”1 。 虚拟演播室系统可以极大地提高电视台对节目的创作和制作能力,降低节目制 作费用。基于此,许多公司从上世纪9 0 年代就开始了虚拟演播室系统的研究和 实际开发。 1 9 9 3 年,美国的u l t i m a t t e 公司开始展示他们的虚拟演播室系统: 1 9 9 4 年在荷兰的m c 国际广播展览会上,德国的i m p 和v a p 公司展出虚拟 西南交通大学硕士研究生学位论文第3 页 演播室系统: 1 9 9 5 年的i b c 展览会上,i m p 和v a p 、以色列的o r a d 和r s e t 以及西班牙 等5 家公司展示了虚拟演播室系统: 在1 9 9 7 年的n a b 上,美国的e v a n s & s u t h e r l a n d 公司推出了m i n d s e t 虚拟演 播室系统,这是首套基于w i n d o w s n t 和实时图形工作站的系统。 当前,国际上虚拟演播室系统主要有美国的a c c o m 公司的e l s e t 系统、 美国e & s 公司的m n d s e t 系统和两家以色列公司:r t s e t 和o r a d 的系统。 r t s e t 是一家为以色列空军提供飞行模拟技术的公司,其l a r u s 系统功能完善, 性能稳定,还能利用虚拟摄像机脱离实际演播室的界限进行漫游“拍摄”,将 虚拟蓝箱扩大到演播室的摄像范围。o r a d 公司的c y b e r s e t 系统利用视频信号本 身来抽取摄像机的移动参数,而不在摄像机镜头或云台上安装机械感测器,该 系统还利用“像素等级”深度建模组,使得虚拟物体、实物和主持人之间相互 遮掩,从而获得逼真的三维效果”1 。 国内几家大公司如中科院大洋图像公司、索贝数码公司、新奥特公司和奥 维迅公司也纷纷推出了自己的虚拟演播室系统。奥维迅公司的a v s e t 虚拟演播 室系统就是一套采用先进的图形算法和跟踪技术研发出来的国产虚拟演播室系 统,通过传感系统精确跟踪摄像机各种参数并传递给虚拟演播室专用计算机处 理系统,该处理系统根据传感参数实时产生一个有空间感的虚拟场景,并与演 播主体之间保持一致的空间透视关系。视频色键器对摄像机获得的前景信号和 虚拟演播系统产生的背景信号进行处理,从而实现演播主体与虚拟场景的合成。 a v s e t 还可以与非线性编辑系统结合使用,将虚拟演播的节目直接输出到非线 性编辑系统中进行编辑播出,并可将编辑结果记录到网络共享存储器中,实现 演播资源共享“3 “1 。不过总体来说,由于硬件和软件水平的差异,国产虚拟演 播室系统在性能上还无法与国外同类产品相比。但是随着虚拟演播室技术的发 展,国内虚拟演播室系统的图像质量会越来越高,其功能和应用将更加广泛。 不过由于目前虚拟演播室系统的造价较高、操作复杂及配套技术支持不到 位等诸多因素,使得虚拟演播室系统在国内的推广与普及具有一定的困难。在 此情况下,开发一种成本低、价格低廉、实用性强的虚拟演播室系统就具有广 阔的应用前景。而利用p c 机实现虚拟演播室系统具有成本低、控制灵活等特点, 能够满足中小型电视台的电视节目制作需求。目前已有的基于p c 机的虚拟演播 室系统原型系统均采用o p e n g l 技术作为其虚拟场景生成的开发平台。o p e n g l 是以s g i 的g l = 维图形库为基础制定的一个通用共享的开放式三维图形标准, 它独立于操作系统,以o p e n g l 为基础开发的应用程序可以十分方便地在各个 西南交通大学硕士研究生学位论文第4 页 平台间移植。o p e n g l 在m i c r o s o f t 公司开发的运行于计算机平台的多媒体控制 处理引擎库中的d i r e c t 3 d 技术出现之前在三维图形系统开发中具有重要的地 位。不过自从d i r e c t 3 d 技术出现之后,o p e n g l 在开发成本和版本更新速度上 远远落后于d i r e c t 3 d ,使得越来越多的开发者选择d i r e e t 3 d 作为其开发三维图 形应用程序的首选开发平台。因此本论文在通过研究d i r e e t 3 d 与o p e n g l 技术 的各自优劣和发展趋势后,采用了d i r e e t 3 d 技术实现本虚拟演播室原型系统中 虚拟场景生成的关键问题。 1 2 本论文的主要研究内容及意义 虚拟演播室系统作为一个独立的系统主要包括三方面的内容:摄像机的跟 踪系统;虚拟场景生成系统:前景视频抠像及合成系统。本论文根据该系统功 能划分,在基于已有的虚拟演播室系统理论的基础上,从开发一套实际的基于 p c 机的虚拟演播室系统的角度出发,主要将研究工作集中在基于p c 机的虚拟演 播室中虚拟场景生成系统的研究、设计和实现之上。论文先对虚拟场景生成系 统的实现所需要的相关技术进行了理论上的研究分析,然后又对整体构架进行 了具体的设计,最后对整个系统进行了实现。 本论文的主要研究内容如下: ( 1 ) 对虚拟演播室系统的意义、工作原理、关键技术和现有虚拟演播室系 统的优缺点进行了概述。 ( 2 ) 对实现虚拟演播室系统中虚拟场景生成系统的d i r e e t 3 d 技术的体系结 构和组件进行了概述,重点对其应用开发相关知识点进行了详述。 ( 3 ) 先按照虚拟演播室中虚拟场景生成系统的实际开发需求对系统的开发 平台、开发工具进行了选择,然后对虚拟场景生成系统按工作流程从整体到局 部进行了整体构架设计,最后划分了具体子模块。 ( 4 ) 按流程分模块对虚拟场景生成系统的事件处理、渲染初始化、场景数 据预处理和管理、虚拟摄像机管理、场景渲染及图像数据输出模块进行了具体 实现。 本系统按照“价廉、实用、符合中小型电视台需求”的原则进行了设计和 实现,这对于虚拟演播室系统在我国的普及与推广均具有一定的意义。 西南交通大学硕士研究生学位论文第5 页 1 3 本论文的组织与结构 本论文共分为了五大部分,它们的组织和内容如下: ( 1 ) 第一章绪论部分阐述了本论文的研究背景、意义、国内外研究现状及本 论文的主要研究内容。 ( 2 ) 第二章先对虚拟演播室系统的意义、工作原理和重要组成部分进行了概 述,然后对实现虚拟场景生成系统的d i r e c t 3 d 技术的体系结构和组件进行了概 述,重点对其应用开发相关知识点进行了研究。 ( 3 ) 第三章先按照虚拟演播室中虚拟场景生成系统的实际开发需求对系统 的开发平台、开发工具进行了选择,然后对虚拟场景生成系统按工作流程从整 体到局部进行了整体构架设计,最后划分了具体子模块。 ( 4 ) 第四章按流程分模块详细介绍了虚拟场景生成系统的事件处理、渲染初 始化、场景数据预处理和管理、虚拟摄像机管理、场景渲染及图像数据输出模 块的开发过程。 ( 5 ) 总结与展望部分对本论文的具体工作进行了总结,并根据实际需要提出 了需要深入研究的问题。 西南交通大学硕士研究生学位论文第6 页 第2 章虚拟演播室系统及d ir e c t 3 d 场景生成技术 2 1 虚拟演播室系统的工作原理与组成部分 虚拟演播室系统是通过专业的计算机三维图形技术,模拟真实的电视节目 演播场景,并通过摄像机位置参数的精确传感,使真实电视演播视觉空间与三 维虚拟场景空间在透视关系上完全一致,最终用视频色键混和器处理,将演播 主体( 演播员、道具等) 合成到三维虚拟场景中,实现电视节目的虚拟场景演播。 它可以超越现实的虚拟场景,完美地表现出电视节目制作者的非凡创意,飞越 演播时空,在作者的想象空间中任意创作。虚拟演播室系统将传统的色键技术 及图形处理技术融合在一起,突破了传统演播室实景制作和场景设计的时空限 制,能将真实人物与虚拟环境自由组合,具有虚拟背景、虚拟光效和虚拟人物 等特点和功能“”。 虚拟演播室系统的工作原理是:将摄像机拍摄的实景画面作为前景画面, 同时将摄像机跟踪系统采集到的真实摄像机运动参数传送给图形计算机,图形 计算机跟踪真实摄像机的运动参数生成合适的虚拟背景画面,通过色键技术将 前景画面与虚拟背景画面进行合成,使它们同步并形成正确的透视关系,最后 输出前景和背景完美融合在一起的画面“。其系统工作原理如图2 1 所示。 合成圈 图2 - 1 虚拟演播室工作原理图 虚拟演播室系统采用了传统的色键合成系统,却突破了传统色键系统的限 西南交通大学硕士研究生学位论文第7 页 制,做到真实的演员能深入到虚拟的三维场景中,并能与其中的虚拟对象实时 交互“7 ”1 。虚拟演播室系统的背景是由计算机通过图像合成和动画制作的方法 生成的,背景的成像依据真实摄像机的位置、运动参数、摄像及感光方式等, 以保证演员和布景的三维透视关系、光学效果、运动速度完全相同,从而使两 者叠加融合在一起。 虚拟演播室系统的组成大致可分为三个方面:一是摄像机的跟踪系统;二 是虚拟场景的生成系统:三是前景视频抠像及合成系统。本论文主要从事虚拟 场景生成系统的研究、设计和实现。该部分先使用虚拟场景生成技术对三维场 景进行实时绘制,然后将生成的虚拟背景传递给虚拟演播室系统,主系统再调 用前景抠像合成系统将背景图像与前景图像进行合成,最后生成完整的一帧虚 拟演播室图像。下面将阐述该技术及与该技术相关联的三维图形学知识。 2 2 虚拟演播室中的场景生成技术 虚拟演播室系统中的场景、道具通常都由计算机产生。在常规演播室中不 可能做到的复杂而庞大的背景,甚至许多现实生活中人们不可能见到的景观,都 可以在虚拟演播室中得以实现。一般来讲,要在计算机屏幕上生成三维物体的 一幅图像,首先必须在计算机中建立该物体的模型。最常用的是几何造型,即 由一批几何数据及数据之间的关系来表示所要显示的形体。在实际的虚拟演播 室系统中,三维场景的模型数据通常来源于大型三维动画制作软件所生成的模 型数据文件。有了三维物体的模型,就需要应用三维图形生成技术将该模型以 二维图像的形式显示在屏幕上。包括裁剪技术,即消除那些由当前的视点看不 到的物体,从而产生层次感;建立或选用适当的光照模型,尽可能较准确地模 拟物体在现实世界中的光照效果;纹理映射技术,即在物体表面产生比较真实 的纹理效果。 三维图形的绘制离不开底层图形绘制包,这些开发包封装了三维图形绘制 所需要的多方面知识,提供了统一的接口给开发者调用。论文采用了目前流行 的d i r e c t 3 d 开发包作为三维开发平台,下面将对d i r e c t 3 d 开发包的功能和整体 结构作详细地介绍。 西南交通大学硕士研究生学位论文第8 页 2 3d ir e o t 3 d 整体概述 为了在计算机上绘制三维虚拟场景时获得较快的速度和较好的效果,需要 使用一些专门的三维图形软件开发包。这些软件包提供了丰富的库函数和程序 接口供开发人员设计计算机绘图程序,功能十分强大。开发者当然也可以自行 设计自己的底层三维图形软件包,但如此一来,需要巨大的工作量,效果也不 一定好。目前在p c 机上广泛使用的3 d 图形软件开发包有o p e n g l 和d i r e c t x 两大类,系统选择d i r e c t x 作为底层三维图形软件开发包。 2 3 1d ir e e t x 软件包 d i r e c t x 是m i c r o s o f t 公司开发的运行于计算机平台的多媒体控制处理引 擎,基于d i r e e t xa p i 设计开发的多媒体软件运行于硬件抽象层( h a r d w a r e 曲s t r a c t i o nl a y e r , h a l ) 上,即充分利用了系统硬件的加速功能,又隐藏了硬件相 关的设备特性,通过编写与设备无关的高效代码,d i r e c t x 程序总能以最佳方式 运行,因此具有效率高,并且易于开发的优点“。目前最新版本的d i r e c t x9 0 主要由如下的几部分组件构成: ( 1 ) d i r e c t xg r a p h i c s 组合了d i r e c t x 早期版本的用于2 d 图形处理的 d i r e c t d r a w 和用于3 d 图形处理的d i r e e t 3 d 编程接口。可以利用d i r e c t x g r a p h i c s 单一的编程接口以及扩展的d i r e c t 3 d 接口来统一处理图形编程。本论 文将要讨论的3 d 图形应用就是在这个组件基础上开发的。 ( 2 ) d i r e c t xa u d i o 该组件把过去d i r e c t x 版本中的d i r e c t s o u n d 和 d i r e c t m u s i e 组件结合到同一个a p i 中,负责所有的音频编程。 ( 3 ) d i r e c f l n p u t 提供各种输入设备的编程支持,包括键盘、鼠标、游戏杆 和各种游戏控制器等。d i r e c t i n p u t 通过直接访问底层硬件的驱动程序来取得用 户的输入信息,不需要依靠w i n d o w s 操作系统所传递的输入消息来判断用户的 输入,因此,可以更快地响应用户的各种输入。 ( 4 ) d i r e c t p l a y 在s o c k e t 套接字的基础上提供更高层的网络编程接口, 包括网络连接、数据包收发、数据包加密等处理,可用来开发多人联机的网络 游戏。 ( 5 ) d i r e c t s h o w 支持对多媒体流的高质量捕捉和回放。 ( 6 ) d i r e c t s e t u p 提供相关的接口函数实现在用户计算机上安装必要的 西南交通大学硕士研究生学位论文第9 页 d i r e :c t x 运行时库。 由于本系统的主要工作是进行三维场景渲染,本系统的具体实现也是建立 在d i r e c t 3 d 技术之上,因此下面将从d i r e c t 3 d 整体架构和d i r e c t 3 d 应用开发 知识点两方面对d i r e c t 3 d 技术进行详细地阐述。 2 3 2d ir e c t 3 d 整体架构 三维物体的渲染过程分为几何阶段和光栅阶段“。几何阶段主要负责大 部分多边形和顶点操作,可以将这个阶段进一步划为图2 2 所示的几个功能阶 段。光栅阶段的目的是给每个像素正确配色,以便正确绘制图像,这个过程称 为光栅化,也就是把屏幕空间的二维顶点转化为屏幕上的像素。 图2 2 将几何阶段划分为几个功能阶段 模型变换主要是将一个三维物体通过建模的微分方法,把弯曲的表面切分 为一个个的三角形面,这样三维物体的表面绘制就转化为物体中所有三角形面 的绘制。要渲染由众多三维物体组成的三维场景,需要先引入局部坐标系,为 场景中的各个三维物体进行三角形顶点的坐标量化。之后再引入世界坐标系, 把整个场景中所有三维物体的各自顶点局部坐标,转换为同一个世界坐标系下 的坐标。在同一个世界坐标系中,场景中各个三角形面的顶点坐标如实的给出 了场景中物体间的空间关系。 光照和着色阶段主要任务是:为了让模型看起来更加真实,可以给场景配 上一个或者多个光源。同时还可以选择是否使灯光影响几何体的外观,几何模 型可以有与其每个顶点相关联的颜色或者覆盖其上的纹理。对于受光源影响的 模型来说,可以用光照方程来计算模型上每个顶点的颜色。模型在图形上通常 西南交通大学硕士研究生学位论文第1 0 页 以三角形来表示,物体中每个顶点的颜色可以由光源及其特性、顶点的位置和 法线、顶点所在的材质属性来混合计算”1 。光照计算是在世界空间中进行的, 这个过程最终是输出具有世界坐标的场景下的所有三维物体的顶点信息。 视点变换阶段的任务是在三维场景中选定位置和方向架设摄影机,取景范 围由一个棱台视截体决定。在视截体之内的部分,应显示处理;视截体之外的 部分则要裁剪掉,不显示出来。为了便于裁剪,在摄像机的位置处建立一个摄 影坐标系,其z 轴指向摄影机的视线方向,从而使视截体的6 个外围侧面具有 较为简单的方程式。此时,需要将场景中所有物体的三角形顶点的世界坐标转 换为摄影坐标系下的坐标。这个过程最终输出世界坐标变换为摄影坐标的顶点 信息。 裁剪和透视变换的主要工作是:取得场景中所有物体的三角形顶点的摄影 坐标之后,开始进行裁剪和透视投影处理。先将视截体投影变换为一个 - i ,1 - i ,1 0 ,1 的立方体,这样,顶点是否位于视觉范围内,就可以通过 - 1 x 1 ,- 1 y 1 ,0 s e t r e n d e r s t a t e ( d 3 d r ss p e c u l a r e n a b l e ,t r u e ) ; 2 d i r e c t 3 d 支持的光源类型 ( 1 ) 方向光。它表示在无穷远处生效的光,它只有颜色和方向,没有发光 位置,光源发出光线互相平行地通过整个场景,这种光线不会减弱或者受到距 离的影响。因为不需要考虑位置和衰减等因素,所以这种光的计算量较小。 ( 2 ) 点光源。它是一种向空间各个方向等强度发射光线的光源,具有特定 的位置和颜色亮度。点光源发射光的强度将随着距离的增加而逐渐衰弱,在计 算时必须提供位置、颜色和衰减系数等参数。 ( 3 ) 聚光灯。它类似于真实世界中的台灯或者汽车前灯,这种光不仅会随 着距离物体的远近而衰减,还会因受照射物体与聚光灯所成的角度不同而衰减。 西南交通大学硕士研究生学位论文第1 4 页 聚光灯发出的光由最亮的内部锥形和更大的外部锥形组成,光线从内部锥形到 外部锥形逐渐减弱。聚光灯强弱受到物体的距离和角度的影响,它与光线到达 物体顶点的距离和角度一起参与三维场景的光照运算。聚光灯是d i r c c t 3 d 中计 算量最大的一种光源,在系统性能不高的情况下应该谨慎使用。 2 4 2 材质 物体受到光照而呈现出的表面颜色,一方面是由照射光源的属性来决定, 另一方面则取决于物体对光的反射属性和物体自身的表面颜色,即由物体的材 质属性来决定。例如,光源向物体照射红色的光,如果物体对红色光的反射率 为1 0 0 ,那么该物体表面的颜色就是光源所发射的红色。在d i r e c t 3 d 中,物体 的材质属性可用d 3 d m a t e r i a l 9 结构体进行设置,其定义如下图2 - 5 所示。 t y p e d e fs t r u c td 3 d m a t e r i a l 9 d 3 d c o l o r v a l u e d i f f u s e :漫射光的反射属性 d 3 d c o l o r v a l u e a m b i e n t :环境光的反射属性 d 3 d c o l o r v a l u e s p e c u l a r : 镜面光的反射属性 d 3 d c o l o r v a l u ee m i s s i v e :自发光的颜色属性 f l o a tp o w e r :镜面光的高光强度 d 3 d m a t e r i a l 9 : 图2 - 5d 3 d m a t e r i a l 9 结构体定义 d 3 d c o l o r v a l u e 结构体包含r 、g 、b 和a 四个分量值,每个分量值可 以说明物体对光各个成分的反射比率。 当材质结构体填充以后,就可以利用i d i r e e t 3 d d e v i e e 9 接口的s e t m a t e r i a l 函数设置渲染管道流水线进行物体表面渲染时应采用的材质参数。 2 4 3 纹理贴图 纹理是指物体表面本身所具有的图案,可采用贴图的方法将一张二维图 像张贴到一个三维物体的表面,这就是d i r e c t x 纹理贴图技术。与材质一样, 纹理也是物体表面的一种属性,同时结合材质、光照和纹理技术可对三维场景 进行渲染,使渲染出来的三维图形更为逼真。 纹理在计算机产生三维场景的逼真效果方面起了重要的作用。一个纹理实 际上就是一个位图。从这个意义上来讲,当纹理一词被用于计算机图形学时, 西南交通大学硕士研究生学位论文第15 页 它就有了一个明确的定义。从语义学角度来讲,纹理一词既是指一个物体上颜 色的模式,又是指物体表面是粗糙的还是光滑的。早期的计算机生成的3 d 图像, 由于没有使用纹理贴图技术,它们的表面看起来就象是一个发亮的塑料表面, 它们总是缺少一些能使物体看起来更加真实的东西,如表面的磨损、裂纹、人 手的印记或是一些污点等等。近几年来,纹理技术被广泛地使用,它使得计算 机三维图像具有了更好的真实感。d i r e c t 3 d 提供了广泛的纹理特性设置,使程 序员可以轻松地使用纹理技术来增加生成的三维场景的真实感。下面将详细地 阐述d i r e c t 3 d 纹理贴图技术。 1 顶点的纹理坐标 纹理实际上是一个二维数组,这个数组的元素是一些颜色值。单个的颜色 值被称为纹理像素。每一个纹理像素在纹理中都有一个唯一的地址。这个地址 可以被认为是一个列和行的值,它们分别由u 和v 来表示。 纹理坐标位于纹理空间中。也就是说,它们和纹理中的( o ,0 ) 位置相对应。 当我们将一个纹理应用于一个图元时,它的纹理像素地址必须要映射到对象坐 标系中,然后再被平移到屏幕坐标系或像素位置上。图2 6 显示了给出顶点的 纹理坐标。 纹理图像也是由一个个像素点组成。为顶点选定纹理坐标,实际就是把纹 理图像的像素点颜色值赋予相应的顶点。这样,三角形的内部像素点的颜色值 就可以根据顶点的颜色值进行插值计算。 a 2 创建纹理 c b 图2 - 6 给出顶点的纹理坐标 西南交通大学硕士研究生学位论文第16 页 当顶点的纹理坐标随着整个顶点结构体的数据倒入渲染管道流水线后,就 必须将作为纹理的源图像数据设置给渲染管道流水线。为此,需要利用 d 3 d x c r e a t e t e x t u r e f r o m f i l e 函数创建一个纹理对象,然后将该对象设置到渲染 管道流水线。 3 纹理过滤技术 在三角形顶点的对应纹理像素点选定以后,具体如何确定三角形面的内部 像素点的颜色值,就需要应用插值方法进行计算。这种插值计算方法就是纹理 过滤技术。 在执行纹理过滤操作时,正在使用的纹理一般会被放大或缩小,换句话说, 就是纹理被贴到比它大或比它小的图元上。纹理放大会使多个像素映射到一个 纹理像素,这样得到的渲染图像可能会有马赛克。纹理缩小会使一个像素映射 到多个纹理像素,得到的图像可能会模糊不清或有锯齿。要解决这些问题,必须 在计算像素的颜色时对纹理像素的颜色进行一些混合操作。 d i r e c t 3 d 把复杂的纹理过滤过程简化了,它给应用程序提供了4 种类型的 纹理过滤,它们分别是最近点采样过滤、线性纹理过滤、多级渐进纹理过滤 和各向异性纹理过滤1 。它们产生的图像效果依次递增,不过对程序性能的影 响也依次递增。 每种类型的纹理过滤都各有优缺点。最近点采样是4 种过滤方式中速度最 快,但是效果最差的过滤方式。如果纹理的大小和屏幕图元的实际大小相近, 那么采用最近点采样方法对渲染出来的图像质量的影响不大。线性纹理过滤是 目前使用最广泛的纹理过滤方法,与最近点采样过滤相比,它能有效地提高图 像显示质量,并且对系统性能的影响也不大。多级渐进纹理过滤由一组分辨率 逐渐降低的纹理图形序列组成,每一级纹理的宽度和高度都是上一级纹理的宽 度和高度的一半,d i r e c t 3 d 在纹理映射时自动选择大小最接近的纹理渲染。它 能够有效地提高图形系统渲染速度,因为d i r e c t 3 d 会自动选择一张尺寸接近的 纹理进行渲染,而不需要经过复杂的纹理过滤。各向异性纹理过滤具有最佳的 纹理渲染质量,但也是最耗费时间的一种过滤方法,它会对角度映射的扭曲进 行相应的补偿。 4 纹理地址模式 纹理源图像的像素点都用纹理坐标系的 o ,1 0 ,1 范围内的坐标来量 度。如果选定的顶点纹理坐标u 和v 大于1 或小于0 时,那么对应的纹理像素 点在纹理源图上是不存在的。因此,需要用相应的纹理地址模式来寻址,确定 西南交通大学硕士研究生学位论文第17 页 该顶点颜色值应该采用的纹理像素颜色值。 纹理地址模式有包装模式( w r a p ) 、镜像模式( m i r r o r ) 、夹子模式( c l a m p ) 、 边界模式( b o r d e r ) 和边缘模式( m i r r o r o n c e ) 等多种寻址控制方式。 包装模式一它会使d i r e c t 3 d 在纹理坐标的整数边界重复使用该纹理。 镜像模式一它使用每一行和每一列都成为镜像的方式重复纹理图像,以确 定纹理坐标不在o l 之间的纹理像素点的颜色值,从而确定出正方形顶点的颜 色值。 夹子模式一它对于坐标不在 o ,1 范围内的纹理像素点,将采用延伸纹理 图像的边框颜色值来确定这些纹理像素点的颜色值。 边界模式一它将纹理坐标超出 0 ,1 区间的纹理点用任意一个颜色值来确 定,这个填充颜色就是边界颜色,默认为黑色。 在本系统中,对于纹理映射的特殊效果基本上没有使用,使用的也是最正 常的纹理寻址方式。 2 4 4 深度缓冲 深度缓冲区是d i r e c t 3 d 用来存储绘制到屏幕上的每一个像素点的深度信 息的一块内存缓冲区。d i r e c t 3 d 通过比较当前绘制的像素点的深度和对应深度 缓冲区的点的深度值来决定是否绘制当前像素。如果深度测试为t r u e ,则绘制 当前像素,并用当前像素点深度值更新深度缓冲区,反之则不予绘制。通常情 况下,深度缓冲区对应于屏幕大小的一块二维区域。 2 4 5 模板缓冲 模板缓冲是d i r e c t 3 d 中的高级渲染功能,利用模板缓冲区和模板掩码,渲 染程序可以动态地决定是否绘制某个像素,创建诸如图形合成、贴花、消融、 淡入淡出、轮廓显示、镜像、侧影以及阴影等特殊效果。模板缓冲是深度缓冲 的一部分,在创建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

提交评论