RenderAnts的纹理烘焙系统设计和实现
摘要 | 第4-5页 |
Abstract | 第5页 |
第1章 绪论 | 第12-14页 |
1.1 课题背景 | 第12页 |
1.2 本文工作 | 第12-13页 |
1.3 文章结构 | 第13-14页 |
第2章 相关理论和资料 | 第14-31页 |
2.1 纹理烘焙及其理论基础 | 第14-17页 |
2.1.1 渲染方程 | 第14页 |
2.1.2 双向反射分布函数 | 第14-15页 |
2.1.3 Lambert光照模型 | 第15-16页 |
2.1.4 纹理烘焙介绍 | 第16-17页 |
2.2 Modelo场景格式 | 第17-20页 |
2.2.1 JSON介绍 | 第18页 |
2.2.2 Modelo格式介绍 | 第18-20页 |
2.3 球谐函数 | 第20-22页 |
2.3.1 勒让德多项式 | 第20-21页 |
2.3.2 连带勒让德多项式 | 第21页 |
2.3.3 球谐函数 | 第21-22页 |
2.4 基于GPU的渲染系统RenderAnts | 第22-24页 |
2.4.1 REYES渲染 | 第22-23页 |
2.4.2 光线追踪 | 第23-24页 |
2.5 重心坐标 | 第24-25页 |
2.6 异构并行编程语言BSGP | 第25-27页 |
2.7 纹理图集 | 第27-28页 |
2.8 OpenGL渲染管线 | 第28-29页 |
2.9 CUDA简介 | 第29-30页 |
2.10 本章小结 | 第30-31页 |
第3章 纹理烘焙系统的设计和实现 | 第31-52页 |
3.1 系统整体设计 | 第31-34页 |
3.1.1 系统执行流程 | 第32-33页 |
3.1.2 系统各模块难点 | 第33-34页 |
3.2 场景载入模块 | 第34-35页 |
3.2.1 工厂模式与抽象工厂模式 | 第34-35页 |
3.2.2 多版本支持设计 | 第35页 |
3.3 参数化模块 | 第35-44页 |
3.3.1 进程间通信接口 | 第36-41页 |
3.3.2 多线程加速设计 | 第41-44页 |
3.4 渲染模块 | 第44-46页 |
3.4.1 环境光映射 | 第44-45页 |
3.4.2 环境光贴图重建 | 第45-46页 |
3.5 后处理模块 | 第46-50页 |
3.5.1 反走样 | 第46-48页 |
3.5.2 色调映射 | 第48-50页 |
3.6 本章小结 | 第50-52页 |
第4章 RenderAnts的纹理烘焙实现 | 第52-61页 |
4.1 OpenGL加速的纹理烘焙实现 | 第52-57页 |
4.1.1 RenderAnts的工作流程 | 第52-53页 |
4.1.2 RenderAnts工作流程的改进 | 第53-56页 |
4.1.3 分批次渲染 | 第56-57页 |
4.2 基于内联汇编的纹理对象支持 | 第57-60页 |
4.2.1 BSGP语言的编译流程 | 第58-59页 |
4.2.2 纹理对象支持的两种实现 | 第59-60页 |
4.3 本章小结 | 第60-61页 |
第5章 系统测试与分析 | 第61-80页 |
5.1 系统测试 | 第61-75页 |
5.1.1 场景测试结果 | 第61-65页 |
5.1.2 速度对比与分析 | 第65-68页 |
5.1.3 内存占用对比与分析 | 第68-73页 |
5.1.4 结果质量对比与分析 | 第73-75页 |
5.2 球谐函数阶数对重建环境光贴图的影响 | 第75-77页 |
5.3 两种反走样方式的对比 | 第77-78页 |
5.4 全局自适应色调映射的关键值对场景的影响 | 第78页 |
5.5 本章小结 | 第78-80页 |
第6章 总结和展望 | 第80-82页 |
6.1 工作总结 | 第80页 |
6.2 未来工作展望 | 第80-82页 |
参考文献 | 第82-85页 |
致谢 | 第85-86页 |
作者简历 | 第86页 |