《光线跟踪算法技术》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:(美)萨芬著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302248217
  • 页数:591 页
图书介绍:本书详细阐述了与光线跟踪问题相关的高校解决方案及相应的数据结构和算法,主要包括采样技术、投影视图等内容。

第1章光线跟踪器和程序设计 1

1.1通用解决方案 1

1.2继承 2

1.3语言 2

1.4建立场景 3

1.5用户接口 3

1.6基础光线跟踪器 4

1.7开发光线跟踪器 4

1.8单精度浮点数和双精度浮点数 5

1.9效率问题 5

1.9.1简约之美 5

1.9.2数据存储 6

1.9.3按引用传递 6

1.9.4避免返回引用 6

1.9.5避免使用浮点型除法操作 7

1.9.6使用内联函数 7

1.9.7工具类 7

1.10代码风格 7

1.10.1标识符 7

1.10.2实体数据类型 8

1.10.3封装 8

1.10.4函数签名 8

1.10.5改变函数签名 9

1.10.6纯虚函数和虚函数 9

1.10.7文件结构 9

1.10.8项目结构 10

1.11调试 10

1.11.1熟悉调试器 10

1.11.2对单像素图像实施光线跟踪 10

1.11.3跟踪像素坐标 10

1.11.4使用cout语句 10

1.11.5内存分配 11

1.11.6简化操作 11

1.11.7透明度 11

1.11.8图像的使用 11

进一步阅读 11

第2章数学知识 13

本章目标 13

2.1集合 13

2.1.1集合定义和集合符号 13

2.1.2子集 14

2.1.3有序偶和集合的笛卡儿积 14

2.2区间 14

2.3角度 15

2.3.1度量方法 15

2.3.2角度制和弧度制 16

2.4三角学 16

2.4.1定义 16

2.4.2三角关系 16

2.5坐标系统 17

2.5.1 3D笛卡儿坐标 17

2.5.2圆柱坐标系统 18

2.5.3球体坐标 18

2.6向量 19

2.6.1向量的定义及其表示方法 19

2.6.2向量计算 20

2.7顶点 21

2.8法线 22

2.9数学表面 23

2.9.1隐式表面 23

2.9.2参数表面 25

2.9.3切平面 27

2.10立体角 28

2.10.1定义 28

2.10.2球体坐标中的立体角 28

2.10.3半球体积分 29

2.11随机数 30

2.12正交基和正交坐标系统 32

2.12.1定义 32

2.12.2构造正交基 32

2.12.3正交坐标系统 33

2.12.4使用正交坐标系统 34

2.1.3等比数列 34

2.1.4?()函数 34

提示和讨论 35

进一步阅读 35

问题 36

练习 36

第3章光线跟踪器的基本要素 37

本章目标 37

3.1光线跟踪计算的工作原理 38

3.2场景世界 40

3.3光线 40

3.4光线-对象相交测试 41

3.4.1概述 41

3.4.2光线和隐式表面 42

3.4.3几何对象 43

3.4.4平面 44

3.4.5球体 46

3.5颜色值 49

3.6基本的光线跟踪器 51

3.6.1工作类 52

3.6.2主函数 53

3.6.3视平面 53

3.6.4像素和图像 55

3.6.5build()函数 56

3.6.6渲染场景 57

3.7跟踪器 58

3.8颜色显示 59

3.9对多个对象实施光线跟踪 60

提示和讨论 63

进一步阅读 63

问题 64

练习 65

第4章抗锯齿技术 66

本章目标 66

4.1锯齿效果 67

4.2解决方案 68

4.2.1增加图像的分辨率 68

4.2.2均匀采样 68

4.2.3随机采样 70

4.2.4抖动采样 71

4.3细节抗锯齿技术 71

4.4滤波 72

进一步阅读 73

问题 73

练习 73

第55章采样技术 74

本章目标 74

5.1采样框架 75

5.2良好采样技术所具备的特征 81

5.3采样模式 82

5.3.1随机采样 82

5.3.2抖动采样 82

5.3.3n-Rooks采样 83

5.3.4多重抖动采样 84

5.3.5Hammersley采样 85

5.4混混合索引 87

5.5渲染结果 89

提示和讨论 93

进一步阅读 94

问题 94

练习 95

第6章圆采样映射 96

本章目标 96

6.1选择性采样 96

6.2同心映射 97

进一步阅读 100

问题 100

练习 100

第7章半球体采样映射 101

本章目标 101

7.1余弦分布 101

7.2映射理论 103

7.3实现 104

7.4操作结果 104

进一步阅读 105

练习 106

第8章投影视图 107

本章目标 107

8.1定义 108

8.2透视投影的特征 109

8.3轴对齐透视图 113

8.4实现方法 114

8.5处理结果 115

8.6透视偏差 117

进一步阅读 118

问题 118

练习 119

第9章视见系统的应用 121

本章目标 121

9.1描述 121

9.2用户接口 122

9.3视见坐标系统 123

9.4光线计算 125

9.5实现 126

9.6示例 129

9.7缩放 130

9.8倾斜角 131

9.9异常 131

进一步阅读 132

问题 132

