内容简介
第1章 绪论
1.1计算机图形学简介
1.1.1计算机图形学的世界
1.1.2应用领域的现状与前景
1.1.3关于用户界面的思考
1.2简要历史
1.3一个光照的例子
1.4目标、资源和适度的抽象
1.4.1深度理解与常见的做法
1.5图形学中的常数和一些参数值的量级
1.5.1光能量和光子到达率
1.5.2显示器的特性和眼睛的分辨率
1.5.3数码相机的特性
1.5.4复杂应用的处理需求
1.6图形管线
1.6.1纹理映射与近似
1.6.2更为详细的图形管线
1.7图形学与艺术、设计、感知的关系
1.8基本图形系统
1.8.1图形数据
1.9视为黑盒的多边形绘制
1.10图形系统中的交互
1.11不同类型的图形应用
1.12不同类型的图形包
1.13构建真实感绘制模块:概述
1.13.1光线
1.13.2物体和材料
1.13.3接收来自场景中的光线
1.13.4图像显示
1.13.5人类视觉系统
1.13.6数学运算
1.13.7积分和采样
1.14学习计算机图形学
第2章2D图形学简介——基于WPF
2.1引言
2.2 2D图形流水线概述
2.3 2D图形平台的演变
2.3.1从整数坐标到浮点数坐标
2.3.2即时模式与保留模式
2.3.3过程语言与描述性语言
2.4使用WPF定义2D场景
2.4.1 XAML应用程序结构
2.4.2采用抽象坐标系定义场景
2.4.3坐标系的选择范围
2.4.4 WPF画布坐标系
2.4.5使用显示变换
2.4.6构造并使用模块化模板
2.5用WPF实现的2D图形动态显示
2.5.1基于描述性动画的动态显示
2.5.2基于过程代码的动态显示
2.6支持各种形状系数
2.7讨论和延伸阅读
第3章 一个古老的绘制器
3.1一幅丢勒的木刻画
3.2可见性
3.3实现
3.3.1绘图
3.4程序
3.5局限性
3.6讨论和延伸阅读
3.7练习
第4章2D图形测试平台
4.1引言
4.2测试平台的细节
4.2.1使用2D测试平台
4.2.2割角
4.2.3基于测试平台的程序的结构
4.3 C#代码
4.3.1坐标系
4.3.2 WPF数据依赖
4.3.3事件处理
4.3.4其他几何物体
4.4动画
4.5交互
4.6测试平台的一个应用程序
4.7讨论
4.8练习
第5章 人类视觉感知简介
5.1引言
5.2视觉系统
5.3眼睛
5.3.1眼睛的生理机能
5.3.2眼睛中的光感受器
5.4恒常性及其影响
5.5延续性
5.6阴影
5.7讨论和延伸阅读
5.8练习
第6章 固定功能的3D图形平台和层次建模简介
6.1引言
6.1.1 WPF 3D部分的设计
6.1.2对光与物体交互的物理过程的近似
6.1.3 WPF 3D概述
6.2网格和光照属性
6.2.1场景设计
6.2.2生成更真实的光照
6.2.3固定功能绘制中的“光照”与“着色”
6.3曲面表示和绘制
6.3.1基于插值的着色处理(Gouraud着色)
6.3.2将表面设置为多面体表面和平滑表面
6.4 WPF中的表面纹理
6.4.1基于分片拼接的纹理映射
6.4.2基于拉伸的纹理映射
6.5 WPF反射模型
6.5.1颜色设置
6.5.2光源几何
6.5.3反射率
6.6基于场景图进行层次建模
6.6.1模块化建模的动因
6.6.2自顶向下的部件层次结构设计
6.6.3自下而上的构建和组合
6.6.4构件的重用
6.7讨论
第7章2D和3D空间中的基础数学与几何
7.1引言
7.2记号
7.3集合
7.4函数
7.4.1反正切函数
7.5坐标
7.6坐标运算
7.6.1向量
7.6.2如何理解向量
7.6.3向量长度
7.6.4向量运算
7.6.5矩阵乘法
7.6.6其他类型的向量
7.6.7隐式直线
7.6.8平面直线的隐式描述
7.6.9能否采用y=mx+b
7.7直线求交
7.7.1参数化-参数化直线求交
7.7.2参数化-隐式直线求交
7.8更一般的求交计算
7.8.1光线-平面求交
7.8.2光线-球求交
7.9三角形
7.9.1重心坐标
7.9.2空间三角形
7.9.3半平面和三角形
7.10多边形
7.10.1内/外测试
7.10.2非简单多边形的内部
7.10.3平面多边形的符号面积:分而治之
7.10.4空间多边形的法向量
7.10.5更一般多边形的符号面积
7.10.6倾斜原理
7.10.7重心坐标的模拟
7.11讨论
7.12练习
第8章2D和3D形状的简单表示
8.1引言
8.2 2D空间中的“网格”:折线
8.2.1边界
8.2.2 1D网格的数据结构
8.3 3D网格
8.3.1流形网格
8.3.2非流形网格
8.3.3网格结构的存储要求
8.3.4网格操作
8.3.5边折叠
8.3.6边交换
8.4讨论和延伸阅读
8.5练习
第9章 网格函数
9.1引言
9.2重心坐标插值代码
9.2.1另一视角下的线性插值
9.2.2扫描线插值
9.3分段线性扩展的局限
9.3.1依赖网格结构
9.4更平滑扩展
9.4.1非凸空间
9.4.2使用哪一种插值方法好
9.5顶点处定义函数乘
9.6应用:纹理映射
9.6.1纹理坐标赋值
9.6.2纹理映射细节
9.6.3纹理映射问题
9.7讨论
9.8练习
第10章2D变换
10.1引言
10.2 5个实例
10.3关于变换的重要事实
10.3.1与矩阵相乘为线性变换
10.3.2与矩阵相乘为唯一的线性变换
10.3.3函数组合和矩阵乘法的关系
10.3.4矩阵的逆和反函数的关系
10.3.5求解变换的关联矩阵
10.3.6变换和坐标系
10.3.7矩阵性质和奇异值分解
10.3.8计算SVD
10.3.9 SVD和伪逆
10.4平移
10.5再谈点和向量
10.6为什么使用3×3矩阵而不是一个矩阵和一个向量
10.7窗口变换
10.8构建3D变换
10.9另一个构造2D变换的实例
10.10坐标系
10.11应用:绘制场景图
10.11.1场景图中的坐标改变
10.12变换向量和余向量
10.12.1对参数化直线进行变换
10.13更一般的变换
10.14变换与插值
10.15讨论和延伸阅读
10.16练习
第11章3D变换
11.1引言
11.1.1投影变换理论
11.2旋转
11.2.1 2D和3D情形的类比
11.2.2欧拉角
11.2.3旋转轴和旋转角的描述
11.2.4从旋转矩阵中寻找旋转轴和旋转角
11.2.5以物体为中心的欧拉角
11.2.6旋转和3D球
11.2.7计算稳定性
11.3旋转表示间的比较
11.4旋转与旋转参数的指定
11.5对矩阵变换进行插值
11.6虚拟跟踪球和弧球
11.7讨论和延伸阅读
11.8练习
第12章2D和3D图形变换库
12.1引言
12.2点和向量
12.3变换
12.3.1效率
12.4变换的参数
12.5实现
12.5.1投影变换
12.6 3D空间
12.7相关变换
12.8其他结构
12.9其他方法
12.10讨论
12.11练习
第13章 相机设定及变换
13.1引言
13.2一个2D的示例
13.3透视型相机设定
13.4基于相机设定构建变换
13.5相机变换和光栅化绘制流水线
13.6透视变换和z值
13.7相机变换和层次化建模
13.8正交相机
13.8.1宽高比和视域
13.9讨论和延伸阅读
13.10练习
第14章 标准化近似和表示
14.1引言
14.2评价各种表示方法
14.2.1测量值
14.2.2历史上的模型
14.3实数
14.3.1定点数
14.3.2浮点数
14.3.3缓冲区
14.4建立光线光学模块
14.4.1光
14.4.2光源
14.4.3光传输
14.4.4材质
14.4.5相机
14.5大尺度物体几何
14.5.1网格
14.5.2隐式曲面
14.5.3样条曲面和细分曲面
14.5.4高度场
14.5.5点集
14.6远距离物体
14.6.1层次细节
14.6.2贴图板和Imposter技术
14.6.3天空立方盒
14.7体模
14.7.1有限元模型
14.7.2体素
14.7.3粒子系统
14.7.4雾
14.8场景图
14.9材质模型
14.9.1散射函数
14.9.2朗伯反射
14.9.3归一化Blinn-Phong反射函数
14.10半透明和颜色混合
14.10.1混合
14.10.2局部覆盖率(α)
14.10.3透射
14.10.4自发光
14.10.5光晕和镜头眩光
14.11光源模型
14.11.1辐射度函数
14.11.2直接光和间接光
14.11.3实用和艺术考虑
14.11.4矩形面光源
14.11.5半球面光源
14.11.6全向光源
14.11.7平行光源
14.11.8聚光灯
14.11.9统一的点光源模型
14.12讨论
14.13练习
第15章 光线投射与光栅化
15.1引言
15.2顶层设计概述
15.2.1散射
15.2.2可见点
15.2.3光线投射:像素优先
15.2.4光栅化:三角形优先
15.3实现平台
15.3.1选择标准
15.3.2工具类
15.3.3场景表示
15.3.4测试场景
15.4光线投射绘制程序
15.4.1生成视线
15.4.2采样框架:求交和着色
15.4.3光线-三角形求交
15.4.4调试
15.4.5着色
15.4.6朗伯散射
15.4.7光泽型散射
15.4.8阴影
15.4.9更复杂的场景
15.5间奏曲
15.6光栅化
15.6.1交换循环次序
15.6.2包围盒优化
15.6.3近平面裁剪
15.6.4提升效率
15.6.5光栅化阴影区域
15.6.6包围盒算法之外
15.7使用光栅化API进行绘制
15.7.1图形流水线
15.7.2接口
15.8性能和优化
15.8.1关于抽象的思考
15.8.2关于架构的思考
15.8.3提前深度测试的例子
15.8.4什么情况下需进行早期优化
15.8.5改进性能估计界限
15.9讨论
15.10练习
第16章 实时3D图形平台综述
16.1引言
16.1.1从固定功能流水线到可编程的绘制流水线
16.2编程模型:OpenGL兼容(固定功能)配置文件
16.2.1 OpenGL程序结构
16.2.2初始化和主循环
16.2.3光照与材质
16.2.4几何处理
16.2.5相机设置
16.2.6绘制图元
16.2.7组装:静态帧
16.2.8组装:动态效果
16.2.9层次建模
16.2.10拾取关联
16.3编程模型:OpenGL可编程流水线
16.3.1可编程流水线的抽象
16.3.2核心API的本性
16.4图形应用程序的架构
16.4.1应用程序模型
16.4.2从应用程序模型到IM平台的流水线
16.4.3场景图中间件
16.4.4图形应用程序平台
16.5其他平台上的3D应用
16.5.1移动设备上的3D应用
16.5.2浏览器中的3D应用
16.6讨论