《交互式计算机图形学 基于OpenGL着色器的自顶向下方法 第6版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)安杰尔,(美)斯赖纳著;张荣华译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121169021
  • 页数:493 页
图书介绍:本书采用自顶向下的方法并辅以面向编程的方式,基于现代可编程GPU的着色器编程,使用C++语言、OpenGL着色语言(GLSL)并结合OpenGL系统地介绍了现代计算机图形学的核心概念、原理和方法。本书是作者多年来教学与科研工作的总结,涵盖了基于OpenGL着色器的交互式图形编程、三维可编程绘制流水线、变换与观察、光照与明暗绘制、曲线曲面建模等基本的计算机图形学内容以及离散技术、层级建模、过程建模、光线跟踪、并行绘制和体绘制等高级内容。

第1章 图形系统和模型 1

1.1计算机图形学的应用 1

1.2图形系统 3

1.3物理图像与合成图像 11

1.4成像系统 14

1.5虚拟照相机模型 17

1.6应用程序编程接口 18

1.7图形绘制系统的体系结构 23

1.8可编程流水线 26

1.9性能特征 27

小结和注释 28

建议阅读资料 28

习题 29

第2章 图形学编程 31

2.1 Sierpinski镂垫 31

2.2编写二维图形应用程序 33

2.3 OpenGL应用程序编程接口 36

2.4图元和属性 40

2.5颜色 48

2.6观察 53

2.7控制函数 55

2.8 Sierpinski镂垫绘制程序 59

2.9多边形和递归 63

2.10三维Sierpinski镂垫 65

2.11增加交互性 70

2.12菜单 76

小结和注释 77

建议阅读资料 78

习题 79

第3章 几何对象和变换 82

3.1标量、点和向量 82

3.2三维图元 89

3.3坐标系和标架 90

3.4 OpenGL中的标架 100

3.5矩阵和向量类 103

3.6建模一个彩色立方体 104

3.7仿射变换 109

3.8平移、旋转和缩放 111

3.9变换的齐次坐标表示 114

3.10变换的级联 117

3.11 OpenGL变换矩阵 123

3.12使立方体旋转起来 125

3.13三维应用程序的接口 128

3.14四元数 132

小结和注释 134

建议阅读资料 135

习题 135

第4章 观察 138

4.1经典观察和计算机观察 138

4.2计算机观察 142

4.3定位照相机 143

4.4平行投影 151

4.5透视投影 158

4.6 OpenGL中的透视投影 161

4.7透视投影变换矩阵 162

4.8隐藏面消除 166

4.9显示网格 168

4.10投影和阴影 174

小结和注释 176

建议阅读资料 177

习题 177

第5章 光照和明暗绘制 179

5.1光线和材质 179

5.2光源 181

5.3 Phong反射模型 184

5.4计算向量 190

5.5多边形的明暗绘制 192

5.6通过递归细分逼近球面 195

5.7指定光照参数 197

5.8实现光照模型 200

5.9球面模型的明暗绘制 206

5.10基于每个片元的光照计算 207

5.11全局光照 208

小结和注释 210

建议阅读资料 210

习题 211

第6章 从顶点到片元 213

6.1图形绘制流水线的基本实现策略 213

6.2图形绘制系统的四个主要任务 215

6.3裁剪 218

6.4线段的裁剪 218

6.5多边形的裁剪 221

6.6其他图元的裁剪 224

6.7三维裁剪 226

6.8光栅化 228

6.9 Bresenham算法 230

6.10多边形光栅化算法 231

6.11隐藏面消除 235

6.12反走样 243

6.13显示方面的问题 244

小结和注释 249

建议阅读资料 250

习题 250

第7章 离散技术 253

7.1缓存 253

7.2数字图像 254

7.3缓存的写操作 256

7.4映射方法 258

7.5纹理映射 260

7.6 OpenGL的纹理映射 264

7.7纹理生成 274

7.8环境贴图 274

7.9反射贴图示例程序 277

7.10凹凸映射 279

7.11合成技术 285

7.12采样与走样 291

小结和注释 296

建议阅读资料 297

习题 297

第8章 层级建模方法 299

8.1图符和实例 299

8.2层级模型 300

8.3机器人手臂 302

8.4树与树的遍历 305

8.5使用树形数据结构 308

8.6动画 311

8.7图形对象 313

8.8场景图 317

8.9开放场景图 319

8.10图形和因特网 320

8.11其他树形结构 322

小结和注释 326

建议阅读资料 326

习题 327

第9章 过程建模方法 328

9.1基于算法的建模 328

9.2基于物理的建模和粒子系统 329

9.3牛顿粒子 330

9.4求解粒子系统方程 334

9.5约束条件 336

9.6一个简单的粒子系统 338

9.7基于语言的建模 341

9.8递归方法和分形 344

9.9过程噪声 350

小结和注释 352

建议阅读资料 352

习题 353

第10章 曲线和曲面 354

10.1曲线和曲面的表示形式 354

10.2设计准则 358

10.3三次参数多项式曲线 359

10.4插值 359

10.5 Hermite曲线和曲面 363

10.6 Bezier曲线和曲面 365

10.7三次B样条 368

10.8普通B样条 371

10.9曲线和曲面的绘制 375

10.10 Utah茶壶模型 379

10.11代数曲面 381

10.12曲线和曲面的细分 382

10.13从数据生成网格 385

小结和注释 388

建议阅读资料 388

习题 389

第11章 高级绘制 390

11.1超越流水线绘制结构 390

11.2光线跟踪 390

11.3构建一个简单的光线跟踪器 393

11.4绘制方程 397

11.5辐射度方法 398

11.6 RenderMan 403

11.7并行绘制 404

11.8体绘制 409

11.9等值面与步进立方体 411

11.10网格简化 413

11.11直接体绘制 414

11.12基于图像的绘制 416

小结和注释 418

建议阅读资料 419

习题 420

附录A示例程序 421

A.1着色器初始化函数 422

A.2 Sierpinski镂垫程序 423

A.3递归实现Sierpinski镂垫程序 425

A.4在着色器中实现立方体的旋转 428

A.5透视投影 432

A.6旋转着色的立方体 436

A.7对球面模型执行基于每个片元的光照计算 441

A.8带纹理的立方体旋转程序 446

A.9基于树形结构的机器人绘制程序 452

A.10茶壶绘制程序 463

附录B空间 468

B.1标量 468

B.2向量空间 468

B.3仿射空间 470

B.4 Euclid空间 471

B.5投影 472

B.6 GRAM-SCHMIDT正交化 472

建议阅读资料 473

习题 473

附录C矩阵 474

C.1定义 474

C.2矩阵的运算 474

C.3行矩阵和列矩阵 475

C.4秩 476

C.5表示的变换 477

C.6叉积 478

C.7特征值和特征向量 478

C.8向量和矩阵类 479

建议阅读资料 480

习题 480

附录D OpenGL函数一览 481

D.1初始化和窗口函数 481

D.2顶点缓冲区对象 482

D.3交互函数 483

D.4属性设置和功能开启函数 484

D.5纹理和图像函数 485

D.6状态和缓存操作函数 485

D.7查询函数 485

D.8 GLSL函数 486

参考文献 488