前言
教学建议
第1章计算机图形学
1?1计算机图形学概述
1?2计算机图形学的发展历史
1?3计算机图形学的应用领域
1?3?1计算机辅助设计 (CAD/CAM)
1?3?2科学计算可视化
1?3?3图形化的用户界面
1?3?4电脑游戏
1?3?5动画特效
1?3?6地理信息系统
1?3?7虚拟现实系统
1?3?8计算机艺术
1?4计算机图形设备与图形系统
1?4?1计算机图形设备
1?4?2计算机图形系统
1?5计算机图形的最新发展动向
本章小结
习题
第2章基本图形生成算法
2?1图形光栅化的原理
2?2直线的光栅化算法
2?2?1逐点比较法
2?2?2数值微分法
2?2?3中点Bresenham算法
2?3圆的光栅化算法
2?3?1简单方程法产生圆弧
2?3?2Bresenham算法产生圆弧
2?4其他图形的光栅化算法
2?5基本图元的代码实现
2?5?1基本图元的C语言实现
2?5?2基本图元的MFC实现
2?6多边形填充
2?7宽图元
2?7?1复制像素画宽图元
2?7?2移动画笔画宽图元
本章小结
习题
第3章3D图形中的数学基础
3?1坐标系
3?2向量
3?2?1向量的基本概念
3?2?2向量的基本运算
3?2?3向量的代码实现
3?3矩阵
3?3?1矩阵的基本概念
3?3?2矩阵的基本运算
3?3?3Direct3D中的矩阵
3?4空间几何的运算
3?4?1几何形体的表达
3?4?2几何体之间的空间关系
本章小结
习题
第4章图形变换
4?1二维及三维图形几何变换
4?1?1二维图形几何变换
4?1?2三维图形几何变换
4?2投影与投影变换
4?2?1平行投影
4?2?2透视投影
4?3图形变换的实现
4?3?1Direct3D中的矩阵
4?3?2Direct3D中的矩阵变换
4?4编程实例
本章小结
习题
第5章三维场景绘制基础
5?1三维场景绘制流水线
5?1?1世界变换
5?1?2观察空间变换
5?1?3背面拣选
5?1?4光照
5?1?5裁剪
5?1?6投影
5?1?7视口变换
5?1?8光栅化
5?2Direct3D的绘制流程
5?2?1创建场景
5?2?2绘制场景
5?2?3Direct3D绘制流水线
本章小结
习题
第6章真实感图形光照处理
6?13D图形的颜色原理
6?1?1颜色的光学性质
6?1?2CIE色度图
6?1?3颜色空间模型
6?2光照明模型
6?2?1简单光照明模型
6?2?2基于简单光照明模型的多边形绘制
6?2?3整体光照明模型和光线跟踪算法
6?3光照的Direct3D编程实现
6?3?1Direct3D颜色定义
6?3?2光源
6?3?3材
6?3?4Direct3D顶点颜色
本章小结
习题
第7章纹理映射技术
7?1纹理映射的基本原理
7?1?1纹理的基本概念
7?1?2纹理映射的概念
7?1?3纹理映射中的几何关系
7?2纹理映射的实现过程
7?2?1纹理映射的OpenGL实现
7?2?2纹理映射的Direct3D实现
7?3高级纹理映射技术
7?3?1纹理的优化处理技术
7?3?2多重纹理映射
7?3?3凹凸纹理
7?3?4环境映射技术
本章小结
习题
第8章场景组织与管理技术
8?13D场景组织方式
8?1?1场景图
8?1?2基于绘制状态的场景管理
8?2优化场景绘制的几何剖分技术
8?2?1四叉树
8?2?2八叉树
8?2?3BSP树
8?3三维场景的快速可见性判断
8?3?1入口技术
8?3?2遮挡剔除
8?3?3潜在可见集方法
8?4LOD加速绘制技术
8?4?1LOD技术分类
8?4?2LOD的主要简化方法分类
8?4?3典型LOD的简化方法
本章小结
习题
第9章游戏特效绘制技术
9?1广告牌技术
9?2粒子系统技术
9?2?1粒子的属性
9?2?2粒子系统的创建
9?3精灵动画技术
9?5烟、雾、火特效技术
9?5?1粒子系统
9?5?2分形几何
9?5?3过程纹理
9?5?4细胞自动机
9?5?5基于物理的方法
9?6眩光特效技术
9?6?1太阳及镜头光晕的绘制
9?6?2光晕淡入淡出效果
9?6?3可见性判断
本章小结
习题
第10章地形绘制技术
10?1地形绘制的基本理论
10?1?1地形生成
10?1?2地表纹理
10?1?3地形光照
10?1?4地形的雾化效果
10?2简单地形的绘制方法
10?2?1生成地形高度数据
10?2?2创建地形网格
10?2?3添加纹理
10?2?4计算阴影
10?2?5添加雾化效果
10?3高级地形绘制技术
10?3?1地形LOD技术简介
10?3?2基于GeoMipmapping的地形LOD技术
本章小结
习题
第11章阴影绘制技术
11?1阴影的基本原理
11?2平面阴影技术
11?2?1投影矩阵
11?2?2模板缓存
11?2?3绘制过程
11?3复杂阴影实现技术
11?3?1阴影图算法
11?3?2阴影体算法
本章小结
习题
第12章碰撞检测技术
12?1碰撞检测的基本原理
12?1?1概念
12?1?2碰撞检测问题描述
12?1?3碰撞检测算法分类
12?2高级碰撞检测技术
12?2?1基于图像空间的碰撞检测算法
12?2?2基于一般表示模型的碰撞检测算法
12?2?3面向可变形体的碰撞检测算法
12?3基本碰撞检测算法实现
12?3?1使用边界框测试碰撞
12?3?2使用边界球测试碰撞
12?4示例程序
12?4?1边界框碰撞
12?4?2边界球碰撞
本章小结
习题
第13章计算机动画技术
13?1计算机动画概述
13?2计算机三维动画过程
13?3关键帧动画
13?4过程动画
13?4?1三维纹理映射与过程纹理
13?4?2L系统
13?4?3傅里叶合成技术
13?5变形动画
13?6基于物理模型的动画
13?6?1刚体动力学模拟
13?6?2弹性变形体模拟
13?6?3流体模拟
13?7人体和关节动画
13?7?1人体骨架模型
13?7?2运动学方法
13?7?3动力学方法
13?7?4基于运动捕获的方法
本章小结
习题
第14章GPU硬件加速技术
14?1GPU硬件加速的原理
14?2GPU与CPU比较
14?3HLSL着色器
14?3?1HLSL简介
14?3?2HLSL的数据类型
14?3?3编写HLSL着色器代码
14?3?4在Direct3D程序中加载
14?3?5HLSL的Effect框架
14?3?6基于HLSL的光照效果程序
14?4GLSL着色器
14?4?1GLSL数据类型
14?4?2GLSL的输入输出
14?4?3顶点着色器与片段着色器操作
14?4?4GLSL光照示例程序
本章小结
习题
附录A图形开发库Direct3D编程入门
附录BOpenGL简介
参考文献