基于Lightmap的实时全局光照方法研究开题报告
2021-03-11 00:27:42
1. 研究目的与意义(文献综述)
随着gpu硬件性能的不断提升,人们对虚拟场景真实感的要求也越来越高。传统的光照算法(如phong着色)几乎全是局部光照算法,仅仅考虑了光源直射在物体表面的那部分光线,在成像效果上远远不能够与离线渲染的图像相比。全局光照,简称gi,是一个用来模拟光的互动和反弹等复杂行为的算法。全局照明方法试图解决由光线追踪所带来的一些问题。一个光线追踪器往往模拟光线在遇到漫反射表面时只折射一次,而全局照明渲染器模拟光线在场景中的多次反射。在光线追踪算法里,场景中的每个物体都必须被某个光源照亮才可见,而在全局照明中,这个物体可能只是简单的被它周围的物体所照亮。
全局光照一般分为离线和实时交互两类方案。为了精确仿真场景中的每一次光线运动,从而渲染出高质量的画面,离线的解决方案往往耗时数小时甚至更长的时间去渲染。交互式的方案在需要大量的硬件资源的同时,会产生一定数量的噪声与失真,效果也没有离线的那么好。
为了平衡速度与效果,国内外学者提出了光线跟踪、双向光线跟踪、光柱跟踪、光子贴图、辐射度、环境光遮蔽等等一系列方案。1968年arthur appel在ray-tracing and other rendering approaches中最早提出了ray casting的概念。光线投射其实只是一根单一的从一个点向一个方向发射出光线,它与场景中的物体相交时停止,appel的算法中使用了view ray和shadow ray两条光线,这计算出来的其实就是光照方程中的直接光照部分。辐射度是与蒙特卡洛系列的跟踪算法完全不同的一种算法,特别适用于漫反射模型,能产生很逼真的效果。
2. 研究的基本内容与方案
一、基本内容 1. 学习建模软件的基本使用方法 2. 学习DirectX、Unity相关知识; 3. 了解各全局光照算法原理; 4. 了解Lightmap的生成原理; 5. 编码实现全局光照及贴图生成; 二、技术方案 实时全局光照系统的主要研究分为两个部分:使用全局光照技术渲染场景和生成lightmap。 首先,使用建模软件生成场景模型的第二套平铺的uv。对于较大的场景,可以先对场景进行分割再对每一块场景打包生成对应图集。 其次,建立lightmap上的纹素与模型之间的关系(世界坐标,法向量,…)。通过硬件加速或寻找适当算法来加速这一过程。 对于采用合适的全局光照算法渲染整个场景。拟采用辐射度算法。算法认为所有的东西都是一个潜在的光源。任何可见的东西不是辐射光线,就是反射光线。总之,它是一个光的来源,一个光源。一切周围你能看到的东西都是光源。这样,当考虑场景中的某一部分要接受多少光强时,注意把所有的可见物体发出的光线加起来。 在Unity游戏引擎平台上实现上述方案。采用游戏引擎的优势是操作方便,可以专注于方案的实现而不是琐碎的小问题。同时可以利用引擎中集成的工具对实现的中间步骤进行调试,并检查最终图像是否有不正确之处。 当方案大致实现完毕时,对整个实现进行profile,观察那个部分耗时过长,需要优化。根据profile结果考虑调整算法和架构,并对项目进行重构,以保持代码架构的整洁美观。 最后,完成毕业论文的撰写和完善。 |
3. 研究计划与安排
2017/1/14—2017/2/22: 确定选题,查阅文献,外文翻译和撰写开题报告;
2017/2/23—2017/4/30: 系统架构、程序设计与开发、系统测试与完善;
2017/5/1—2017/5/25: 撰写及修改毕业论文;
4. 参考文献(12篇以上)
[1] 张全贵,王普,闫健卓,方丽英. 基于光线跟踪方法的全局光照研究[j]. 计算机科学,2010,(04):27-30 44.
[2] 扎西次仁. 复杂场景中实时全局光照模型研究[d].北京邮电大学,2015. [3] 柳喆俊. 高动态范围光照贴图在虚拟现实中的应用[j]. 艺术与设计(理论),2007,(02):101-103.
[3] 朱元龙. light propagation volume全局光照算法的研究[d].杭州电子科技大学,2014.