《OpenGL编程基础 第3版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)安吉尔(Aogle E)著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:7302171025
  • 页数:258 页
图书介绍:本书介绍OpenGL编程基础知识与命令用法。

第1章 绪论 1

1.1 OpenGL API 2

1.2 关于OpenGL的三种观点 3

1.2.1 程序员的观点 3

1.2.2 OpenGL状态机 4

1.2.3 OpenGL绘制流水线 4

1.3 OpenGL的组成 5

1.4 OpenGL的版本和扩展 6

1.5 语言 6

1.6 编程约定 6

1.7 编译 8

1.8 资源 9

1.9 本书的适用对象 10

1.10 全书概览 11

第2章 OpenGL中的二维编程 13

2.1 一个简单的示例程序 14

2.2 GLUT 15

2.3 事件循环和回调函数 16

2.4 矩形的绘制 17

2.5 修改GLUT中的默认值 19

2.6 OpenGL中的颜色 20

2.6.1 颜色的设置 20

2.6.2 颜色和状态 21

2.7 OpenGL和GLUT坐标系之间的差异  21

2.8 二维取景 22

2.9 视口 23

2.10 坐标系与变换 23

2.11 simple.c(第2版) 24

2.12 图元及其属性 26

2.12.1 点 27

2.12.2 直线 27

2.12.3 启用OpenGL特性 29

2.12.4 填充的图元 29

2.12.5 矩形 31

2.12.6 多边形的点划模式 31

2.13 多边形类型 31

2.14 颜色插值 34

2.14.1 离散处理与边标记 34

2.14.2 离散化与细分 35

2.15 文本 43

2.16 查询与错误 44

2.17 状态的保存 46

2.18 编程练习 47

第3章 交互与动画 49

3.1 重绘回调函数 50

3.2 Idle回调函数 51

3.3 一个旋转的矩形 52

3.4 双缓存 54

3.5 键盘的使用 54

3.6 鼠标回调函数的使用 56

3.7 鼠标的移动 59

3.8 菜单 60

3.9 NULL回调函数 62

3.10 子窗口与多窗口 62

3.11 例程:single_double.c 63

3.12 显示列表 66

3.12.1 多个显示列表 67

3.12.2 显示列表与文本 68

3.12.3 显示列表与对象 69

3.13 拾取和选择模式 69

3.14 编程练习 74

第4章 三维编程基础 75

4.1 摄像机与对象 76

4.2 OpenGL中的正交投影 79

4.3 观察一个立方体 80

4.4 摄像机的定位 81

4.5 对象的生成 84

4.5.1 数组的使用 85

4.5.2 顶点数组 86

4.6 消隐 88

4.7 GLU与GLUT对象 89

4.7.1 GLU二次曲面 90

4.7.2 GLUT对象 92

4.8 透视投影 94

4.9 编程练习 96

第5章 几何变换 97

5.1 线性变换 98

5.2 齐次坐标 98

5.3 模型-视图变换与投影变换 99

5.4 平移 99

5.5 旋转变换 102

5.6 比例变换 103

5.7 一个旋转的立方体 104

5.8 直接设置矩阵 106

5.9 变换与坐标系 109

5.10 基于变换的建模 110

5.10.1 实例化 110

5.10.2 层次模型 111

5.11 编程练习 118

第6章 光照与材质 119

6.1 光照与材质之间的交互 120

6.2 Phong模型 121

6.2.1 漫反射 122

6.2.2 镜面反射 122

6.2.3 环境反射 123

6.2.4 发射光 123

6.3 OpenGL中的光照 123

6.4 光源的指定 124

6.5 材质的指定 128

6.6 旋转立方体的明暗计算 130

6.7 对明暗计算的控制 133

6.8 平滑着色 134

6.9 法线的处理 135

6.10 透明度 135

6.11 编程练习 139

第7章 离散图元 141

7.1 像素和位图 142

7.2 位图 143

7.2.1 位图的显示 144

7.2.2 位图和几何图元的融合 146

7.2.3 颜色与模板 147

7.3 绘制模式 148

7.4 像素的读/写 151

7.4.1 像素的写操作 152

7.4.2 像素的读取 152

7.4.3 像素的复制 153

7.5 缓存的选择 154

7.6 像素存储模式 155

7.7 PPM图像的显示 155

7.8 灰度图像的使用 162

7.9 像素映射 162

7.10 像素的缩放 164

7.11 OpenGL中的图像处理 165

7.12 编程练习 166

第8章 纹理映射 167

8.1 什么是纹理映射 168

8.2 纹理图的创建 169

8.3 纹理坐标 172

8.4 纹理参数 173

8.5 一个带有纹理的旋转立方体 175

8.6 将纹理映射到表面 179

8.7 边界与尺寸调整 180

8.8 多级渐进纹理 180

8.9 纹理坐标的自动生成 182

8.10 纹理对象 186

8.11 用于图像操作的纹理图 187

8.12 编程练习 190

第9章 曲线与曲面 191

9.1 参数曲线 192

9.2 参数曲面 194

9.3 贝塞尔曲线和曲面 195

9.4 一维OpenGL求值器 196

9.5 二维求值器 198

9.6 一个交互式例程 199

9.7 其他类型的曲线 201

9.7.1 B样条 202

9.7.2 NURBS曲线 206

9.8 犹他壶 206

9.9 法向量与明暗 211

9.10 为表面映射纹理 213

9.11 编程练习 214

第10章 OpenGL着色语言 215

10.1 对流水线的回顾 216

10.2 着色器与着色语言 217

10.2.1 RenderMan 217

10.2.2 Cg与GLSL 218

10.3 GLSL 218

10.3.1 执行模型 219

10.3.2 一个简单的顶点着色器 219

10.3.3 一个简单的片段着色器 220

10.4 GLSL语言基础 221

10.4.1 限定符 221

10.4.2 运算符 223

10.4.3 控制结构 224

10.4.4 内置函数 224

10.4.5 采样器 225

10.5 建立与应用程序之间的接口 226

10.5.1 着色器对象的创建 226

10.5.2 着色器的读取和编译 227

10.5.3 编译和连接 228

10.5.4 错误检查 229

10.5.5 将数据送入着色器 229

10.6 顶点着色器示例 230

10.7 片段着色器示例 232

第11章 总结与展望 237

11.1 OpenGL各版本及扩展 238

11.1.1 OpenGL 1.1版本 238

11.1.2 OpenGL 1.2版本 238

11.1.3 OpenGL 1.3版本 239

11.1.4 OpenGL 1.4版本 239

11.1.5 OpenGL 1.5版本 239

11.1.6 OpenGL 2.0版本 240

11.1.7 OpenGL 2.1版本 240

11.2 OpenGL扩展 240

11.3 一些附加的OpenGL特性 240

11.4 其他缓存 241

11.4.1 累积缓存 241

11.4.2 模板缓存 242

11.4.3 片段测试 243

11.5 编写可移植、高效而又健壮的代码 243

索引 245