(计算机应用技术专业论文)基于3d图形引擎的雾化渲染方法及实现.pdf_第1页
(计算机应用技术专业论文)基于3d图形引擎的雾化渲染方法及实现.pdf_第2页
(计算机应用技术专业论文)基于3d图形引擎的雾化渲染方法及实现.pdf_第3页
(计算机应用技术专业论文)基于3d图形引擎的雾化渲染方法及实现.pdf_第4页
(计算机应用技术专业论文)基于3d图形引擎的雾化渲染方法及实现.pdf_第5页
已阅读5页,还剩84页未读 继续免费阅读

(计算机应用技术专业论文)基于3d图形引擎的雾化渲染方法及实现.pdf.pdf 免费下载

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

文档简介

t,y 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示谢意。 签名:堡垒垂盛 日期:z 。如年j 月2 尹日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论 文的规定,有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 日期: :j 0 :一 摘要 摘要 雾化渲染技术是3 d 实时图形渲染技术重要分支之一,也是高级3 d 场景渲染 特效的支撑技术。然而,当前很多3 d 图形引擎和3 d 游戏引擎中的场景雾化渲染 主要采用比较传统的雾化渲染方法,这些方法模拟雾化现象的能力有限,模拟很 多绚丽而特别自然雾化现象十分困难。 真实而高效的雾化渲染效果能够大大增强虚拟现实、3 d 视频游戏、飞行仿真 等实时图形系统场景的真实感、沉浸感和纵深感。由于场景中相机视点远端的物 体由于雾化影响而模糊,所以雾化效果也能辅助场景采用剪裁算法对场景渲染进 行加速。因此研究雾化渲染技术有着重要的意义。 本文的主要研究内容为: 讨论各种的雾化渲染方法,主要包括基于z 轴深度雾化、距离雾化、体积雾 化和动态雾化。对各种雾化渲染方法进行了比较,逐一分析了它们的优缺点,并 定位它们的适用场合。 重点研究了层次雾化渲染方法,采用差值点算法实现对场景中层次雾化范围 内任意场景点的最终雾化颜色计算,并将雾化渲染区域从仅以地面开始到天空延 伸扩展到从任意高度向任意高度延伸。 运用软件工程方法学和3 d 图形引擎模块设计方法成功完成了基于r o 舱n s 图 形引擎支持下的雾化渲染模块的设计和实现,在模块中成功整合了距离雾化效果 和层次雾化效果,并实现了对基于r o 腿n s 图形引擎虚拟场景中的雾化效果的实时 控制,包括雾化方式实时调节和雾化浓度的实时控制。 关键词:雾化渲染差值点算法雾化颜色雾化渲染区域雾化渲染模块实时控制 ,lj 一 j a b s t r a ( 了r a b s t r a c t f o g 豫l d e 血l gt e c h l l i q u ei so o fm ev e 哆i m p o r t a n tb 删1 c h 鹳o fr e a l - t i l i l e g 呻l l i c sr 锄d 耐n gt e c h i l i q 鹏锄ds u p p o n 抽l et e c h n i q u eo fa d 啪c c d3 d e 鹏 r 饥d e 血gs p e c i a je 行b c t h o w e v e r ws o 蜘怆向gr e n d e r i r i ga d o p t 砌撕v e l y 缸a d i 廿o n a l f o gr e n d e r i n gm e t i l o d si i lm a n y3 d 霉a p l l i 锵e n g :i i l 骼锄d3 dg 锄铭e n 百s t h e s e m e m o d s a b i l i t i 鹤o fs i r m d a t i i l gf o gp h e n o m 饥o ni sl i m i t o d 1 ti sv e 巧l l 习l r dt 0s i m u l a t e m a n y9 0 昭璐觚ds p c c i a ln 咖试f o gp h e m 蜘舳 1 1 坞删舡l de f 矗c i e n tf o g 托瓜l a 血gd f b c t 伽li i l m l s e l ye n h a n t l l e 靶n o f 北= a l 础h n m c r s i o n 觚dd c p 吐l 。o w 吨t o 恤砌l 煳o f f o g ,她0 b j a c t si n 陆p l 龇o f eb e c o m ev a g u e f o ge f f e c ta l s o 咖嬲s i s ts c e n er d 痂ga c c e l e m t i o nb y 璐i i l g c i i p p i i 培a l g o f i m m s o ,l e 心疵ho f 向gr e n d e r i n gt c c i “q u ei sv e 巧m e 觚i l l g f m t h cn l a i i l lc o n t a 嘎t so f 代s e a r ha i : d i s c i 坶s i n gd i f f 相1 tf o g 豫l d e r i n gm 酬 l o d s ,m a i n l yi n d u d e 乙b 嬲e d 如g r a d i a lf o g v o l 眦e t r i c 向g a i l i m a t c df o g c o m p 撕n gt l l 鹤e 内g 阳n d 耐n gm e l o d s a n a l 皿n gn l e 划i v 锄t a g 髂锄dd i s a d v 薯m t a g 髂o ft l l e f 醣r e n d 鲥n gm e t i l o d s l ) c 蚰g l es u i t a b i e o c c 邪i o no fm 鹤ef o gr 饥d e 血l gm c t h o d s r 伪r c b - i i l gt l l el a y 即c df o gr d 盯i | l gm 酬1 1 0 d s r e a l i 西n gt l l e 丘n a lf o gc o l o r 咖l p l 咖时o fa i l ys 咖e 砌i n 瑚d 醯唱姗g eo f l a ) 嘲脚f o gb y 咖d i 仃概t i a l s p 曲1 t sa l g o 水h 甄a n dm ec h 蚰g eo f 内g 嗽l d 砥n g 咖g e 缸吼g r o l m d t 0g k yt o 觚y 晡出t 0a n y h d g b t u s i i l gs o 行w a 坞锄西n e e r i n gm e t h o d o l o g y 锄dm o d u l ed 姻i g nm e t l l o d o l o g yt 0 觚s hm ed 骼i 朗a n dr e a l i z a t i o no ff o gr e n d 谢n gm o d u l e 蚰r o m 锄sg r a p l l i 锵饥西n c s u c c 鹤s 觚l yi n t e 刚i n gt h ce f f 融o f r a d i a lf o g 锄dl a y e df o gi nf 0 9 瑚d e 血gm o d u l e 锄d 托a l i z i r l gn l er e a l t i m ec o n 臼o lo ff o ge f f e c ti nv i r t u a ls c e n e 仰r o m 锄s 酣i c s 舶g i n e ,i n c l u d i n gt l l er e a l t i m ec h 锄g eo ff o gt y p e 觚d 删- t i m ea d j u s n n 锄to ff o g d e n s i 批 l ( e yw o r d s :f o gr e n d e f i n g d i f l j 罟r e n t i a l s p o i n t sa l g o r i t h mf 0 9 c o l o r f o g 咖d 甜n gr 觚g ef o g 嘲d 嘶n gm o d u l e 他a 1 - t i m ec o n t m l 一;jn 目录 目录 第一章绪论l 1 1 课题背景1 1 2 本文研究的目的和意义l 1 3 国内外研究动态3 1 3 1 引擎技术3 1 3 2 加速算法技术5 1 3 3 真实感雾化渲染技术7 1 4 本文的主要工作和创新点8 1 5 本文的章节安排9 第二章雾化渲染相关技术及背景知识1 0 2 1 可编程硬件的发展过程1 0 2 2 图形的绘制管线。1 2 2 2 1固定功能管线1 2 2 2 2 实时功能管线1 4 2 3 标准三维图形编程接口15 2 4 雾的定义和产生原理1 7 2 5 雾的属性1 8 2 6 雾的作用与效果2 l 2 7 雾化的分类2 2 第三章几种常用的雾化类型渲染方法2 3 3 1 基于z 轴深度雾化的渲染方法2 3 3 1 1 基于z 轴深度雾化概论2 3 3 1 2 基于z 轴深度雾化算法逻辑2 3 3 1 3 基于z 轴深度雾化算法介绍2 4 3 2 距离雾化渲染方法2 4 3 2 1 距离雾化概论。2 4 3 2 2 距离雾化算法逻辑2 5 n i 目录 3 2 3 距离雾化算法介绍2 5 3 3 体积雾化渲染方法2 7 3 3 1体积雾化概论2 7 3 3 2 体积雾化算法逻辑2 8 3 3 3 体积雾化算法介绍2 8 3 4 动态雾化渲染方法2 9 3 4 1 动态雾化概论2 9 3 4 2 动态雾化算法逻辑3 0 3 4 3 动态雾化算法介绍3 0 3 5 本章总结。31 第四章层次雾化渲染方法3 2 4 1 层次雾化概论3 2 4 2 层次雾化算法逻辑及对其它算法的改进3 3 4 2 1 层次雾化算法逻辑3 3 4 2 2 层次雾化算法对其他算法的改进3 4 4 3 层次雾化算法建模与渲染3 4 4 3 1 差值点算法建模3 4 4 3 2 差值点算法渲染3 6 4 4 本章总结4 l 第五章r o m a n s 图形引擎的整体框架4 4 5 1 底层支撑引擎简介4 4 5 2 r o m a n s 图形引擎整体系统框架图4 4 5 2 1 引擎系统框架图4 4 5 2 2 编辑器系统框架图。4 6 5 2 3r o m 锄s3 d 图形引擎编辑器使用图4 8 5 3 雾化模块在r o i a n s 图形引擎中的位置4 9 第六章雾化渲染模块在游戏引擎中的设计和实现5 l 6 1 系统软硬件平台5 l 6 1 1 硬件平台5l 6 1 2 软件平台5 l 6 2 雾化模块的概要设计。5 2 i v 目录 6 2 1设计目标5 2 6 2 2 模块框架设计5 2 6 2 3 雾化渲染类图设计5 4 6 2 4 雾化渲染流程设计5 5 6 2 5 雾化渲染模块的界面设计5 6 6 3 雾化模块的实现5 8 6 3 1雾化渲染模块a p l 接口5 8 6 3 2雾化渲染模块a p i 接口使用示例图6 3 6 3 3 实验结果分析6 4 第七章总结与展望6 9 致谢。7 1 参考文献7 2 个人简历及学习期间的研究成果7 6 v , - 一 第一章绪论 1 1 课题背景 第一章绪论 国家科技部8 6 3 计划于2 0 0 6 年发布了“中国数字媒体技术发展白皮书 ,对 数字媒体技术发展状况进行了深入分析,文中表述到:从目前我国数字媒体技术 的发展状况来看,内容制作效率低、内容缺乏创新、标准滞后、网络整合困难、 终端不足、市场不成熟、价格缺乏制度依据、核心技术有待继续研究、产业链尚 待进一步完善、商业模式有待探索以及体制问题等诸多因素成为制约我国数字媒 体产业的健康发展主要瓶颈。这些瓶颈问题严重影响了我国数字媒体产业和技术 的发展,所有做一切都有待在未来五年的产业与科技规划中得到改善和彻底解决。 数字媒体技术产业具有巨大的市场空间与成长机会。中国作为一个制造业大 国,应在该领域有所建树,并不断通过扶持和鼓励、引导市场对相关项目和产品 的研发,提升我国数字媒体产业的竞争力,进而确立我国在这一产业中的国际地 位。在这样的政策指导下,国家大力推动了数字媒体相关的研究项目。本文描述 的系统就是在以下的这个8 6 3 项目中完成的: 国家高技术研究发展计划( 8 6 3 计划) ,网络游戏内容创作平台r o m a n se n g i n e 2 0 0 9 图形引擎及r 0 m a n ss t u d i o2 0 0 9 场景编辑器,该项目的主要任务为:设 计3 d 图形引擎和在引擎上的场景编辑器,使其具有场景管理、场景特效、材质 编辑、天气系统、地形编辑等功能。 在这个项目中,我主要负责3 d 图形引擎上场景编辑器中的大气雾化特效设计, 主要包括大规模场景下的距离雾化渲染特效和中大规模场景下的层次雾化渲染特 效,并在此基础上设计雾化渲染模块,并最终整合在场景编辑器中的雾化编辑页 面栏中。 1 2 本文研究的目的和意义 当前,三维图形标准( 如o p e n g l 和d i r e c t x ) 的迅速发展和完善,使得操作 系统和应用软件可以通过调用上述图形标准接口去直接使用显卡和其中的 3 d 加速功能,在此基础上,3 d 图形软件( 如:3 d m a x ,a u t o c a d ,p r o e , 电子科技大学硕士学位论文 s o l i d w o r k s ,s i l l w o r s ) 快速地被使用到各个工程研究领域并走向成熟。这 一切的结果都使得计算机游戏产业和虚拟现实技术两个领域得到了很好的接口支 持和技术支撑,随之伴随的是这两个领域研究的空前繁荣。在计算机3 d 游戏和虚 拟现实技术的图形引擎研究中,其中一个重要的问题就是实时渲染技术。实时渲 染能够给予场景特殊的效果以及赋予场景中的单元特别的特征,这样可以更加真 实地模拟现实中的各种自然物体和景象,并能让用户沉浸在计算机的虚拟环境中, 因此实时渲染技术的研究也成了研究的重点问题。而在游戏软件、飞行仿真和战 场模拟等具有很强实时交互仿真系统中,对产生逼真的图形图像提出了更高的要 求。一方面它迫切需要逼真的自然场景以增加虚拟环境的真实感,另一方面它属 于限时计算系统,在实时交互上提出更高的要求。因此如何在保证较高画面质量 的同时,有效提高自然现象模拟的计算速度和绘制速度,是产生逼真图形图像的 技术关键。我们提到的自然现象包括雾化,雨,雪,云,光照,植被,地形,水 等等。其中雾化渲染是必不可少的一个重要组成成分,特别是对于计算机3 d 游戏 和虚拟现实技术中的各种场景渲染来说,模拟逼真的雾化效果是完成场景实时渲 染的必要组成部分。雾化效果十分重要,是产生真实感图形图像的关键技术之一。 它为虚拟场景增添了真实性和沉浸感,由于离虚拟相机越远的地方雾化的浓度越 大,它也能帮助用户判断场景物体的远近,即提供场景的深度感。更为重要的是, 由于在实时图形程序( 特别是游戏设计程序) 中,为了确保图形系统的运行速度, 图形开发人员往往位于观察点远处的场景使用较为简单的三维模型,甚至不绘制 物体,而在近处使用复杂模型,这样就可能造成物体变形、突然出现或者突然消 失等失真现象,雾化可以隐藏位于观察点远处物体,使远处的物体看起来自然隐 退,这样既避免失真现象,又提高了整个场景的渲染速度和系统性能。 然而,要逼真地模拟场景雾化特效,情况比较复杂。如距离雾化要考虑到如 何在大规模的场景下保持雾化效果拥有高仿真性的问题,以及如何在大场景下提 高渲染速度的问题。体积雾化要注意到如何对不同形状的物体的表面体积雾绘制 的问题,这涉及到使用射线追踪算法确定雾体积相关线段的问题。由于动态雾化 要涉及到时间变化对雾形态的改变和外界风对雾的影响因素,另外由于动态雾在 任何时间都会发生变化,对图形硬件的性能要求很高,因此最重要的是渲染加速 算法的问题。层次雾化要考虑到雾化效果的范围,这就需要通过分析虚拟相机和 场景点的位置以建立雾化模型,最终设计出能够表述真实自然中的层次雾化的算 法。尽管存在以上的各种挑战和困难,高真实感且系统资源占用率低的雾化效果 是图形学和各种3 d 游戏引擎的永恒追求。 2 第一章绪论 产生高真实感的图形图像具有重要的意义。是仿真模拟、军事模拟、科研、 教育、设计、广告、指挥、控制、游戏娱乐等领域中的一些重要目标。在军事领 域,高质量的图形图像是战场仿真技术成功与否的重要因素,直接影响到军事训 练的质量和指标。在教育和研究领域,真实感图形图像正变成一种基本工具,一 个重要的实例就是模拟城市景观,产生真实的图像需要特别模拟好城市的大气特 征,这就要考虑到雾化,云彩和光照等因素。在平面设计与广告领域,高真实感 的图形图像能创造良好的视觉效果,给人以深刻而美好的印象。在指挥和控制领 域,用户使用有关的信息控制图形图像表达,图形图像的质量直接影响到表达结 果的准确性和可行性。当然,真实感图形图像在游戏娱乐业中起到了不可替代的 作用,随着游戏产业的迅速发展,是否具有良好的渲染效果和高真实感的画面已 经成了衡量一款游戏质量优劣的标准之一,而优良的雾化渲染计算为游戏场景提 供了逼真的效果。可见,以上领域都离不开雾化渲染的模拟,对雾化渲染技术的 深入研究体现了当前图形图像软件和游戏引擎的发展水平,具有重要的理论和实 践意虹 厶 1 3 国内外研究动态 在本节中,我们对本文使用的主要技术的发展状况作一个比较全面的综述。 主要介绍在支持3 d 图形引擎上的雾化渲染方面的支撑技术的发展和研究状况。 i - 1 3 1 引擎技术 近年来,随着数字娱乐产业的发展。人们对计算机图形表现的真实感不断的 提出更高的要求。在这个巨大的市场刺激下,图形硬件和软件都得到了长足的发 展。在这个产业链的核心是图形引擎技术【i 胡。由于三维图形涉及到许多算法和专 业知识,要快速的开发三维应用程序是有一定难度的。当前在p c 上编写三维图 形应用一般使用的应用程序接口是o p g l 【5 】和d i r e c t ) ( 【1 3 1 。虽然o p 印g l 和 d i 删在三维真实感图形制作中具有许多优良的性能,但是在系统开发中直接使 用它们仍然有一些缺点: 1 ) 都是非面向对象的,设计场景和操作场景中的对象比较困难。 2 ) 主要使用基层图元,在显示比较复杂的场景是编写程序相对困难。 3 ) 没有与内容创作工具很好的结合。 4 ) 没有对一些关键技术的直接支持。 电子科技大学硕士学位论文 基于以上情况,程序开发人员非常需要一个简单易用、功能丰富的三维图形 引擎来提高他们开发应用程序的效率。 “引擎 ,是借用机器工业的同名术语,表明在整个系统中的核心地位。也可 以称之为“支持应用的底层函数库 或者说是对特定应用的一种抽象,三维图形 引擎需要解决场景构架,对象处理、事件处理、场景渲染算法等问题。场景渲染 时场景中最重要的子模块之一,负责实现基本图元的绘制,光线处理和纹理处理 等。实际上是三维真实感图形图像的再现过程。在许多应用领域都对场景的实时 性有很高的要求,如果达不到一定的显示速率,就会丧失实际应用的价值。因而 如何在三维图形引擎中控制场景复杂度,加速图形绘制速度就成为当前研究的一 个重点。可以说三维引擎效率的高低,实用性的强弱在很多程度上取决于图形的 绘制速度。 在本文描述的系统中,我们强调的是一个基于底层引擎的高层引擎,主要针 对大型室外场景的渲染进行了优化,并引入了很多新技术:如可编程图形硬件的 加速算法等等。下面,我们对国内外引擎技术的发展做一个简单的综述。 最开始,国外对三维游戏引擎【2 副】的研究主要集中在几个大公司,如3 d r e a l m s ,i ds o n w a r c ,v m v e ,它们研究开发三维引擎,如q u a k e 系列和u n r c a l 【4 l 系列等代表着三维游戏引擎最新技术和发展。2 0 0 0 年以后,随着游戏引擎的发展, 相继有多个丌源游戏引擎组织成立,并且开发了几款优秀的游戏引擎,如i m i c h t , o 舯,n e b u l a 等。虽然这些开源引擎的水平不及商用引擎,但其免费和开源的优 势使之拥有了一大批使用者,并且流行于图形爱好者和3 d 游戏开发爱好者之间。 图形引擎在国外虚拟现实中的应用研究也很早,麻省理工大学( m i t ) 是一 个一直走在最新技术i i 沿的科学研究机构。m i t 最早就是研究人工智能、机器人 和计算机图形学以及动画的先锋。这些技术都是虚拟现实技术的基础。1 9 8 5 年成 立了媒体实验室,进行虚拟环境的正规研究。媒体实验室建立了一个名叫b o l i o 的测试环境,用于进行不同图形仿真技术的试验。利用这一环境,m i t 建立了一 个虚拟环境下的对象运动跟踪动态系统。 s r l 研究中心建立了“视觉感知计划一,研究现有t 技术的进一步发展。1 9 9 1 年后,s r l 进行了利用v r 技术对军用飞机或者车辆驾驶的训练研究。另外,s r 还利用遥控技术进行外科手术仿真的研究。 美国北卡罗来纳大学( u n c ) 的计算机系是乇研究最早最著名的大学。他 们主要研究分子建模、航空驾驶、外科手术仿真、建筑仿真等。有b 瑚l ( s 教授领 导的小组研制成功了第一个用于建筑设计的w 甜k t h r o u g l l 虚拟建筑漫游系统,用 4 第一章绪论 户可以在虚拟的u n c 计算机系大楼旱面漫游。 伊利诺伊州立大学研制出在车辆设计中,支持远程协作的分布式v r 系统。不同 国家、不同地区的工程师们可以通过计算机网络实时协作进行设计。在系统中采 用了虚拟原型,从而减少了设计图像和新产品进入市场的时间,而且可以在新产 品生产之前就能对其进行估算和测试,这样就大大地提高了产品的质量。 美国宇航局( n a s a ) 的a m 锶实验室完善了h m d ,并将v p l 的数据手套工 程化,使其成为可用性高度产品。n a s a 研究的重点发在对空间站操纵的实时仿 真上,大多数研究是在n a s a 的约翰空间中心完成的。他们大量运用了面向座舱 的飞行模拟技术。n a s a 完成的一项著名的工作就是对哈勃望远镜的仿真。 1 3 2 加速算法技术 在实时绘制中,在性能上至少有3 个目标:每秒有很多的帧、更高的分辨率、 更多( 比较好的真实感效果) 的场景物体。在大规模场景下的雾化渲染中,渲染 速度是雾化效果质量优劣的重要衡量指标之一,因此,对加速算法【i3 】的讨论也成 了研究的热点。我们在这里重点介绍雾化渲染经常用到的剪裁技术。 剪裁的意思就是“从大量事物中进行删除 ,在计算机图形学中,相对应的就 是剪裁技术( c u l l i n gt e c h n o l o g y ) 所要做的工作。所谓“大量事物 就是需要 绘制的整个场景,删除的是对最终图像没有贡献的场景部分,然后将剩余场景发 送到绘制管线。因此,在绘制方面通常使用“可见性剪裁 这个术语。最早学者 们提出了剪裁技术是背面剪裁( b a c k f a c ec u n i n g ) 。其基本思想是场景中的一个 不透明物体,大约有一半的球体是看不见的,那么就不需要对看不到的物体进行 绘制,因为这部分图像没有贡献,所以可以对球体的背面进行处理。z h a n g 和h o f f 提出,如果对一组物体来说,还可以一次性进行背面剪裁,其被称之为聚集背面 剪裁( c 1 u s t e r e db a c k f a c ec u l l i n g ) 。但是这两种剪裁方法也有局限性,只是对 物体的背面进行剪裁还是不够的,由于我们人类的视野可以看作是一个视锥,在 视锥范围外的物体我们是看不见的,因此只需要对完全或者部分在视锥中的物体 进行绘制。c 1 a r k 和j 硼e sh 提出了层次视锥剪裁( h i e r a r c h i c a lv i e wf r u s t u m c u l li n g ) 。其基本思想是将每个物体的包围体与视锥进行比较,如果包围体位于 视锥之外,那么不需要绘制包围体中的几何体。由于这些计算在应用程序阶段 ( c p u ) 上进行,因此包围体中的几何体不需要通过管线中的几何和光栅阶段,即 这两个阶段都可以从中受益。对于大场景或者一定的虚拟相机视线来说,场景只 电子科技大学硕士学位论文 有很小一部分是可见的,只需要将这部分发送到绘制管线,这样便可以获得一定 的加速效果。为了把剪裁技术应用范围扩展更广,a r i e y 提出了入口剪裁( p o r t a l c u l l i n g ) ,这种方法能用于建筑模型上。它的思想为,在室内场景中,建筑物墙 面通常充当大的遮挡物,通过每个入口进行视锥剪裁。当遍历入口的时候,就减 小视锥,使得与入口尽可能紧密贴合。因此,可以将这种算法看作是视锥剪裁的 一种扩展,其中将视锥之外的入口扔掉。之后,又有学者提出了细节剪裁( d e t a i l c u l l i n g ) 这个概念,基本思想是:当视点处于运动的时候,场景中的微小细节对 绘制图像的贡献非常小甚至没有。当视点停止下来的时候,通常禁止细节剪裁, 运动的时候可以采用该剪裁,因此它是一种牺牲质量换取速度的技术。w o n k a , s c h a u f l e r ,s c o t t ,g r e e n e ,z h a n g 和b i t t e r 提出了不同方式的遮挡剪裁 ( o c c l u s i o nc u l l i n g ) ,其基本思想是剪裁掉场景中被其他物体遮挡的物体,该 算法需要计算场景中各个物体的位置信息。雾化渲染中场景中,最常用的是附加 剪裁平面( a d d i t i o nc l i p p i n gp l 觚锱) ,其基本思想是,在正射投影或者透视投影创 建的视景体范围中,可以在任意一个空间平面内增加一个空间剪裁平面,它可以 在剪除雾足够大的远平面之外的所有物体,也就是说我们会根据雾化的浓度设定 附加剪裁平面的位置,这样可以提高整个场景的渲染速度。由于雾化的原因,被 剪裁出去的物体不会被察觉。 e ) ,e v l e w 图卜l 场景一般剪裁原理 6 第一章绪论 图卜2 雾化渲染场景中剪裁算法原理 1 3 3 真实感雾化渲染技术 当场景图像被显示出来以后,观察者所获得的感觉与印象要和他置身于真实 环境中获得的一样,即被观察者与真实场景不但携带的信息一致,给人带来的视 觉感觉也要是一致的。为了产生真实感场景图像,很多技术涌现出来,如:高动 态范围绘制( h i g hd y n 鲫i cr a n g e ) 1 1 9 】技术,它是解决计算机显示的亮度不能满 足人眼的需求这个问题的。基于图像的渲染( i i i i a g eb a s e dr e n d e r i n g ) 1 2 们,其 用照片或真实感图像来增强视觉上的真实效果。这些技术都提高了图像的真实感。 然而雾化渲染( f o gr e n d e r i n g ) 技术正是这些产生真实感场景图像技术中 最重要的方法之一。基于3 d 图形引擎的雾化渲染一直是学者们研究的热点,当前 很多著名的图形标准库,如o p e n g l 和d x 都支持最基本的雾化类型,即基于z 轴 的深度雾( z - c o o r d i n a t e - b 弱e df o g ) 【2 1 2 2 1 ,该雾化方式的实现方法简单,雾化浓度 随着z 轴的深度的增加而增大,效果明显而稳定。且对系统的开销小,对计算机 图形硬件的要求也不高。但是由于基于z 轴的深度雾中雾化浓度仅仅只是依赖z 轴,所以当虚拟相机转动时,即使这时场景中物体没有移动,都可能造成场景效 果失真。因此w o l f g 锄gh e i “d l h a 腿p e 衙s e i d e l 和n 1 0 m 弱e r t l 等人提出了距离 雾( r a d i a lf o g0 re u c l i d e 锄d i s t 锄f o g ) 【2 1 】【2 3 】【2 4 】的概念,距离雾是采用场景中的 虚拟相机和场景点的真实距离来计算雾化效果,克服了基于z 轴的深度雾的不足, 距离雾化具有很优越的属性,如稳定性高,虚拟相机角度转动后不会引起失真的 现象,具有高可靠性,并且适合在大型场景下进行应用,这使得距离雾有很好的 适用价值,现在很多图形库都有标准的函数对距离雾进行描述和使用。应该说, 距离雾解决了很大一部分大气渲染中的雾化问题,模拟了现实中很大一部分雾的 效果,所以一些知名3 d 图形引擎已经将这些描述距离雾化的方法内嵌到自己的系 7 电子科技人学硕士学位论文 统中。但是,随着人们对大气雾化效果要求和需要的进一步提高,发现距离雾并 不能描述现实生活中所有雾化效果,因此j 锄e s ,r o b e r t 等人提出了体积雾 ( v o l 啪e t r i cf o g ) 【2 5 - 3 2 】的概念,它采用一系列重叠的半透明的布告板技术生成体 积雾,解决之前存在一个重要问题,即场景中物体的雾化程度完全取决于物体到 虚拟相机之间的距离,换言之,整个场景中的雾是静态的,没有任何的变化和多 样的形状。而体积雾的出现可以给场景中的物体加上任意形状的雾化效果,如正 方形,矩形,锥形等,这样场景中不同的物体便可以拥有不同的雾化效果。随后, 一些研究者b i r i ,v ,s m i c h e l i i 强和d a r q u 6 s 又提出了动态雾( a 1 1 i m a t e df o g ) f 3 3 】【矧【3 6 】的概念,该概念的出现是为了让雾化效果随着时间的改变而动态地改变形 状,位置和浓度,从而模拟出更为真实的雾化景观。但是以上的雾化效果都是在 x - z 平面内实现的,即随着y 轴上值的增大,雾化效果并没有变化。而当前3 d 游戏和虚拟现实软件的迅速发展,越来越多的用户对3 d 雾化模拟提出了更高的 要求,这就要求3 d 雾化渲染模拟出更多,更好,更绚丽的自然雾效果。因此j 似i n l e g a l 【i s 提出了层次雾( 1 删f o go rg r o 啪df o g ) 【2 i 】【3 5 】【3 6 】【3 7 】【3 8 的概念,以至于实 现很多迷人的自然景观,如群山、森林和海中岛屿上弥漫的雾。 1 4 本文的主要工作和创新点 本文对基于3 d 图形引擎的雾化渲染方法和实现技术进行了系统深入地研究。 本文的主要工作包括分析不同的雾化渲染算法并比较了它们的优劣,讨论了层次 雾化渲染的模型和算法,设计和实现在r o m a n s 图形引擎中雾化模块等。在研究分 析了国内外现有的各种雾化渲染算法的基础上,雾化渲染中的重要类型层次雾化 的算法进行了改进,并对这种方法进行了试验和分析。 概括起来,本文主要的创新点和研究成果如下: 讨论各种的雾化渲染方法,主要包括基于z 轴深度雾化、距离雾化、体积雾 化和动态雾化。对各种雾化渲染方法进行了比较,逐一分析了它们的优缺点,并 定位它们不同的适用场合; 重点研究了层次雾化渲染方法,实现对场景中层次雾化范围内任意场景点的 最终雾化颜色计算,并将雾化渲染区域从仅以地面开始到天空延伸扩展到从任意 高度向任意高度延伸,这也是本文的两个大的创新点。 完成了基于r o m a n s 图形引擎支持下的雾化渲染模块的设计和实现,在模块中 成功整合了距离雾化效果和层次雾化效果,并实现了对基于3 d 游戏引擎的虚拟场 8 第一章绪论 景中的雾化效果的实时控制,包括雾化方式实时调节和雾化浓度的实时控制。 1 5 本文的章节安排 全文共分为七章,对基于3 d 图形引擎的雾化渲染技术进行了研究和讨论。具 体的章节安排如下: 第一章,介绍课题背景和研究意义。简单介绍了雾化渲染技术的主要方法和 国内外对雾化渲染及其相关技术的研究现状,指出了论文的主要研究内容和章节 安排。 第二章,介绍了与雾化渲染密切相关的硬件和接口技术。介绍了可编程硬件 的发展过程,图形绘制管线从固定到可编程的发展和标准的三维编程接口介绍 了雾化渲染的背景知识和分类。介绍了雾化渲染的各种属性、作用和效果。 第三章,主要讨论了各种雾化渲染方法。介绍了基于z 轴的深度雾化概念和 渲染算法,介绍了距离雾化概念和渲染算法,介绍了体积雾化概念和渲染算i 去i 介绍了动态雾化概念和渲染算法。比较了不同雾化方法渲染算法的优势和劣势。 第四章,重点介绍了层次雾化渲染方法。介绍了层次雾化的概念,算法逻辑 和相对于其它雾化算法的优势。详细讨论了层次雾化算法的模型。详细介绍了层 次雾化算法的渲染方法。对层次雾化的效果进行了总结。 第五章,介绍了项目中游戏引擎的整体框架,并指出了雾化渲染模块在此系 统中的位置。 i 第六章,详细介绍了雾化渲染模块在游戏引擎中的设计和实现。介绍了引擎 的软硬件平台。详细介绍了雾化模块的概要设计,包括设计目标,模块框架设计, 雾化渲染类图设计,雾化渲染流程设计和雾化渲染模块界面设计。介绍了雾化模 块的实现,包括a p i 接口的实现和使用方法,最终雾化效果的比较和分析。 第七章,对全文做出了系统全面的总结,并对今后需要进一步深入研究的方 向做了展望。 9 电子科技人学硕十学位论文 第二章雾化渲染相关技术及背景知识 2 1 可编程硬件的发展过程 计算机图形硬件正在以令人不可思议的速度前进。有三种力量驱使了这中创 新的步伐。首先,由于摩尔定律,半导体工业自身每1 8 个月就使一个微芯片上的 晶体管数目增加一倍。计算机硬件会越来越便宜和越来越快。第二种力量是模拟 我们周围的世界所需要的大量的计算。人的眼睛和大脑以一种令人惊讶的速度和 敏锐接触来理解三维世界的图像。我们永远不可能使得计算机图形成为现实的替 代品。现实世界实在是太真实了。尽管如此,计算机图形的实践者们还是勇敢地 站起来接受挑战。幸运的是,图形硬件的设计者可以把创造真实图像这个问题重 复的分解成许多比较小和比较容易解决的问题。然后,硬件工程师们就可以并行 地安排大量的晶体管来执行所有的不同工作。第三种力量是人们拥有全部的对可 以被真实的模拟和娱乐的持续不变的期盼。这种力量把计算机硬件资源持续加倍 发展的源头连接到模拟比以前更真实的虚拟现实的任务上。 在2 0 世界9 0 年代中期,世界上最快的图形硬件由多块一起工作的芯片来渲 染图像,并在屏幕上显示它们。最复杂的计算机图形系统由许多的芯片组成,遍 布在几块板子上。随着时间的推移和半导体技术的提高,把这种复杂的多片设计 的所有功能都集中在一个单独的图形芯片里。这一进步导致了巨大的集成和大规 模的系统。到目前为止,工业界已经确立了四代图形处理器的发展。每一代图形 处理器都提供了更好的性能和更进步的可编程能力。 1 ) 图形处理器之前的图形加速:在引入图形处理之前,s i l i c o ng r a d h i c s ( s g i ) 和e v a n s u t h e r l a n d 公司设计了专用的昂贵的图形硬件。由这些公司开发 的图形系统引入了许多现在任然认可的概念,例如顶点变换和纹理映射。这 些系统对计算机图形的丌发过程非常重要,但是因为它们实在是太昂贵了, 作为个人计算机和视频游戏控制台设计的单一图形处理器,它们没能在市场 上获得成功。现在,图形处理器的功能比以前任何的系统都要强大,而且更 加便宜。 2 ) 第一代图形处理器( 一直到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 这些图形处理器能够光栅化变换前的三角形和使用一或两个 i o 第二章雾化渲染相关技术及背景知识 纹理。它们还实现了d i r e c t x 6 的特征值集。当运行大部分的三维和二维的应 用程序的时候,这些图形处理器完全把中央处理器从更新单独的像素中解脱 出来了。但是,这一代的图形需要忍受两个明显的限制。首先,它们缺乏变 化三维物体顶点的能力;相反,顶点的变化是在中央处理器中进行的。第二, 它们只有一个有限的数学操作集合来集合纹理计算光栅化像素的颜色。 3 ) 第二代图形处理器( 1 9 9 9 年一2 0 0 0 年) 包括n v i d i a 的g e f o r c e 2 5 6 和g e f o r c e 2 、 a t i 的r a d e o n 7 5 0 0 和s 3 的s a v a g e 3 d 。这些图形处理器从中央处理器那里承 担了顶点变换和光照的工作( t l ) 。在这一代之前,快速的顶点变换是高端 工作站区别于个人计算机的关键性能之一。o p e n g l 和d i r e c t x 7 都支持硬件顶 点变换。虽然用来结合纹理和给像素上色的数学操作在这一代包括了立方体 纹理和带符号数学操作,能够完成的工作任然很有限。换句话说,这一代的 图形处理器能够进行更多的设置,但任然不是真正的可编程。 4 ) 第三代图形处理器( 2 0 0 1 年) 包括n v i d i a 的g e f o r c e 3 和g e f o r c e 4 t i 、 m i e r o s o f t 的x b o x 和a t i 的r a d e o n 8 5 0 0 。这一代图形处理器提供了顶点编程 能力,而不是仅仅提供更多的可设置性。这些图形处理让应用程序指定一序 列的指令来处理顶点,而不是支持有o p e n g l 和d i r e c t x 7 指定的传统的变换 和光照模型。虽然提供了相当多的像素级的设置功能,但是这些模式还没有 强大到可以被认为是真正的可编程。因为这些图形处理器支持顶点编程,但 是缺乏真正的像素编程能力,这代图形处理器是过渡期产品。d i r e c t x 8 的像 素着色引擎和各个开发商制定的o p e n g l 扩展展示了这代图形处理器片元级的 可设置能力。 5 ) 第四代图形处理器包括n v i d i a 的使用c i n e f x 体系结构的g e f o r c ef x 系列和 a t i 的r a d e o n9 7 0 0 。这些图形处理器同时提供了顶点级和像素级的可编程能 力。这个级别的可编程能力使得把复杂的顶点变化和像素着色操作从中央处 理器转移到图形处理器成为可能。d i r e c t x 9 和种各样的o p e n g l 扩展功能显示 了这些图形处理器的顶点级和像素级的可编程能力。 6 ) 第五代图形处理器( 2 0 0 4 2 0 0 5 ) 包括了n v i d i a 的g e f o r c e 6 、g e f o r c e 7 系列 以及a t i 的r a d e o n x l x o o

温馨提示

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

评论

0/150

提交评论