




已阅读5页,还剩75页未读, 继续免费阅读
(计算机应用技术专业论文)基于光子映射的三维场景radiositymap计算系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江人学顺l j 学位论文摘要 摘要 在三维场景的计算机真实感图形的实时绘制中,速度与质量一直是一对矛 盾。使用光子映射等复杂真实感算法时往往会造成巨大的时空耗费,因此无法在 虚拟现实漫游系统中使用,而过程简单耗时少的算法往往真实感较差。 r a d i o s i t y m a p 技术预计算并保存物体表面的光照信息,将这些光照信息存储在被 称为r a d i o s i t y m a p 的纹理中,并在绘制时将r a d i o s i t y m a p 直接映射到物体表面, 省去了巨大的计算开销,而难点从如何提高光照的计算速度转移到了如何将物体 从三维映射到二维,即参数化问题。由于是一种预计算方法,r a d i o s i t y m a p 技术 可以和光子映射这一目前比较先进的渲染技术结合,离线计算物体表面的光照。 在实际使用r a d i o s i t y m a p 技术时往往会产生海量的纹理,所以研究对 r a d i o sit y m a p 的压缩也是一个重要课题。 本文将r a d i o s i t y m a p 技术,纹理压缩技术与现有的光子映射系统和实时渲 染系统有机结合,提出构建基于光子映射的三维场景r a d i o s it y m a p 计算系统的 设计和实现方案。本文将r a d i o s i t y m a p 计算系统分为参数化子系统,光子映射 接口和纹理压缩子系统;在分析本系统的总体设计思想后,研究了各种不同的参 数化方法,并采用了一种具有可扩展性的基于法线主轴的参数化方法;随后研究 了本系统对h d r 技术的支持,尤其是使用的t o n em a p p i n g 方法;之后研究了纹 理压缩子系统。纹理压缩系统将装箱算法与经典的纹理压缩格式s 3 t c 结合,提 出并实现了基于装箱问题的纹理压缩算法,可获得高于s 3 t c 格式的压缩比。最 后本文给出了对三个三维场景的测试结果,从中可以看出本系统较好地达到了真 实感,实时和提高性能的目标。 关键词: 光子映射,r a d i o s i t y m a p ,参数化,h d r ,纹理压缩 浙江人学顾i j 学位论文a b s t r a c t a b s t r a c t i nr e a l t i m er e n d e r i n go f3 ds c e n e ,t h e r ee x i s t sac o n t r a d i c t i o nb e t w e e nt h e s p e e da n dt h eq u a l i t y w h e nu s i n ga d v a n c e dl i g h t i n gm e t h o ds u c ha sp h o t o n m a p p i n g , i tw i l lc o s tal o ti nb o t ht i m ea n dm e m o r y , a n dt h e s ea d v a n c e dm e t h o d sc a l l tb eu s e d i nv i r t u a lr e a l i t ys y s t e m t h i st h e s i su s er a d i o s i t y m a pp r e c o m p u t et h ei l l u m i n a t i o no n t h es u r f a c eo fe n t i t i e s ,a n ds a v et h e s ei l l u m i n a t i o n si nt e x t u r e sc a l l e dr a d i o s i t y m a p ,a n d m a pr a d i o s i t y m a p sj u s tl i k ec o m m o nt e x t u r e sw h i l er e n d e r i n g t h i sc a ns a v eal o to f c o m p u t i n gt i m e ,a n dt h ed i f f i c u l t yc h a n g ef r o mf a s tr a yt r a c i n gt oh o wt om a pe n t i t i e s f r o m3 dt o2 d ,s oc a l l e d p a r a m e t e r i z a t i o n ”b e c a u s ei t sap r e - c o m p u t i n gp r o b l e m , t h er a d i o s i t y m a pw eu s e dc a na s s o c i a t ew i t hp h o t o n m a p p i n g ,w h i c hi sav e r y a d v a n c e dl i g h t i n gm e t h o dn o w a d a y s ,c o m p u t et h ei l l u m i n a t i o no f f l i n e w h e nu s i n g r a d i o s i t y m a p ,t h e r e 1 1b eah u g ea m o u n to ft e x t u r e s ,s ow eu s et e x t u r ep a c k i n ga n d t e x t u r ec o m p r e s s i n gt or e d u c et h ec o s to fm e m o r ya n dg p u t h i st h e s i sp u tr a d i o s i t y m a p p i n g ,t e x t u r ec o m p r e s s i n g ,p h o t o n - m a p p i n gs y s t e m a n dr e a l - - t i m e r e n d e r i n gs y s t e mt o g e t h e r , c o n s t r u c t e d ap h o t o n - m a p p i n gb a s e d r a d i o s i t y m a pc o m p u t i n gs y s t e m t h ep h o t o n - m a p p i n gb a s e dr a d i o s i t y m a pc o m p u t i n g s y s t e mc o n s i s t so fp a r a m e t e r i z a t i o ns u b s y s t e m ,p h o t o n m a p p i n gs u b s y s t e m ,a n d t e x t u r e c o m p r e s s i n gs u b s y s t e m f i r s t t h i st h e s i si n t r o d u c e da v a r i e t y o f p a r a m e t e r i z a t i o nm e t h o d sa n dp u tf o r w a r dan o r m a l p r i m a r yb a s e dp a r a m e t e r i z a t i o n m e t h o d ,w h i c hi se x t e n s i b l e t h e ni ti n t r o d u c e dt h ei n t e r f a c eo fp a r a m e t e r i z a t i o n s u b s y s t e m a n d p h o t o n m a p p i n gs u b s y s t e m t h e i n t e r f a c ei sc l e a ra n dt h e p h o t o n - m a p p i n gs y s t e mc a nb ec h a n g e dt oo t h e re n g i n e ss u c ha sr a d i o s i t y ,t h eo n l y r e q u e s ti st h a tt h ee n g i n eh a st h es a m ei n t e r f a c e t h e nt h i st h e s i s i n t r o d u c e dt e x t u r e c o m p r e s s i n gs u b s y s t e m ,p u tf o r w a r dp a c k i n gb a s e dt e x t u r ec o m p r e s s i n g ,c a ng a i na h i g h e rc o m p r e s s i n gr a t i ot h a ns 3 t c a tl a s tt h i st h e s i sg a v e3t e s tr e s u l t so fd if f e r e n t s c e n e s w ec a ns e et h a tt h i ss y s t e mm e e tt h ed e m a n do fr e a l i t ya n dr e a l t i m e k e y w o r d s :p h o t o n m a p p i n g ,r a d i o s i t y m a p ,p a r a m e t e r i z a t i o n ,t e x t u r ec o m p r e s s i n g 浙江人学倾i j 学位论文图目录 图目录 图1 1光子映射效果图1 图1 2 各种光源的光子发射。2 图1 3场景中的光子通路描述了a , b ,c 三个光子的历程3 图2 1系统架构图1 1 图2 2 参数化子系统1 2 图2 3纹理压缩子系统1 4 图2 4 光子跟踪接口15 图2 5系统的总体数据流程图1 8 图2 6t s e 支持的场景树2 0 图3 1三角网格的参数化2 4 图3 2 局部分割,展平法示意图2 7 图3 3根据主轴投影2 9 图3 4 正确的顶点索引和不f 确的顶点索引3 0 图3 5 投影空问面片a b c d e f 到二维平面g h u k l 。一3 2 图3 6 场景与物体的r a d i o s i t y m a p 3 3 图3 7 黑边问题的解决3 4 图3 8 加边框前后使用光照贴图的场景3 5 图3 9 对本算法的一种改进3 6 图4 1游戏中使用与不使用h d r 的效果3 9 图4 2 简单场景使用公式4 1 的t o n em a p p i n g 结果4 2 图5 1光照贴图对贴图空间的浪费及使用装箱解决该问题4 5 图5 2 纹理装箱过程4 8 图5 3 对空间的划分4 9 图5 4 紫会港校区模型的一张纹理装箱图5 0 图5 5装箱时的数据记录5l 图5 6 不规则区域使用矩形装箱的空间浪费。5 3 图6 1 河坊街晴天视角1 5 8 图6 2 河坊街晴天视角2 5 8 图6 3 河坊街晴天( 清河坊牌坊) 5 9 图6 4 河坊街阴天的一角5 9 图6 5 河坊街装箱后的一张r a d i o s i t y m a p 6 0 图6 6虚拟港口晴天视角l 一6 1 图6 7阳光照射下的资源采集船6 1 图6 8 从资源采集船内部向外望去 6 2 图6 9资源采集船夜晚室内灯光照明6 2 图6 10 河海场景装箱后的张r a d i o s i t y m a p 6 3 浙江人学顾l j 学位论文图目录 图6 11 紫会港校区c a d 实验室一6 3 图6 1 2 紫金港校区阳明桥和图书馆6 4 图6 1 3 紫金港校区建筑学院和临湖餐厅6 4 图6 1 4 紫金港校区c a d & c g 实验室走廊6 5 图6 15 紫金港场景的一张r a d i o s i t y r n a p 6 5 i v 浙江人学硕f :学位论文 表日录 表目录 表2 1 重要的场景树中的类与节点对应表2 l 表3 1 顶点一邻接面表结构3 0 表6 1 测试环境5 7 表6 2 场景数据测试结果6 6 v 浙江大学研究生学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。 除了文中特别加以标注和致谢的地方外,论文中不包含其他入已经发表或撰写过的研究成 果,也不包含为获得迸姿态堂或其他教育机构的学位或证书而使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:多幽 签字日期:办时年石月厶日 学位论文版权使用授权书 本学位论文作者完全了解澎姿太堂 有权保留并向国家有关部门或机构送交本 论文的复印件和磁盘,允许论文被查阅和借阅。本人授权澎姿叁堂可以将学位论文的 全部或部分内容编入有关数据库进行检索和传播,可以采用影印、缩印或扫描等复制手段 保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 多煳 导师签名: 签字日期:撕p 年月力日 签字同期: 浙江大学坝i j 学位论义第l 章绪论 1 1 光子映射技术综述 1 1 1 光子映射的优势 第1 章绪论 光线跟踪n 1 和辐射度位1 是两种常用的全局光照明模型口3 ,其中光线跟踪具有简 单、强大、易实现的特点h 1 ,但真实世界的很多东西无法很好地处理。比如:辉 映( b l e e d i n g ) ,焦散( c a s u t i c s ) 等效果晦1 。 直到1 9 9 6 年,光子映射盯1 被提出,光线跟踪都无法有效解决这两个问题,而 光子映射对这两个问题提供了良好的解决方案。辉映和焦散线现象都是漫反射面 的间接光照造成的。用光子映射方法,这类光照可以用预计算的光子图( p h o t o n m a p ) 来估计。将光线跟踪扩展为光子映射,可以产生一种能解决任何直接或间 接光照的方法。而且光子映射也能处理中间介质( p a r t i c i p a t i n gm e d i a ) 情况, 并且很易于做并行计算口1 。 由于光子映射方法综合了现有的各种光照技术的优点,包括光线跟踪和辐射 度这两种主要的全局光照技术,因此在近些年中光子映射已经成为计算全局光照 最流行的算法之一。图1 1 为光子映射的效果图: 黼翻 翻鬻 图1 1光子映射效果图 浙江人学硕i j 学位论文第l 帝绪论 基于光子映射的全局光照算法有两步旧 :第一步,从光源向场景发射光子, 并在它们碰到非镜面物体时将它们保存在一个光子图( p h o t o nm a p ) 中,以建立 光子图。第二步,使用统计技术从光子图中提取出场景中所有点的入射通量以及 反射辐射能。光子图与场景表述是完全分离开的,这一特性使得光子映射方法能 处理很复杂的场景,包括千万个三角面片,实例化的几何体,复杂的过程式物体。 与辐射度方法相比,光子映射的优势是不用网格化。简单场景下辐射度方法 的速度可以很快,但一旦场景复杂,网格数增多,辐射度速度就远远落后于光子 映射了。而且光子跟踪还能处理非漫射表面及焦散线,这些辐射度都无法处理。 和路径跟踪嗣,双向光路跟踪西3 等能用很少的内存开销模拟所有全局光照效 果的蒙特卡洛( m o n t ec a r l o ) n 们光线跟踪方法相比,光子映射的最大优点就是 高效,不过代价是需要额外的内存存放光子图。对大部分场景光子映射算法都很 快,而且最终效果比m o n t ec a r l o 的要好,因为光子映射产生的错误大多产生的 是不易引起注意低频信号,m o n t ec a r l o 的则往往是高频信号。 1 1 - 2 光子映射过程 1 ) 发射光子 光子的发射是有具体的分布函数的,比如对于一个平面光源,光子往各个方 向发射的概率呈c o s 分布,即垂直光源平面方向的概率最大,越接近于平行方向 发射出光子的可能性越小。图1 2 为各种光源的光子发射 个 1 l ( a ) 点光源( b ) 平行光( c ) 面光源 图1 2各种光源的光子发射。 浙江人学硕f j 学位论义第l 章绪论 从左至右分别为点光源,平行光源,面光源。 图1 3 为c o r n e l lb o x 场景中的光子通道,其中a 光子经过两次漫反射后被 吸收。b 光子经过一次镜面反射之后又经历了2 次漫反射。c 光子经过两次镜面 透射后被吸收。 图1 3 场景中的光,通路描述了a , b , c 二个光子的历程 2 ) 光子跟踪 光子跟踪和光线跟踪的区别就在于光线跟踪是收集光亮度( r a d i a n c e ) ,而 光子跟踪收集光通量( f l u x ) 阳1 。 这是个很重要的区别,因为一束光线与某一材质的交互作用肯定有别于一个 光子与材质的交互作用,比较明显的一个文例就是折射光亮度应该随折射率 的变化而变化,而光子跟踪就不受这个因素影响( 因为收集的是光通量) 。当光 子击中一个面的时候,不是被反射、或传送( 折射) ,就是被吸收了,其结果跟 该表面的参数有关,目前用来决定结果是反射、折射或吸收的技术是“俄罗斯转 盘”法1 7 1 ,即随机决定光子是否未被吸收而进行下一个光子跟踪步骤。s i g g r a p h 的教程对为何使用俄罗斯轮盘法有详细论述1 6 】。 3 ) 光子存储 在发射出光子后,哪些光子一表面的相互作用要被保存下来:只有在光子击 浙江人学顾l j 学位论文 第1 章绪论 中漫射反射表面,或更精确地讲,非镜面表面时,光子要被存下来。因为保存镜 面表面的光子不会为我们提供任何有用的信息:恰好在镜面方向上有个光子过来 的可能性是0 ,精确绘制境面反射的最好方法是用光线跟踪方法,向镜面对称方 向跟踪光线。 每个光子在它传输的路径上可以被存储多次,包括最后它被某个漫射表面吸 收。每次光子击中表面,其位置、光子能量、入射方向将被保存下来,还有一个 标记用于建造查找结构。 在光子跟踪那一步的时候光子图被组织为一个光子的序列,但在绘制之前, 出于效率考虑,该序列被重组为一个平衡k - d 树晦。 4 ) 为绘制过程重组光子图 构建光子图的过程是在光子跟踪的时候做的,在绘制阶段光子图就只是一个 用来估算场景中的那些点上的光通量以及反射光亮度的一组静态数据。 绘制过程中将不断在光子图中查找离某个点最近的光子,因而找一种合适的 数据结构来重组光子图对算法的效率影响就很大,这种数据结构的要求一是要紧 凑,二是要能最快搜索到最近光子。平衡k - d 树就比较符合这两个要求口1 。 5 ) 光亮度估计 对场景中某一点的光亮度估计是利用该点附近的n 个光子的光通量信息来进 行估算的阳1 ,最简单的方法在该点周围找能包围n 个已有光子的最小球体,处在 这个球体中的n 个光子的总光通量除以这个球的投影面积,就相当于是照度 ( i r r a d i a n c e ) ,再乘以b r d f 函数,就能得到在该照度下,场景这一点往眼睛这 一方向反射的光亮度了。 1 2 三维场景描述方法综述 1 2 1 三维场景的v r m l 描述 v r m ln 是v i r t u a lr e a l i t ym a k el a n g u a g e 的缩写,意为“虚拟现实造犁语 言。,它是用于三维环境描述的一系列规范之一,定义与多信息相关联的i 维世 界的布局和内容。v r m l 把交互式三维能力带入了万维网,它是一种可以发布3 d 4 浙江人学硕l j 学位论文第l 帝绪论 网页的跨平台语言。例如游戏、工程和科学可视化、教育和建筑,诸如此类的典 型项目仅靠基于网页的文本和图像是不够的,而需要增强交互性、动态效果连续 感以及用户的参与探索,这正是v r m l 的目标。 v r m l 文件可以包括下列四个主要成份引:v r m l 文件头、原型、造型和脚本、 路由。并不是所有的文件都包括这些要素,唯一必须的是v i g i l 文件头。 v r m l 中包含描述空间中造型及其属性的节点。这些是v p 妯i l 的构件。单个节 点描述造型、颜色、光照、视点、以及造型、动画定时器、传感器、内插器等的 定位和朝向等等。节点一般包括n 引: 节点的类型( 必需) 。 一对括号( 必需) 。 括号中的一定数目描述节点属性的域( 可选) 和域值。 括号将节点的域信息组织在一起。组织在括号中的域是属于节点的。由节点 及其相关域定义的造型或属性在空间中被视为一个整体。 所有的域类型,要么是单值类型,要么是多值类型。单值类型是单一的值, 如一种颜色和一个数字,该类型命名以“s f ”开始。多值类型可以很有值,比如 颜色和数字的列表,命名以“m f ”开始。当指定多值类型时,使用括号将值的列 表扩起来。 v r m l 文件以扩展名w r l 或w r z 结尾,表示这是一个包含v r m l 空问的文件。 v r m l 中的重要节点有以下几种类型刳: 造型尺寸、外观节点:s h a p e 、a p p e a r a n c e 、m a t e r i a l 原始几何造型节点:b o x 、c o n e 、c y li n d e r 、s p h e r e 造型编组节点:g r o u p 、s w i t c h 、b i 1l b o a r d 造型定位、旋转、缩放节点:t r a n s f o r m 点、线、面集节点:p o i n t s e t 、i n d e x e d l 。in e s e t 、i n d e x e d f a c e s e t 、c o o r d i n a t e 1 - 2 2 三维场景的x 3 d 描述 x 3 d 11 是一个用来发布三维内容的了1 :放标准。x 3 d 不仅仅是一种程序a p i , 浙江人学倾i :学位论义第l 章绪论 或仅仅是一种用来交换几何数据的文件格式。x 3 d 能把几何数据和运行时行为的 描述结合到单一的文件中,并且这个文件可以使用包括x m l 语言( e x t e n s i b l e m a r k u pl a n g u a g e ) 在内的不同的文件格式。x 3 d 是对x 3 d 9 7i s on 2 1 规格进行的 新的修订,修订工作结合了最新商业图形硬件特性的提升,并基于多年来x 3 d 9 7 开发团体反馈而进行的结构化改进。 与x 3 d 标准相比,两种标准在整体和细节上都有不同之处。x 3 d 继承了x 3 d 9 7 的工作并正式加入了先前规格中使用了多年的非正式的功能区域。x 3 d 要更有弹 性,既能满足基本要求也要能够扩展。x 3 d 主要的改变包括把规格完全改写到三 个独立的规格以分别规定抽象概念、文件格式编码、编程语言存取。其它的改变 包括更精确的光照和事件模型,为保持一致性而对域名的改变。 本系统中使用的虚拟场景为基于x 3 d 标准的w r l 或者w r l b 文件。 1 3r a d i o s i t y m a p 计算系统综述 1 3 1r a d i o s i t y m a p 技术概述 由1 1 可知,光子映射能提供具有较高真实感的渲染结果,使用越多的光子, 渲染的效果越好。但光子映射需要耗费较多的时间,因此在当前的硬件水平下, 光子映射无法具有实时性。 由于对环境中的静态光照来说,在任何表面上的漫反射分量从任何角度看上 去都是一样的,由于这种视点独立性,光线对物体表面的贡献可以通过附着在表 面上的纹理结构来捕捉。a r v o 和h e c k b e r t 最早将全局光照信息捕获到纹理中n 引。 受此启发,j o h nc a r m a r k 在其游戏q u a k ei i i 中,最先将这一思想应用到游戏等 实时应用中n 副。以上方法的核心都是通过使用一个单独的,已经计算出光照效果 的纹理,在渲染时直接使用纹理而不是计算来实现光照效果。这一技术俗称“纹 理烘焙”( t e x t u r eb a k i n g ) 或“渲染到纹理”( r e n d e rt ot e x t u r e ) ,用r 存储 光照效果的贴图称为辐射度图( r a d i o s i t y m a p ) 或光照贴图( l i g h t i n g m a p ) 。引。 为行文本文殷称此技术为r a d i o s it y m a p 技术,生成的纹理贴图为 r a d i o s i t y m a p 。r 镜面反射与视点有关,而漫反射与视点无关,所以 6 浙江人学坝i j 学位论文第l 章绪论 r a d i o s i t y m a p 一般存储表面的漫反射光6 | 。本系统的光照贴图只支持漫反射光, 但是较容易扩展为完全贴图( c o m p l e t em a p ) 由此可见,r a d i o s i t y m a p 的优势在于,可以使用分辨率较低的贴图,模拟较 精细的光照效果。由于使用纹理映射代替复杂的光照计算,r a d i o s i t y m a p 技术可 以在保持渲染实时性的基础上增强渲染真实感。 生成r a d i o s i t y m a p 一般包括四个步骤n 7 1 : 1 ) 读取场景描述文件,在内存中形成场景的内存结构,场景一般被组织为 一棵场景树。 2 ) 对场景中的面片作参数化( p a r a m e t e r i z a t i o n ,详见第三章) ,即纹理映射 的逆映射,形成场景空间中三维点和纹理空间中二维点的对应。 3 ) 对纹理空间的每个二维点寻找其对应的三维点,计算该三维点的光照值 并作为该二维点的像素值。 4 ) 更新场景描述文件,将面片与r a d i o s i t y m a p 的对应信息添加到场景中。 在实际应用中由于场景中的每个面片都需要有对应的纹理,而绘制时纹理过 多会造成抖动或跳帧,同时对内存和显存的要求也大大上升。因此使用 r a d i o s i t y m a p 技术时如何处理海量的纹理将会影响渲染后的实时效果。纹理压缩 技术和r a d i o s it y m a p 技术结合将使r a d i o s i t y m a p 技术的优势得到最充分发挥。 1 3 2 当前流行的r a d i o s i t y m a p 计算系统 r a d io s it y m a p ( 一般软件中俗称纹理烘焙) 技术已经渐渐成为目前三维建模 软件的“标准配置”,因此很多建模软件都自带纹理烘焙插件或者实现了 r a d i o s it y m a p 生成功能,较著名的有: 1 ) 3 d m a x 3 d m a x 中的“r e n d e rt ot e x t u r e ”就是r a d i o s it y m a p 生成工具,一般俗称 “纹理烘焙”或“渲染到纹理”。烘焙指令在r e n d e r 菜单下的”r e n d e rt ot e x t u r e “命令中。烘焙针对选中的物体进行,烘焙时需要调用3 d m a x 的标准插件之一 “u v u n w r a p p e r ”对选中的物体做参数化,然后使用指定的渲染器生成光照贴图。 7 浙江大学硕f :学位论义第l 章绪论 默认的渲染器为3 d m a x 自带的渲染器,也可以使用b r a z i l 等商用渲染器。 在烘焙时,可以选择光照贴图的分辨率,最后在用户指定的路径生成压缩 后的t g a 格式的光照贴图。 2 ) m a y a m a y a 中的r a d i o s i t y m a p 生成过程与3 d m a x 类似,烘焙指令在e d i t 菜单 c o n v e r tt of i l e t e x t u r e 命令中。烘焙针对选中的物体进行,可以选择使用m a y a 还是其他渲染器作烘焙,m a y a 自带u v 展开工具,最后生成指定分辨率的烘焙贴 图,也可以指定文件格式为t g a 或者j p g 格式。b r a z i l ,m e n t a l - r a y 等常用商用 渲染器也可以用于m a y a 。 3 ) b l e n d e r b l e n d e r 是著名的开源三维建模软件,所有功能都免费提供给使用者。 b l e n d e r 内置u v 展开命令u v m a p ,并可以使用支持b l e n d e r 的免费渲染器 k e r k y t h e ar e n d e r i n gs y s t e m ,i n d i g o ,等。生成的烘焙贴图为t g a 等格式。 1 4 研究背景、目标、主要贡献和本文结构 1 4 1 研究背景 本文主要基于三个现有系统开发: 1 ) 3 d m a x 下的x 3 d 导出器 该导出器为本实验室陈军同学的作品,可以将3 d m a x 中的模型导出为x 3 d 格式,并且支持二进制x 3 d 格式。 2 ) 浙江大学c a d c g 国家重点实验室的t s e 绘制引擎和3 d 解析器 该绘制引擎是一个基于o p e n g l 的绘制引擎,x 3 d 解析器解析x 3 d 文件,t s e 引擎实现遮挡剔除和场景漫游。三维场景漫游器v i s i o n i x p l a y e r 在t s e 的基础 上构建,是本系统的漫游平台。t s e 引擎本身不支持光照效果,因此可以使用 r a d i o s i t y m a p 生成技术将t s e 的x 3 d 分析器读入的场景文件作r a d i o s i t y m a p 生 成,即可实现真实感实时绘制。 3 ) 基于光子映射的渲染器r a y t r a c e r 浙江大学硕l :学位论义第1 章绪论 r a y t r a c e r 是本实验室甘筱锐同学的作品,实现了光子映射,并支持h d r 效 果( 对h d r 的说明详见第4 2 节) 。 由于光子映射结合了普通光线跟踪和辐射度的优点,而唯一缺点为耗时甚 巨,因此考虑将光子映射的质量与使用r a d i o s i t y m a p 后的漫游速度结合,构造 基于光子映射的r a d i o s i t y m a p 计算系统v i s i o n i x b a k e r 。x 3 d 为虚拟现实界的标 准语言,因此x 3 d 是v i s i o n i x b a k e r 支持的第一种格式。 1 4 2 研究目标 将光子映射和r a d i o s i t y m a p 生成技术结合,完成基于光子映射的 r a d i o s i t y m a p 计算系统的设计和实现方案。该方案使用x 3 d 定义场景,将光子映 射技术与r a d i o s i t y m a p 计算技术结合,支持从简单场景到百力级三角面片的复 杂场景的r a d i o s i t y m a p 计算,并且支持一万张以上的海量光照贴图的生成和压 缩。使用本系统可方便地实现大规模三维场景的真实感实时绘制。 1 4 3 主要贡献 本系统基于现有的t s e 绘制引擎和x 3 d 解析器开发。该绘制引擎需要使用 3 d m a x 等工具计算r a d i o s i t y m a p 。在实际使用时发现当前同类工具有以下不足 1 ) 其他工具的渲染器使用辐射度算法或光线跟踪算法,渲染效果不如较先 进的光子映射算法。 2 ) 使用其他工具时参数化操作需要借助与系统分离的其他工具,使用这些 工具依赖美工的经验,也无法对参数化过程作调整,参数化操作较不方便。 3 ) 其他工具在处理大场景时往往生成海量的r a d io s it y m a p ,且不对海量数 据作压缩或优化,因此使用海量r a d i o s it y m a p 时对系统性能影响较大。 本文对上述问题的解决做了尝试。本文主要有3 个主要贡献: 1 ) 使用光子映射引擎和h d r 技术,渲染效果优于同类工具使用的光线跟踪 或辐射度算法。 2 ) 使用基于法线主轴的参数化算法并与现有的绘制系统整合,使现有系统 浙江人学硕十j 学位论文第l 章绪论 具备参数化功能而不必依赖其他工具,简化了参数化操作,且参数化过程完全可 控,增强了系统的实用性。 3 ) 使用基于树结构的纹理装箱算法,结合经典的纹理压缩格式,减小海量 r a d i o s i t y m a p 对系统的性能耗费,解决同类工具不对r a d i o s i t y m a p 作压缩或装 箱因而处理海量r a d i o s i t y m a p 性能不佳的缺点。 1 4 4 本文结构 本文第二章介绍了r a d i o s i t y m a p 计算系统的的总体架构,给出了总体架构 图和各子系统的架构图,并以分析数据流图的形式介绍了系统的数据输入,处理 和输出过程。第三章综述了几种主流的参数化技术,重点介绍了本系统所使用的 参数化算法并分析其复杂度。第四章介绍了本系统对h d r 技术的支持,并给出几 种常用的颜色映射方法。第五章介绍了使用纹理压缩技术的光照贴图压缩子系 统,重点分析了本系统使用的装箱和压缩技术。第六章给出了本r a d i o s i t y m a p 计算系统用于3 个场景后的渲染结果,并从时间,空间和纹理质量三个角度分析 了本系统的性能。第七章总结了全文并提出了今后改进本系统的方法。 1 5 本章小结 本章分为两大部分。第一部分为本文的理论基础,先介绍计算机真实感图形 的实时绘制方法,引出本文的理论基础光子映射和纹理贴图,随后介绍了光子映 射的基本原理和操作过程。x 3 d 格式为当前虚拟场景的标准格式,因此为本系统 当前唯一支持的格式,r a d i o s i t y m a p 生成技术基于纹理贴图和真实感绘制技术, 是实现真实感实时绘制的关键技术。第二部分介绍了当前流行的r a d i o s i t y m a p 生成工具以及他们的特色,并分析了本文的研究背景,研究目标和创新点,并向 读者介绍了本文的基本结构。本章重点介绍了本r a d i o s i t y m a p 计算的理论基础, 实践基础和创新点。 1 0 浙江人学顾f - q :位论文 第2 章r a d i o s i t y m a p 计算系统框架 第2 章r a d i o s i t y m a p 计算系统框架 上一章介绍了本文的理论基础和研究目标,本章介绍r a d i o s i t y m a p 计算系统 的整体框架。整体框架的介绍分为架构设计和数据处理两部分,首先分析了 r a d i o s i t y m a p 计算系统的整体框架和子系统划分,随后使用u m l 婚l 图剖析各个子 系统的内部结构;大型软件系统的设计需要贯彻一些设计原则和方法,因此本章 也阐述了本计算系统所使用的设计思想;最后给出了全系统的基本数据流程和重 要的数据结构。 2 1 系统总体架构与子系统简介 根据1 4 中论述的牛成r a d i o s i t y m a p 的基本步骤,将整个计算系统戋l j 分为 光子映射子系统,纹理压缩子系统,参数化子系统三个子系统。同事使用t s e 引 擎和x 3 dp a r s e r 读取并绘制计算结果,使用开源图像处理库x i m a g e 处理图像。 图2 1 为本r a d i o s i t y m a p 系统架构图。虚线表示系统或包之间的依赖关系 圄圉 o , p i - - 二二= 二:i 一国 图2 1 系统架构图 浙江人学硕i j 学位论义 第2 章r a d i o s i t y m a p 计算系统框架 光子映射子系统由甘筱锐同学完成,本系统通过光子映射接口与光子映射子 系统交互。t s e 绘制引擎为实验室原有的绘制引擎。x i m a g e 为第三方图像工具库。 本系统的输入为场景的x 3 d 文件,依托底层的x 3 dp a r s e r 和t s e 解析并渲 染输入的x 3 d 文件,解析后形成内存数据结构供参数化子系统使用。 参数化子系统对输入的场景中的物体作参数化并通过光子跟踪接口调用光 子跟踪器形成场景中物体的光照贴图,并生成带有场景的光照贴图信息的新的 x 3 d 文件。如果需要压缩,则参数化子系统会调用纹理压缩子系统的函数 纹理压缩子系统在图像层面对光照贴图作装箱和压缩处理。 最后由x 3 dp a r s e r 和t s e 引擎读取新的场景文件和r a d i o s i t y m a p 。 2 1 1 参数化子系统 参数化子系统是本系统的核心之一,该子系统类图为图2 2 。虚线表示类之 间的依赖关系。一些重要函数也显示在类图中。 国 图2 2 参数化子系统 参数化子系统的核心为类c t e x t u r e b a k i n g 。c t e x t u r e b a k i n g 类在初始化时 目豳 浙江人学硕f j 学位论义 第2 章r a d i o s i t y m a p 计算系统框架 获取包含x 3 dp a r s e r 生成的场景信息的v r m l c s c e n e e x 类对象。 c b a k e r m a t h 类为包装烘焙器需要的数学函数的类。如根据光栅化后的三角形 的三个顶点获取其内部点,以及纹理坐标与像素之间的转换。 c b a k e r s h a p e 类在初始化时从c t e x t u r e b a k i n g 类中获取需要烘焙的 v r m l _ _ c s h a p e 类对象。随后利用v r m l _ c s h a p e 中包含的物体空间坐标参数化该物 体,得到光照贴图纹理坐标供c t e x t u r e b a k i n g 类使用。 c b a k e r l m a g e 封装c x i m a g e 图像函数库未实现的图像操作和对h d r 光照贴图 作处理的函数。 c v r m l e x p o r t e r 在初始化时获取已包含光照贴图信息的场景的 v r m l _ c s c e n e e x 类对象,使用层层嵌套的函数遍历该结构形成新的x 3 d 文件。 c b a k e r r t i n t e r 类为光子跟踪系统的接口,主要完成两个任务。首先,接口 根据场景树将场景的几何和光照信息传递给光子跟踪系统,形成光子跟踪系统的 加速结构k - d 树口1 。随后在c t e x t u r e b a k i n g 类得出光照贴图上的像素一空间点对 应关系后将每个像素处的空间点坐标,法线等信息传入光子跟踪器中得到该像素 处的光照。 c p a c k e r t r e e n o d e 为执行装箱算法的核心类。在生成光照贴图时需要将同属 一个s h a p e 节点的所有面的光照贴图装箱到一张贴图中,所以在生成光照贴图时 其实已进行了一次装箱操作。 c b a k e r m a t h 和c b a k e r i m a g e 都是算法密集型的类,本质上是一个函数集合。 之所以将他们封装为类是基于可扩展性,如可以根据不同需要派生这两个类支持 多种图像和数学算法。 2 1 2 纹理压缩子系统 纹理压缩子系统的结构较简单,c t e x t u r e b a k i n g 类调用c t e x t u r e p a c k e r 类执 行纹理压缩功能,纹理压缩子系统基于开源图像库x i m a g e 读取和保存图像, c p a c k e r t r e e n o d e 类执行纹理装箱功能。纹理压缩了系统的类图如图2 3 所示 浙江人学倾l :学位论文第2 章r a d i o s i t y m a p 计算系统框架 图2 3 纹理压缩子系统 c p a c k e r t r e e n o d e 为基于树结构的装箱算法的包装类。该算法使用一棵类似 k dt r e e 的树结构表示装箱空间的划分。c p a c k e r t r e e n o d e 表示该树结构中的一 个节点,其中成员变量r e c t 表示该节点对应的一个装箱窄间的矩形区域。 丌源图像函
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供应链金融模式创新对中小企业融资成本降低的实证研究
- 2025年整形外科注射美容项目安全实施考试答案及解析
- 2025年麻醉药物计量与应用技能测试答案及解析
- 2025年呼吸内科呼吸道疾病诊断与治疗考核答案及解析
- 2025年麻醉科药物应用与术后并发症的处理考试试卷答案及解析
- 2025年风湿免疫科医生的类风湿关节炎诊断技能测试答案及解析
- 2025新疆塔里木交建集团有限公司面向社会招聘18人备考考试题库附答案解析
- 2025年南平市延平区延拓文旅集团幼儿园教职工招聘考试模拟试题及答案解析
- 2025年精神科学疾病诊断与治疗模拟测试卷答案及解析
- 技术研究行业研究成果表格
- 一带一路详解
- 中小学英语课件-Go-away-Mr-Wolf
- 二年级语文上册《有趣的动物》课件PPT
- 不干胶贴标机设计学士学位论文
- 《劳动合同书》-河南省人力资源和社会保障厅劳动关系处监制(2016.11.15)
- 钢轨检测报告
- 战略管理:概念与案例
- GB/T 3505-2009产品几何技术规范(GPS)表面结构轮廓法术语、定义及表面结构参数
- GB/T 11186.1-1989涂膜颜色的测量方法第一部分:原理
- 09S304 卫生设备安装图集
- 功能材料概论-课件
评论
0/150
提交评论