目 录
前言
绪论
0.1本书的组织
0.2第一部分
0.2.1数学模块
0.2.2图形界面模块
0.2.3使用这些模块
0.3第二部分
0.3.1光线追踪理论
0.3.2光线追踪程序
0.3.3光线-物体相交测试
0.3.4阴影、纹理和光照
0.3.5复习光线追踪程序代码
0.3.6怎样使用光线追踪程序
0.4第三部分
0.5第四部分
0.6第五部分
0.7第六部分
0.8第七部分
0.9软件和硬件要求
0.10总结
第一部分 标准和通用模块
第一章 标准和C语言
1.1为什么选用C语言
1.2编程语言的概念
1.3变量和数据类型
1.4运算符
1.5程序控制
1.6函数
1.7宏
1.8指针和数组
1.9内存
1.10结构
1.11 typedef
1.12 输入输出(I/O)
1.13 文件I/O
1.14 编程风格
1.15 参考读物
1.16 光线跟踪
第二章 数学模块
2.1头文件
2.1.1BkDefs.H头文件
2.1.2BkMath.H头文件
2.2编译这些模块
2.3BkMath.C程序
2.4 基本数学函数
2.4.1Radians和Degrees 函数
2.4.2CosD和SinD函数
2.4.3Power函数
2.4.5Log函数
2.4.6Exp10函数
2.4.7Sign和Intsign函数
2.4.8IntSqrt函数
2.4.9IntPower函数
2.4.10 MIN和MAX函数
2.5 向量和矩阵函数
2.5.1Vec和VecInt函数
2.5.2UnVec和UnVecInt函数
2.5.3VecDot函数
2.5.4VecCross函数
2.5.5VecLen函数
2.5.6VecNormalize函数
2.5.7VecMatxMult函数
2.5.8VecSub和VecSubIn函数
2.5.9VecAdd函数
2.5.10 VecAdd3函数
2.5.11 VecCopy和VecCopyInt函数
2.5.12 VecLinComb函数
2.5.13 VecScalMult、VecScalMultl和VecScalMultInt函数
2.5.14 VecAddScalMult函数
2.5.15 VecNull和VecNullInt函数
2.5.16 VecElemMult函数
2.5.17 VecMin和VecMax函数
2.5.18 VecNgate函数
2.6 仿射变换例程
2.6.1 ZeroMatrix函数
2.6.2 Translate3D函数
2.6.3 Scale3D)函数
2.6.4 Rotate3D函数
2.6.5 Multiply3DMatries函数
2.6.6 MatCopy函数
2.6.7 PrepareMatrix函数
2.6.8 PrepareInvMatrix函数
2.6.9 Tansform函数
2.7 伪随机数的生成
2.7.1 InitRand函数
2.7.2 Rand函数
2.7.3 RandInt函数
第三章 图形界面模块
3.1 BkGlobs.H头文件
3.2 BkGraph.H头文件
3.3 BkGraph.C程序
3.3.1Plot函数
3.3.2 Clear_paletre函数
3.3.3 Set_Palette函数
3.3.4 Init_Palette函数
3.3.5 Init_Palette_2函数
3.3.6 CyClePalette函数
3.3.7 Swap函数
3.3.8 Circle函数
3.3.9 Line函数
3.3.10 Minl和Maxl函数
3.3.11 rivial reject函数
3.3.12 Clip_To_Screen函数
3.3.13 Init_Graphics函数
3.3.14 Set_Graphics_Mode函数
3.3.15 Wait_For_Key函数
3.3.16 Exit_Graphies函数
3.3.17 Title函数
3.4 三维画图函数
3.4.1 Init_Plotting函数
3.4 .2 Init_Perspective函数
3.4.3 MapCoordinates函数
3.4.5 Cartesian_Plot_3D函数
3.4.6 Cylindrical_Plot3D函数
3.4.7 SphericalPlot 3D函数
3.4.8 Draw_Line_3D函数
3.5像素函数
3.5.1Put_Pixel函数
3.5.2Get_Pixel函数
3.6设置坐标轴和调色板的函数
3.6.1Put_Axis_And_Palette函数
3.6.2Display_Axis函数
3.6.3Display_Palette函数
3.6.4Axis_And_Palette函数
3.7使用模块
第四章 使用模块
4.1Crystal.C文件
4.2Plants.C文件
4.3Stars-3D.C程序
4.4三维圆周运动模拟示例程序
4.5真实物体
第二部分 光线追踪
第五章 光线追踪程序数学模块
第六章 光线追踪理论
6.1即时光线追踪
6.2光线的反射
6.3折射
6.4问题,问题,问题!
6.5答案,答案,答案!
6.6细节
第七章 光线追踪程序
7.1投影图形
7.2图像质量和变形
7.3防变形方法
7.4均匀采样
7.5统计密集采样
7.6结果
7.7简单的照像机模型
7.8trace函数
7.9背景
第八章 光线-物体相交测试
8.1物体的定义
8.1.1光线的参数表示
8.1.2与球面相交
8.1.3与二次曲面相交
8.2曲面法线计算
8.3与平面物体相交
8.4三角形小块
8.5构造复杂物体
8.6构造实体几何
8.6.1包围体
8.6.2包围面
8.7层次树
8.8搜索物体
8.9其它算法
第九章 看见光亮
9.1阴影模型
9.1.1背景色(K↓a)
9.1.2漫反射颜色(K↓d)
9.1.3镜面反射迭加(K↓h)
9.1.4反射率(K↓a)及折射率(K↓t
9.2纹理,纹理,纹理
9.3映射图象
9.4实体纹理构造
9.5噪声及扰动
9.6实体纹理样式
9.7球面纹理
9.8制造波纹
9.9凹凸纹理
9.10大气
9.11阴影
9.12关于代码
第十章 光线追踪程序代码
10.1分离和解释程序
10.1.1预处理
10.1.2记号分析程序
10.2基本体文件
10.3扫描屏幕
10.4追踪
10.5相交
10.6包围平面
10.7阴影处理
10.8通向BOB的途径
10.9内存问题
10.10构成画面
第十一章 如何使用光线追踪程序
11.1运行Bob
11.2Bob命令
11.3统计数字
11.4输入文件(.B)格式
11.5输入文件布局
11.6预处理程序
11.6.1宏
11.6.2包含指令
11.7EDL分析程序
11.7.1studio结构
11.7.2studio参数
11.8光源
11.9表面
11.9.1凹凸纹理
11.9.2加纹理的表面
11.10基本体
11.10.1球
11.10.2环
11.10.3多边形
11.10.4三角形小块
11.10.5圆锥
11.11变换
11.12图像纹理
11.13剪切
11.14有关说明
第三部分 生成光线追踪程序所需的物体数据库
第十二章 过程物体数据库
12.1生长的树
12.2环形与环面
12.3一个令人困惑的物体
12.4光照和雪花球
12.5一块吸收性极好的海绵
12.6一个六角形
12.7更为复杂的数据库
第十三章 Z缓冲区数据
13.1Z缓冲区数据的线框轮廓
13.2光线追踪的Z缓冲区数据库
13.3生成Z缓冲区数据库的程序
13.4生成Z缓冲区数据库的分形程序
13.5三维Mandelbrot集
13.6三维Julia集
13.7使用四元数的分形
13.8四元数数学
13.9生成四元数分形数据库
13.10地形Z缓冲区
13.11Smooth.EXE
13.12移动山脉
第四部分 物体数据库的CAD产品
第十四章 三维数据库建模器
14.1数据库建模程序的功能
14.1.1基本体支持和操作
14.1.2物体支持和操作
14.1.3适当时间内生成数据库视图
14.14在数据库内部自由移动
14.1.5隐藏数据库细节
14.2层次结构的重要性
14.2.1重复利用性
14.2.2灵活性
14.2.3区域性和可扩展性
14.2.4高效性
14.3Bob的数据库层次:基本体、物体、画面
14.4Ed:Bob的简单数据库建模程序
14.4.1启动Ed
14.4.2Ed屏幕
14.4.3告诉Ed做什么
14.4.4系统参数
14.5系统模式
14.5.1读写画面文件
14.5.2移动观察点
14.5.3选择物体
14.5.4实例化及删除物体
14.5.5编辑物体位置和比例
14.5.6修改studio定义
14.5.7编辑studio参数
14.5.8退出studio模式
14.5.9编辑物体
14.5.10编辑物体结构
14.5.11多边形的一个特例
14.5.12编辑物体特征
14.5.13退出物体模式
14.5.14退出
14.6Ed源代码总览
14.6.1Ed源代码使用的规则
14.6.2Ed基本数据结构
14.6.3Ed全局变量
14.6.4Ed主要的程序元素
14.6Ed输出文件的局限
第五部分 计算机图形学的图像处理技术
第十五章 图像处理
15.1IMG2GIF。C
15.1.1直接指定调色板
15.1.2多数法
15.1.3中分法
15.1.4固定调色板
15.2有趣有益的抖动法
15.3建立.GIF文件
15.4IMG2GIF.C的技术说明
15.5文件格式
15.5.1Bob的.IMG文件格式
15.5.2Palette.MAP文件格式
15.6改善图像质量
15.7图像显示
第六部分 图形硬件
第十六章 图形硬件驱动程序
16.1 24位颜色
16.2 Bob结束语
第七部分 本书之外的内容
第十七章 超越Bob
17.1制作图形
17.2动画
17.2.1车轮
17.2.2运动模糊
17.2.3纹理的问题
17.3实时光线追踪
17.4高级光照模型
17.5辐射
17.5.1更多的近似
17.5.2为何使用辐射模型
17.6真实三维图像
17.7何去何从
· · · · · · (
收起)