练习 133

第10章景深 134

本章目标 134

10.1薄透镜理论 134

10.2模拟 136

10.3实现 139

10.4结果 141

进一步阅读 144

问题 144

练习 145

第11章非线性投影 146

本章目标 146

11.1鱼眼投影 147

11.1.1理论概述 147

11.1.2实现 150

11.1.3结果 152

11.2球体全景投影 154

11.2.1理论概述 154

11.2.2实现 155

11.2.3结果 156

进一步阅读 158

问题 158

练习 158

第12章立体视觉 161

本章目标 161

12.1视差问题 162

12.2相机的布局 164

12.3立体相机 166

12.4立体图像对的显示和观察 167

12.5实现 168

12.6结果 171

提示和讨论 174

进一步阅读 174

问题 174

练习 175

第13章理论基础 176

本章目标 176

13.1辐射量 177

13.2入射辐射度的角度依赖性 178

13.3光线方向及其标记符号 179

13.4辐射度和入射辐射度 180

13.5光谱表示法 180

13.6BRDFs 181

13.6.1定义 181

13.6.2反射辐射度 182

13.6.3BRDFs的特征 182

13.7反射率 182

13.8完全漫反射BRDF 183

13.9BRDF类 184

13.9.1类的组织方式以及成员函数 184

13.9.2Lambertian类的实现 186

13.10光照渲染模型 187

13.10.1半球模型 187

13.10.2面积模型 188

13.10.3解决方案 190

13.11MonteCarlo积分 191

131.1.1基础知识概述 191

131.1.2方差 193

131.1.3重要性采样 193

进一步阅读 195

练习 196

第14章光照和材质 197

本章目标 197

14.1光照和反射 198

14.2光照 200

14.2.1环境光照 201

14.2.2方向性光照 201

14.2.3点光源 203

14.3光照类 206

14.4World类和ShadeRec类 208

14.4.1World类 208

14.4.2ShadeRec类 209

14.5光线跟踪器类 211

14.6漫反射着色 213

14.6.1基本公式 213

14.6.2双面着色 214

14.7Material类 216

14.8示例 218

14.9溢色处理 220

进一步阅读 222

问题 222

练习 224

第15章镜面反射 225

本章目标 225

15.1光照模型 225

15.2实现 228

15.3视角依赖性 231

15.4有色高光 231

15.5高光和颜色上溢 232

15.6其他反射模型 233

进一步阅读 234

问题 234

练习 235

第16章阴影 237

本章目标 237

16.1阴影的重要性 237

16.2阴影的定义 238

16.3实现 240

16.4?系数 243

16.5示例 245

16.6计算开销 246

16.7阴影选项 246

提示和讨论 247

进一步阅读 247

问题 247

练习 248

第17章环境遮挡 250

本章目标 250

17.1建模过程 251

17.2实现 252

17.3一个简单的场景 254

17.4双面对象 259

17.5其他场景 260

提示和讨论 261

进一步阅读 261

问题 262

练习 263

第18章区域光照 264

本章目标 264

18.1区域光源体系结构 265

18.2直接渲染 266

18.3直接光照计算 267

18.4区域光照跟踪器 267

18.5自发光材质 268

18.6其他类型的材质 269

18.7几何对象类 270

18.8AreaLight类 271

18.9示例图像 274

18.10环境光照 276

提示和讨论 281

进一步阅读 282

问题 282

练习 283

第19章光线与对象间的相交计算 286

本章目标 286

19.1包围盒 287

19.2轴对齐盒体 291

19.3三角形 293

19.3.1三角形的定义 293

19.3.2相交测试 294

19.4其他对象 298

19.4.1圆形对象 298

19.4.2矩形对象 298

19.5通用对象 300

19.5.1目的 300

19.5.2通用球体、圆形以及矩形对象 301

19.5.3通用开放式圆柱体 301

19.5.4通用圆环体 302

19.5.5通用对象和默认对象 307

19.6着色问题 307

19.7局部对象 307

19.7.1基本理论 307

19.7.2局部圆柱体 308

19.7.3局部球体 308

19.7.4局部圆环体 310

19.7.5角度范围 311

19.8组合对象 312

19.8.1组合对象的优势 312

19.8.2实现 312

19.8.3实体圆柱体 314

进一步阅读 316

问题 316

练习 316

第20章仿射变换 321

本章目标 321

20.1 2D变换 322

20.1.1缩放操作 322

20.1.2旋转操作 323

20.1.3剪切操作 324

20.1.4镜像变换 325

20.1.5平移变换 325

20.2 3D齐次坐标 325

20.3 3D变换 326

20.3.1平移变换 326

20.3.2缩放变换 327

20.3.3旋转变换 328

20.3.4镜像变换 328

20.3.5剪切变换 329

20.4组合变换 329

20.5逆变换 332

20.5.1独特的逆变换 332

20.5.2组合逆变换 333

20.6任意直线的旋转变换 333

进一步阅读 335

问题 336

练习 336

第21章对象变换 337

本章目标 337

21.1变换对象的相交计算 337

21.1.1理论概述 337

21.1.2顶点和向量的变换操作 339

