OpenGL超级宝典 第7七版 opengl编程指南 图形编程和3D图形 4.5 API、关键扩展、

副标题:无

作   者:格雷厄姆·塞勒斯

分类号:

ISBN:9787115545701

微信扫一扫,移动浏览光盘

简介

目录

第 1章 OpenGL简介 2

1.1 OpenGL和图形管线 2

1.2 OpenGL的起源和演化 4

1.3 基元、管线和像素 6

1.4 总结 7

第 2章 我们的第 一个OpenGL程序 8

2.1 创建简单的应用 8

2.2 使用着色器 10

2.3 绘制我们的第 一个三角形 15

2.4 总结 16

第3章 管线 17

3.1 向顶点着色器传递数据 17

3.2 在阶段之间传递数据 19

3.3 细分曲面 21

3.3.1 细分曲面控制着色器 21

3.3.2 细分曲面引擎 23

3.3.3 细分曲面评估着色器 23

3.4 几何着色器 24

3.5 基元装配、裁剪和光栅化 25

3.5.1 裁剪 25

3.5.2 视口转换 26

3.5.3 剔除 27

3.5.4 光栅化 27

3.6 片段着色器 28

3.7 帧缓存运算 30

3.8 计算着色器 31

3.9 使用OpenGL扩展 32

3.10 总结 35

第4章 3D图形中的数学 36

4.1 本章是在讲令人生畏的数学课吗 36

4.2 3D图形数学速成课 37

4.2.1 向量 37

4.2.2 常见向量运算符 39

4.2.3 矩阵 41

4.2.4 矩阵构造和运算符 42

4.3 了解转换 44

4.3.1 OpenGL中的坐标空间 45

4.3.2 坐标转换 46

4.3.3 连接转换 52

4.3.4 四元数 52

4.3.5 模型—视图转换 53

4.3.6 投影转换 55

4.4 插值、直线、曲线和样条 58

4.4.1 曲线 58

4.4.2 样条 61

4.5 总结 63

第5章 数据 64

5.1 缓冲 64

5.1.1 创建缓冲和分配内存 65

5.1.2 填充以及拷贝数据到缓冲 69

5.1.3 使用缓冲为顶点着色器提供数据 71

5.2 统一变量 77

5.2.1 缺省区块统一变量 77

5.2.2 一致区块 79

5.2.3 使用统一变量转换几何图形 89

5.3 着色器存储区块 93

5.4 原子计数器 97

5.5 纹理 101

5.5.1 创建并初始化纹理 101

5.5.2 纹理目标和类型 102

5.5.3 从着色器中纹理读取数据 103

5.5.4 从文件载入纹理 106

5.5.5 控制纹理数据的读取方式 108

5.5.6 数组纹理 116

5.5.7 在着色器中向纹理写入数据 120

5.5.8 同步存取图像 128

5.5.9 纹理压缩 128

5.5.10 纹理视图 131

5.6 总结 133

第6章 着色器和程序 134

6.1 语言概述 134

6.1.1 数据类型 134

6.1.2 内置函数 139

6.2 编译、链接和检查程序 143

6.2.1 从编译程序获得信息 143

6.2.2 从链接程序获得信息 146

6.2.3 单独程序 147

6.2.4 着色器子程序 152

6.2.5 程序二进制 155

6.3 总结 157



第二部分 深入探索

第7章 顶点处理与绘图命令 160

7.1 顶点处理 160

7.1.1 顶点着色器输入 160

7.1.2 顶点着色器输出 164

7.2 绘图命令 165

7.2.1 索引绘图命令 165

7.2.2 实例化 170

7.2.3 间接绘制 178

7.3 变换顶点的保存 185

7.3.1 使用变换反馈 185

7.3.2 开始、暂停和停止变换反馈 189

7.3.3 用变换反馈结束管线 190

7.3.4 变换反馈示例:实物模拟 190

7.4 裁剪 196

7.5 总结 200

第8章 基元处理 201

8.1 曲面细分 201

8.1.1 曲面细分基元模式 202

8.1.2 曲面细分子分段模式 208

8.1.3 数据在曲面细分着色器之间的传递 209

8.1.4 着色器调用通信 211

8.1.5 曲面细分示例:地形渲染 211

8.1.6 曲面细分示例:三次贝塞尔面片 215

8.2 几何着色器 219

8.2.1 传递几何着色器 219

8.2.2 在应用程序中使用几何着色器 221

8.2.3 删除几何着色器中的几何 224

