摘要 | 第5-6页 |
ABSTRACT | 第6页 |
第一章 绪论 | 第12-16页 |
1.1 研究背景和意义 | 第12-13页 |
1.2 课题研究内容 | 第13-14页 |
1.3 本论文组织结构 | 第14-16页 |
第二章 基于场景图的渲染框架设计 | 第16-30页 |
2.1 渲染框架体系结构 | 第16-17页 |
2.2 渲染管道 | 第17-19页 |
2.2.1 图形渲染管道 | 第17-18页 |
2.2.2 GPU渲染管道 | 第18-19页 |
2.3 着色器 | 第19-22页 |
2.3.1 从固定渲染管道到可编程渲染管道 | 第19-20页 |
2.3.2 着色器的种类 | 第20-22页 |
2.3.3 高级着色语言 | 第22页 |
2.4 Direct3D简介 | 第22-26页 |
2.4.1 初始化Direct3D | 第23页 |
2.4.2 缓冲机制 | 第23-24页 |
2.4.3 深度缓冲 | 第24页 |
2.4.4 纹理资源视图 | 第24-25页 |
2.4.5 Direct3D和OpenGL的比较和转换的简述 | 第25-26页 |
2.5 渲染框架设计思想 | 第26-28页 |
2.5.1 模板设计模式 | 第26-27页 |
2.5.2 复合设计模式 | 第27-28页 |
2.6 本章总结 | 第28-30页 |
第三章 场景图 | 第30-48页 |
3.1 场景图的基本结构 | 第30-32页 |
3.2 场景图中的物体分层转换 | 第32-35页 |
3.2.1 机械部件例子 | 第33页 |
3.2.2 行星系统例子 | 第33-35页 |
3.3 场景图的实现 | 第35-36页 |
3.3.1 场景图的基类实现 | 第35页 |
3.3.2 场景图的内节点实现 | 第35-36页 |
3.3.3 场景图的叶子节点实现 | 第36页 |
3.4 场景图的优化 | 第36-47页 |
3.4.1 路径压缩 | 第36-38页 |
3.4.2 动态场景图的路径压缩 | 第38页 |
3.4.3 加速场景图的渲染操作 | 第38-39页 |
3.4.4 二叉排序树优化场景图的插入和删除操作 | 第39页 |
3.4.5 加速节点间的相对转换操作 | 第39-46页 |
3.4.6 优化总结 | 第46-47页 |
3.5 本章总结 | 第47-48页 |
第四章 渲染框架的光照模块 | 第48-62页 |
4.1 光照介绍 | 第48-49页 |
4.2 光照颜色和物体材质颜色因子 | 第49页 |
4.3 基本光照模型 | 第49-53页 |
4.3.1 环境光 | 第49-50页 |
4.3.2 发散光 | 第50-51页 |
4.3.3 镜面反射光 | 第51-52页 |
4.3.4 光照模型合成 | 第52页 |
4.3.5 光的衰减计算 | 第52-53页 |
4.4 光源 | 第53-54页 |
4.4.1 平行光 | 第53页 |
4.4.2 点光源 | 第53-54页 |
4.4.3 聚光灯式光源 | 第54页 |
4.5 光照模块GPU编程设计和实现 | 第54-58页 |
4.5.1 平行光设计 | 第55-56页 |
4.5.2 点光源设计 | 第56-57页 |
4.5.3 聚光灯式光源 | 第57-58页 |
4.6 光照实验 | 第58-61页 |
4.7 本章总结 | 第61-62页 |
第五章 渲染框架的环境渲染模块 | 第62-74页 |
5.1 纹理基础技术 | 第62-64页 |
5.1.1 纹理坐标 | 第62-63页 |
5.1.2 Mipmap技术 | 第63-64页 |
5.2 高级纹理技术 | 第64-71页 |
5.2.1 立方映射 | 第64-65页 |
5.2.2 环境映射技术 | 第65-66页 |
5.2.3 法线映射技术 | 第66-70页 |
5.2.4 投影纹理映射技术 | 第70页 |
5.2.5 阴影映射技术 | 第70-71页 |
5.3 环境渲染模块开发 | 第71-73页 |
5.4 本章总结 | 第73-74页 |
第六章 渲染框架的粒子系统模块 | 第74-88页 |
6.1 粒子特性 | 第74-78页 |
6.1.1 粒子的表示 | 第74-75页 |
6.1.2 粒子运动真实感 | 第75页 |
6.1.3 粒子随机性 | 第75-77页 |
6.1.4 粒子的颜色混合 | 第77-78页 |
6.2 流式输出 | 第78-81页 |
6.2.1 为流式输出创建几何着色器 | 第78-79页 |
6.2.2 不渲染输出数据 | 第79-80页 |
6.2.3 流式输出顶点缓冲区 | 第80页 |
6.2.4 绑定到流式输出阶段 | 第80-81页 |
6.2.5 顶点数变化的时候画图 | 第81页 |
6.2.6 两个顶点缓冲区的交替使用 | 第81页 |
6.3 开发基于GPU的粒子系统模块 | 第81-86页 |
6.3.1 粒子效果程序 | 第82页 |
6.3.2 粒子系统框架类 | 第82-83页 |
6.3.3 发射器粒子 | 第83-84页 |
6.3.4 初始化顶点缓存区 | 第84页 |
6.3.5 粒子的更新和渲染 | 第84-86页 |
6.4 粒子系统应用 | 第86-87页 |
6.4.1 火粒子 | 第86页 |
6.4.2 雨粒子 | 第86-87页 |
6.5 本章总结 | 第87-88页 |
论文总结与展望 | 第88-90页 |
致谢 | 第90-92页 |
参考文献 | 第92-96页 |
附录 (攻读学位期间发表著作和科研情况) | 第96页 |