21.1.3程序设计 339

21.1.4光线与转换对象间的相交计算 340

21.1.5变换矩阵的逆矩阵 340

21.1.6示例 341

21.2法线变换 341

21.2.1理论概述 341

21.2.2程序设计 342

21.3对象的直接变换 342

21.4对象的实例化 343

21.5圆角对象 348

提示和讨论 351

进一步阅读 351

问题 352

练习 353

第22章规则栅格 356

本章目标 356

22.1理论概述 357

22.2构建栅格 358

22.3遍历 365

22.4测试 369

22.4.1测试建议 369

22.4.2 8盒体测试 369

22.4.3随机球体 370

22.4.4其他问题 373

22.5栅格对象和变换对象 373

22.6与BVHs进行比较 376

进一步阅读 376

问题 377

练习 378

第23章三角形网格 380

本章目标 380

23.1球体的嵌格操作 381

23.1.1固定着色 381

23.1.2平滑着色 382

23.2网格数据结构 383

23.3PLY文件 386

23.4示例 388

23.4.1两个三角形 388

23.4.2计算法线 389

23.4.3多重网格对象 391

23.5层次实例化栅格对象 392

进一步阅读 394

问题 394

练习 394

第24章镜面反射 396

本章目标 396

24.1光照模型 397

24.2算法实现 399

24.2.1实现目标 399

24.2.2Whied跟踪器类 400

24.2.3完全镜面BRDF 401

24.2.4反射材质 401

24.3反射对象 402

24.4不一致性 404

24.5有色反射 404

24.6实像和虚像 405

24.7示例 407

24.7.1球体反射 407

24.7.2镜面墙 408

24.7.3自反射 409

24.7.4 4球体渲染 409

24.7.5球体内部反射 411

24.7.6生成悬浮的幻影 412

24.7.7圆角对象 414

24.7.8三角形网格 415

进一步阅读 417

问题 417

练习 422

第25章光泽反射 425

本章目标 425

25.1光泽反射模型 426

25.2实现 429

25.3计算结果 432

进一步阅读 434

问题 434

练习 435

第26章全局光照 437

本章目标 437

26.1光线传输 437

26.2路径跟踪 438

26.2.1描述 438

26.2.2实现 440

26.3结果 442

26.3.1环境光源 442

26.3.2Comell盒体 444

26.3.3反射表面以及腐蚀效果 445

26.4光源采样 446

提示和讨论 449

进一步阅读 450

问题 450

练习 451

第27章透明度 452

本章目标 452

27.1折射率 454

27.2对象表面的物理特征及其折射率 454

27.3全内反射 456

27.4光照模型 457

27.5具体应用 459

27.6实现 460

27.7透明球体 463

27.7.1概述 463

27.7.2??1情形 464

27.7.3?<1情形 466

27.7.4球体内部光线 466

27.8透明组合对象 468

27.9忽略?值 470

进一步阅读 470

问题 471

练习 474

第28章真实透明度计算 478

本章目标 478

28.1Fresnel方程 479

28.1.1垂直入射 479

28.1.2切线入射 480

28.1.3全内反射 480

28.2颜色过滤 481

28.3实现 482

28.4图像 486

28.4.1Fresnel效果 486

28.4.2颜色过滤 488

28.4.3三角形网格 490

28.4.4嵌套球体 492

28.4.5区域光 493

28.5透明盒体 493

28.5.1理论概述 494

28.5.2玻璃中的光线透射 497

28.6透明球体 499

28.6.1反射来源 499

28.6.2透明球体中的球体 500

28.6.3透明球体内部的相机 501

28.7水杯 505

28.8鱼缸 507

28.9腐蚀效果 508

进一步阅读 509

问题 510

练习 514

第29章纹理映射 518

本章目标 518

29.1简介 518

29.2纹理实现 520

29.3映射技术 523

29.3.1一般实现过程 523

29.3.2矩形映射 524

29.3.3柱状映射 524

29.3.4球体映射 525

29.3.5Mercator投影 527

29.3.6光探针映射 528

29.4实现 530

29.5抗锯齿 533

29.6三角形网格 534

进一步阅读 538

问题 539

练习 539

第30章过程纹理 542

本章目标 542

30.1简介 542

30.2棋盘纹理 543

30.2.1 3D棋盘纹理 543

30.2.2 2D棋盘纹理 545

30.3纹理和纹理变换 547

30.3.1内部纹理变换 548

30.3.2对象变换和纹理 551

30.3.3消除对象变换 552

进一步阅读 554

问题 554

练习 554

第31章噪声纹理 557

本章目标 557

31.1噪声函数 557

31.1.1期望特征 557

31.1.2栅格噪声函数 558

31.2插值计算 561

31.2.1线性插值 561

31.2.2三线性插值 565

31.2.3过冲现象 569

31.3噪声函数和 570

31.3.1分形求和计算 571

31.3.2扰动函数 574

31.3.3分形布朗运动 575

31.4基本噪声纹理 578

31.5环绕噪声纹理 580

31.6大理石纹理 581

31.7沙岩纹理 585

进一步阅读 587

问题 587

练习 587