8.2.4 修改几何着色器中的几何体 226

8.2.5 在几何着色器中生成几何体 227

8.2.6 修改几何着色器中的基元类型 229

8.2.7 多条储存流 231

8.2.8 通过几何着色器引入新基元类型 232

8.2.9 多次视口转换 237

8.3 总结 239

第9章 片段处理与帧缓冲 240

9.1 片段着色器 240

9.2 单片段测试 243

9.2.1 剪裁测试 243

9.2.2 模板测试 245

9.2.3 深度测试 247

9.2.4 早期测试 250

9.3 颜色输出 251

9.3.1 混合 251

9.3.2 逻辑运算 254

9.3.3 颜色遮罩 255

9.4 离屏渲染 256

9.4.1 多个帧缓冲附件 260

9.4.2 分层渲染 261

9.4.3 帧缓存的完整性 266

9.4.4 立体渲染 268

9.5 反混叠 272

9.5.1 过滤法反混叠 272

9.5.2 多样本反混叠 274

9.5.3 多样本纹理 275

9.5.4 采样率着色 278

9.5.5 重心采样 280

9.6 高级帧缓冲格式 282

9.6.1 无附件渲染 283

9.6.2 浮点帧缓冲 284

9.6.3 整数帧缓冲 293

9.6.4 sRGB颜色空间 294

9.7 点精灵 296

9.7.1 点纹理化 296

9.7.2 渲染星空 297

9.7.3 点参数 299

9.7.4 有形点 299

9.7.5 旋转点 301

9.8 获取图像 302

9.8.1 从帧缓存中读取 302

9.8.2 在帧缓冲之间复制数据 304

9.8.3 读取纹理数据 307

9.9 总结 308

第 10章 计算着色器 309

10.1 使用计算着色器 309

10.1.1 执行计算着色器 310

10.1.2 计算着色器通信 314

10.2 示例 317

10.2.1 计算着色器并行前缀和 317

10.2.2 计算着色器群集 326

10.3 总结 333

第 11章 高级数据管理 334

11.1 取消绑定 334

11.2 稀疏纹理 338

11.3 纹理压缩 343

11.3.1 RGTC压缩方法 343

11.3.2 生成压缩数据 345

11.4 压缩数据格式 349

11.5 高质量纹理过滤 351

11.6 总结 353

第 12章 管线监控 354

12.1 查询 354

12.1.1 遮挡查询 355

12.1.2 定时查询 362

12.1.3 变换反馈查询 365

12.1.4 管线状态查询 369

12.2 OpenGL同步 370

12.2.1 清空管线 370

12.2.2 同步与栅栏 371

12.3 总结 374





第三部分 实战演练

第 13章 渲染技巧 376

13.1 光照模型 376

13.1.1 Phong光照模型 376

13.1.2 Blinn-Phong光照 382

13.1.3 边缘光 384

13.1.4 法线映射 386

13.1.5 环境映射 389

13.1.6 材料性质 396

13.1.7 投射阴影 398

13.1.8 雾化效果 401

13.2 非真实感绘制 404

13.3 替代渲染方法 407

13.3.1 延期着色 407

13.3.2 屏幕空间技术 414

13.3.3 无三角渲染 419

13.4 2D图像 429

13.4.1 距离场纹理 429

13.4.2 位图字体 433

13.5 总结 436

第 14章 高性能的OpenGL 437

14.1 优化CPU性能 437

14.1.1 OpenGL中的多线程 437

14.1.2 包缓存 441

14.2 OpenGL中的低开销操作 448

14.2.1 间接渲染 449

14.2.2 GPU工作生成 452

14.2.3 零拷贝 458

14.3 性能分析工具 463

14.3.1 Windows性能工具包和GPUView 464

14.3.2 GPU PerfStudio 466

14.3.3 调试来使应用运行的更快 468

14.4 总结 480

第 15章 调试和稳定性 481

15.1 调试你的程序 481

15.2 安全性和健壮性 486

15.2.1 图像重置 486

15.2.2 读取边界检查 488

15.3 总结 489

附录A 超级宝典工具 490

附录B SBM文件格式 494

附录C OpenGL的功能和版本 500

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

我要提交勘误建议
OpenGL超级宝典 第7七版 opengl编程指南 图形编程和3D图形 4.5 API、关键扩展、
    • 名称
    • 类型
    • 大小
    FAQ

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    1.光盘下载后一定要刻录吗? 2.下载下来的光盘文件类型,不是镜像文件。

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    发送
    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon