内容简介
第1章光线跟踪器和程序设计
1.1通用解决方案
1.2继承
1.3语言
1.4建立场景
1.5用户接口
1.6基础光线跟踪器
1.7开发光线跟踪器
1.8单精度浮点数和双精度浮点数
1.9效率问题
1.9.1简约之美
1.9.2数据存储
1.9.3按引用传递
1.9.4避免返回引用
1.9.5避免使用浮点型除法操作
1.9.6使用内联函数
1.9.7工具类
1.10代码风格
1.10.1标识符
1.10.2实体数据类型
1.10.3封装
1.10.4函数签名
1.10.5改变函数签名
1.10.6纯虚函数和虚函数
1.10.7文件结构
1.10.8项目结构
1.11调试
1.11.1熟悉调试器
1.11.2对单像素图像实施光线跟踪
1.11.3跟踪像素坐标
1.11.4使用cout语句
1.11.5内存分配
1.11.6简化操作
1.11.7透明度
1.11.8图像的使用
进一步阅读
第2章数学知识
本章目标
2.1集合
2.1.1集合定义和集合符号
2.1.2子集
2.1.3有序偶和集合的笛卡儿积
2.2区间
2.3角度
2.3.1度量方法
2.3.2角度制和弧度制
2.4三角学
2.4.1定义
2.4.2三角关系
2.5坐标系统
2.5.1 3D笛卡儿坐标
2.5.2圆柱坐标系统
2.5.3球体坐标
2.6向量
2.6.1向量的定义及其表示方法
2.6.2向量计算
2.7顶点
2.8法线
2.9数学表面
2.9.1隐式表面
2.9.2参数表面
2.9.3切平面
2.10立体角
2.10.1定义
2.10.2球体坐标中的立体角
2.10.3半球体积分
2.11随机数
2.12正交基和正交坐标系统
2.12.1定义
2.12.2构造正交基
2.12.3正交坐标系统
2.12.4使用正交坐标系统
2.1.3等比数列
2.1.4?()函数
提示和讨论
进一步阅读
问题
练习
第3章光线跟踪器的基本要素
本章目标
3.1光线跟踪计算的工作原理
3.2场景世界
3.3光线
3.4光线-对象相交测试
3.4.1概述
3.4.2光线和隐式表面
3.4.3几何对象
3.4.4平面
3.4.5球体
3.5颜色值
3.6基本的光线跟踪器
3.6.1工作类
3.6.2主函数
3.6.3视平面
3.6.4像素和图像
3.6.5build()函数
3.6.6渲染场景
3.7跟踪器
3.8颜色显示
3.9对多个对象实施光线跟踪
提示和讨论
进一步阅读
问题
练习
第4章抗锯齿技术
本章目标
4.1锯齿效果
4.2解决方案
4.2.1增加图像的分辨率
4.2.2均匀采样
4.2.3随机采样
4.2.4抖动采样
4.3细节抗锯齿技术
4.4滤波
进一步阅读
问题
练习
第55章采样技术
本章目标
5.1采样框架
5.2良好采样技术所具备的特征
5.3采样模式
5.3.1随机采样
5.3.2抖动采样
5.3.3n-Rooks采样
5.3.4多重抖动采样
5.3.5Hammersley采样
5.4混混合索引
5.5渲染结果
提示和讨论
进一步阅读
问题
练习
第6章圆采样映射
本章目标
6.1选择性采样
6.2同心映射
进一步阅读
问题
练习
第7章半球体采样映射
本章目标
7.1余弦分布
7.2映射理论
7.3实现
7.4操作结果
进一步阅读
练习
第8章投影视图
本章目标
8.1定义
8.2透视投影的特征
8.3轴对齐透视图
8.4实现方法
8.5处理结果
8.6透视偏差
进一步阅读
问题
练习
第9章视见系统的应用
本章目标
9.1描述
9.2用户接口
9.3视见坐标系统
9.4光线计算
9.5实现
9.6示例
9.7缩放
9.8倾斜角
9.9异常
进一步阅读
问题
练习
第10章景深
本章目标
10.1薄透镜理论
10.2模拟
10.3实现
10.4结果
进一步阅读
问题
练习
第11章非线性投影
本章目标
11.1鱼眼投影
11.1.1理论概述
11.1.2实现
11.1.3结果
11.2球体全景投影
11.2.1理论概述
11.2.2实现
11.2.3结果
进一步阅读
问题
练习
第12章立体视觉
本章目标
12.1视差问题
12.2相机的布局
12.3立体相机
12.4立体图像对的显示和观察
12.5实现
12.6结果
提示和讨论
进一步阅读
问题
练习
第13章理论基础
本章目标
13.1辐射量
13.2入射辐射度的角度依赖性
13.3光线方向及其标记符号
13.4辐射度和入射辐射度
13.5光谱表示法
13.6BRDFs
13.6.1定义
13.6.2反射辐射度
13.6.3BRDFs的特征
13.7反射率
13.8完全漫反射BRDF
13.9BRDF类
13.9.1类的组织方式以及成员函数
13.9.2Lambertian类的实现
13.10光照渲染模型
13.10.1半球模型
13.10.2面积模型
13.10.3解决方案
13.11MonteCarlo积分
131.1.1基础知识概述
131.1.2方差
131.1.3重要性采样
进一步阅读
练习
第14章光照和材质
本章目标
14.1光照和反射
14.2光照
14.2.1环境光照
14.2.2方向性光照
14.2.3点光源
14.3光照类
14.4World类和ShadeRec类
14.4.1World类
14.4.2ShadeRec类
14.5光线跟踪器类
14.6漫反射着色
14.6.1基本公式
14.6.2双面着色
14.7Material类
14.8示例
14.9溢色处理
进一步阅读
问题
练习
第15章镜面反射
本章目标
15.1光照模型
15.2实现
15.3视角依赖性
15.4有色高光
15.5高光和颜色上溢
15.6其他反射模型
进一步阅读
问题
练习
第16章阴影
本章目标
16.1阴影的重要性
16.2阴影的定义
16.3实现
16.4?系数
16.5示例
16.6计算开销
16.7阴影选项
提示和讨论
进一步阅读
问题
练习
第17章环境遮挡
本章目标
17.1建模过程
17.2实现
17.3一个简单的场景
17.4双面对象
17.5其他场景
提示和讨论
进一步阅读
问题
练习
第18章区域光照
本章目标
18.1区域光源体系结构
18.2直接渲染
18.3直接光照计算
18.4区域光照跟踪器
18.5自发光材质
18.6其他类型的材质
18.7几何对象类
18.8AreaLight类
18.9示例图像
18.10环境光照
提示和讨论
进一步阅读
问题
练习
第19章光线与对象间的相交计算
本章目标
19.1包围盒
19.2轴对齐盒体
19.3三角形
19.3.1三角形的定义
19.3.2相交测试
19.4其他对象
19.4.1圆形对象
19.4.2矩形对象
19.5通用对象
19.5.1目的
19.5.2通用球体、圆形以及矩形对象
19.5.3通用开放式圆柱体
19.5.4通用圆环体
19.5.5通用对象和默认对象
19.6着色问题
19.7局部对象
19.7.1基本理论
19.7.2局部圆柱体
19.7.3局部球体
19.7.4局部圆环体
19.7.5角度范围
19.8组合对象
19.8.1组合对象的优势
19.8.2实现
19.8.3实体圆柱体
进一步阅读
问题
练习
第20章仿射变换
本章目标
20.1 2D变换
20.1.1缩放操作
20.1.2旋转操作
20.1.3剪切操作
20.1.4镜像变换
20.1.5平移变换
20.2 3D齐次坐标
20.3 3D变换
20.3.1平移变换
20.3.2缩放变换
20.3.3旋转变换
20.3.4镜像变换
20.3.5剪切变换
20.4组合变换
20.5逆变换
20.5.1独特的逆变换
20.5.2组合逆变换
20.6任意直线的旋转变换
进一步阅读
问题
练习
第21章对象变换
本章目标
21.1变换对象的相交计算
21.1.1理论概述
21.1.2顶点和向量的变换操作
21.1.3程序设计
21.1.4光线与转换对象间的相交计算
21.1.5变换矩阵的逆矩阵
21.1.6示例
21.2法线变换
21.2.1理论概述
21.2.2程序设计
21.3对象的直接变换
21.4对象的实例化
21.5圆角对象
提示和讨论
进一步阅读
问题
练习
第22章规则栅格
本章目标
22.1理论概述
22.2构建栅格
22.3遍历
22.4测试
22.4.1测试建议
22.4.2 8盒体测试
22.4.3随机球体
22.4.4其他问题
22.5栅格对象和变换对象
22.6与BVHs进行比较
进一步阅读
问题
练习
第23章三角形网格
本章目标
23.1球体的嵌格操作
23.1.1固定着色
23.1.2平滑着色
23.2网格数据结构
23.3PLY文件
23.4示例
23.4.1两个三角形
23.4.2计算法线
23.4.3多重网格对象
23.5层次实例化栅格对象
进一步阅读
问题
练习
第24章镜面反射
本章目标
24.1光照模型
24.2算法实现
24.2.1实现目标
24.2.2Whied跟踪器类
24.2.3完全镜面BRDF
24.2.4反射材质
24.3反射对象
24.4不一致性
24.5有色反射
24.6实像和虚像
24.7示例
24.7.1球体反射
24.7.2镜面墙
24.7.3自反射
24.7.4 4球体渲染
24.7.5球体内部反射
24.7.6生成悬浮的幻影
24.7.7圆角对象
24.7.8三角形网格
进一步阅读
问题
练习
第25章光泽反射
本章目标
25.1光泽反射模型
25.2实现
25.3计算结果
进一步阅读
问题
练习
第26章全局光照
本章目标
26.1光线传输
26.2路径跟踪
26.2.1描述
26.2.2实现
26.3结果
26.3.1环境光源
26.3.2Comell盒体
26.3.3反射表面以及腐蚀效果
26.4光源采样
提示和讨论
进一步阅读
问题
练习
第27章透明度
本章目标
27.1折射率
27.2对象表面的物理特征及其折射率
27.3全内反射
27.4光照模型
27.5具体应用
27.6实现
27.7透明球体
27.7.1概述
27.7.2??1情形
27.7.3?<1情形
27.7.4球体内部光线
27.8透明组合对象
27.9忽略?值
进一步阅读
问题
练习
第28章真实透明度计算
本章目标
28.1Fresnel方程
28.1.1垂直入射
28.1.2切线入射
28.1.3全内反射
28.2颜色过滤
28.3实现
28.4图像
28.4.1Fresnel效果
28.4.2颜色过滤
28.4.3三角形网格
28.4.4嵌套球体
28.4.5区域光
28.5透明盒体
28.5.1理论概述
28.5.2玻璃中的光线透射
28.6透明球体
28.6.1反射来源
28.6.2透明球体中的球体
28.6.3透明球体内部的相机
28.7水杯
28.8鱼缸
28.9腐蚀效果
进一步阅读
问题
练习
第29章纹理映射
本章目标
29.1简介
29.2纹理实现
29.3映射技术
29.3.1一般实现过程
29.3.2矩形映射
29.3.3柱状映射
29.3.4球体映射
29.3.5Mercator投影
29.3.6光探针映射
29.4实现
29.5抗锯齿
29.6三角形网格
进一步阅读
问题
练习
第30章过程纹理
本章目标
30.1简介
30.2棋盘纹理
30.2.1 3D棋盘纹理
30.2.2 2D棋盘纹理
30.3纹理和纹理变换
30.3.1内部纹理变换
30.3.2对象变换和纹理
30.3.3消除对象变换
进一步阅读
问题
练习
第31章噪声纹理
本章目标
31.1噪声函数
31.1.1期望特征
31.1.2栅格噪声函数
31.2插值计算
31.2.1线性插值
31.2.2三线性插值
31.2.3过冲现象
31.3噪声函数和
31.3.1分形求和计算
31.3.2扰动函数
31.3.3分形布朗运动
31.4基本噪声纹理
31.5环绕噪声纹理
31.6大理石纹理
31.7沙岩纹理
进一步阅读
问题
练习