当前位置:首页 > 工业技术
OpenGL超级宝典
OpenGL超级宝典

OpenGL超级宝典PDF电子书下载

工业技术

  • 电子书积分:18 积分如何计算积分?
  • 作 者:(美)Richard S.Wright,Jr.,(美)Michael Sweet著;潇湘工作室译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2001
  • ISBN:7115092338
  • 页数:626 页
图书介绍:本书是一本完整而详尽的关于OpenGL的参考书,全书分为四部分:第一部分“OpenGL导言”介绍3D图形学的基本原理,读者将在此学会构造使用OpenGL的程序、设置3D渲染环境、创建和移动基本对象并给它们施加色彩和三维效果;第二部分“OpenGL渲染组成”深入阐述了OpenGL的使用、高级特性及特殊效果,如处理光栅图形、纹理贴图、3D建模和物体合成、混色和雾化效果,处理三角形、曲线和曲面、交互式图形,另外还介绍了如何利用OpenGL制作图像以及OpenGL扩展的应用;第三部分“OpenGL for Windows:OpenGL与Win32”讨论了Windows平台上的OpenGL,读者将在此学到各种驱动程序模型、硬件渲染和软件渲染、像素格式、渲染环境以及其他Windows中特有的功能;第四部分"附录"提供了有关OpenGL更新、参考资料和状态机等方面的内容。 在本书中,通常每章介绍一个方面的编程主题,并在同一章中给出与此编程主题相关的大量函数及函数说明。另外,许多函数还提供了实用的示例,使读者可以直接在自己的程序中借鉴参考。本书内容丰富而全面、结构清晰、层次分明,适
上一篇:Delphi 6实例入门下一篇:书籍装帧
《OpenGL超级宝典》目录

第1章 3D图形学的基本原理 3

1.1 简介 3

1.2 计算机图形学简史 3

1.2.1 进入CRT 3

第一部分 OpenGL API基础 3

1.2.2 3D概念 4

1.3 3D效果研究 6

1.3.1 透视法 6

1.3.3 光照和明暗处理 7

1.3.2 色彩和明暗 7

1.3.4 纹理贴图 8

1.3.5 雾化 8

1.3.6 混合和透明度 9

1.3.7 消除锯齿 9

1.4 3D图形的常见用途 10

1.4.1 实时3D 10

1.5 3D编程基本原理 13

1.5.1 直接模式和保留模式(场景图) 13

1.4.2 非实时3D 13

1.5.2 坐标系 14

1.5.3 投影:将3D变为2D 17

1.6 小结 19

第2章 什么是OpenGL 21

2.1 标准的演变 21

2.1.1 OpenGL ARB 22

2.1.2 使用许可和一致性 22

2.2 OpenGL的工作方式 23

2.1.3 OpenGL的未来 23

2.2.1 通用实现 24

2.2.2 硬件实现 25

2.2.3 流水线 25

2.2.4 状态机 26

2.3 小结 26

第3章 使用OpenGL 27

3.1 本章主要内容 27

3.2 OpenGL是API,不是语言 27

3.2.1 库和头文件 28

3.2.2 硬件加速 28

3.3 API的规定 29

3.2.3 其他实现 29

3.3.1 数据类型 30

3.3.2 函数命名约定 31

3.4 平台无关性 32

3.4.1 使用GLUT 32

3.4.2 设置编程环境 33

3.5 第一个程序 33

3.5.1 头文件 35

3.5.2 主体 35

3.5.3 OpenGL图形调用 37

3.6 用OpenGL绘制图形 38

3.6.1 绘制矩形 41

3.6.2 窗口的缩放比例 41

3.7 应用OpenGL和GLUT制作动画 45

3.8 3D效果 50

3.9 小结 51

3.10 参考函数 52

3.10.1 glClearColor 52

3.10.2 glFlush 52

3.10.3 glOrtho 52

3.10.5 glRect 53

3.10.4 glViewport 53

3.10.6 glutCreateWindow 54

3.10.7 glutDisplayFunc 54

3.10.8 glutInitDisplayMode 55

3.10.9 glutKeyboardFunc 55

3.10.10 glutMainLoop 56

3.10.11 glutMouseFunc 56

3.10.12 glutReshapeFunc 57

3.10.13 glutPostRedisplay 57

3.10.16 glutSolidDodecahedron,glutWireDodecahedron 58

3.10.15 glutSolidCube,glutWireCube 58

3.10.14 glutSolidCone,glutWireCone 58

3.10.17 glutSolidIcosahedron,glutWireIcosahedron 59

3.10.18 glutSolidOctahedron,glutWireOctahedron 59

3.10.19 glutSolidSphere,glutWireSphere 59

3.10.20 glutSolidTetrahedron,glutWireTetrahedron 60

3.10.21 glutSolidTorus,glutWireTorus 60

3.10.22 glutSolidTeapot,glutWireTeapot 61

3.10.23 glutSpecialFunc 61

3.10.24 glutSwapBuffers 62

3.10.25 glutTimerFunc 63

第4章 在空间中绘图:线、点和多边形 65

4.1 本章主要内容 65

4.2 在3D中画点 66

4.3 设置3D画布 66

4.4 一个3D点:顶点 68

4.5 开始绘制 69

4.6 设置点的大小 72

4.7 在3D中画线 75

4.7.1 线段的跨接和循环 76

4.7.2 用直线逼近曲线 77

4.7.3 设置线宽 79

4.7.4 点画线 81

4.8 在3D中画三角形 83

4.8.1 三角形:第一个多边形 83

4.8.2 绕法 84

4.8.3 三角条 85

4.8.4 三角扇形 86

4.9 建立实心对象 86

4.9.2 移除被挡住的表面 90

4.9.1 设置多边形的颜色 90

4.9.3 剔除:为了性能而隐藏表面 92

4.9.4 多边形模式 94

4.10 其他图元 95

4.10.1 四个边的多边形:四边形 95

4.10.2 通用多边形 96

4.10.3 填充多边形或点画修改 96

4.10.4 多边形的构造规则 101

4.10.5 剖面和边缘 102

4.12.1 glBegin 104

4.11 小结 104

4.12 参考函数 104

4.12.2 glCullFace 105

4.12.3 glEdgeFlag 106

4.12.4 glEnd 108

4.12.5 glFrontFace 108

4.12.6 glGetPolygonStipple 109

4.12.7 glLineStipple 110

4.12.8 glLineWidth 111

4.12.9 glPointSize 113

4.12.10 glPolygonMode 114

4.12.11 glPolygonStipple 115

4.12.12 glVertex 116

第5章 在空间中移动:坐标变换 119

5.1 本章主要内容 119

5.2 本章与数学 119

5.3 了解变换 120

5.3.1 眼坐标 120

5.3.2 视图变换 122

5.3.3 模型变换 122

5.3.4 模型视图的对偶性 123

5.3.5 投影交换 124

5.3.6 视见区变换 125

5.4 矩阵 125

5.4.1 什么是矩阵 125

5.4.2 变换的流程图 126

5.4.3 模型视图矩阵 126

5.4.4 单位矩阵 129

5.4.5 矩阵堆栈 132

5.4.6 原子核示例 133

5.5.1 正射投影 136

5.5 使用投影 136

5.5.2 透视投影 137

5.5.3 一个非常前卫的示例 140

5.6 高级矩阵处理 143

5.6.1 加载矩阵 144

5.6.2 执行自己的变换 144

5.6.3 其他变换 145

5.7 小结 145

5.8 参考函数 145

5.8.1 glFrustum 145

5.8.3 glLoadMatrix 146

5.8.2 glLoadIdentity 146

5.8.4 glMatrixMode 147

5.8.5 glMultMatrix 148

5.8.6 glPopMatrix 148

5.8.7 glPushMatrix 149

5.8.8 glRotate 149

5.8.9 glScale 150

5.8.10 glTranslate 150

5.8.11 gluLookAt 151

5.8.13 gluPerspective 152

5.8.12 gluOrtho2D 152

第6章 颜色、光照和材质 155

6.1 本章主要内容 155

6.2 何谓颜色 156

6.2.1 光是一种光波 156

6.2.2 光是一种粒子 156

6.2.3 人的光子侦测器 157

6.2.4 计算机作为光子生成器 158

6.3 PC机的颜色硬件 159

6.4.2 颜色深度 160

6.4.1 屏幕分辨率 160

6.4 PC机的显示模式 160

6.5 在OpenGL中使用颜色 161

6.5.1 颜色立方本 161

6.5.2 设置绘图颜色 163

6.5.3 明暗处理 163

6.5.4 设置明暗处理模型 165

6.6 现实世界中的颜色 166

6.6.1 环境光 167

6.6.2 散射光 167

6.6.4 不同光源混合 168

6.6.3 镜面光 168

6.7.1 材质属性 169

6.7.2 给材质加光线 169

6.7 现实世界中的材质 169

6.7.3 计算环境光的效果 170

6.7.4 散射光和镜面光的效果 170

6.8 场景中加光线 171

6.8.1 使光源生效 171

6.8.2 设置光照模型 171

6.8.3 设置材质属性 172

6.9.1 选择方法 175

6.9 使用光源 175

6.9.2 法线矢量 176

6.9.3 指定一条法线 176

6.9.4 单位法线 178

6.9.5 找法线 179

6.9.6 设置光源 181

6.9.7 设置材质属性 183

6.9.8 指定多边形 183

6.10.2 镜面光 185

6.10 光照效果 185

6.10.1 镜面光的亮斑 185

6.10.3 镜面光反射率 186

6.10.4 镜面指数 187

6.10.5 法线的平均 188

6.11 所有效果的综合 190

6.11.1 创建聚光灯 191

6.11.2 绘制聚光灯 193

6.12 阴影 197

6.12.2 压平物体的代码 198

6.12.1 何谓阴影 198

6.12.3 一个阴影示例 200

6.13 小结 203

6.14 参考函数 204

6.14.1 glColor 204

6.14.2 glColorMask 205

6.14.3 glColorMaterial 206

6.14.4 glCullFace 207

6.14.5 glFrontFace 207

6.14.6 glGetMaterial 208

6.14.7 glGetLight 209

6.14.8 glLight 210

6.14.9 glLightModel 211

6.14.10 glMaterial 213

6.14.11 glNormal 213

6.14.12 glShadeModel 215

第二部分 OpenGL渲染组成 219

第7章 OpenGL中的光栅图形 219

7.1 本章主要内容 219

7.2 绘制位图 219

7.3 位图字体 222

7.3.1 建立简单的字体库 223

7.3.2 删除位图字体 224

7.3.3 使用位图字体绘制 225

7.3.4 显示格式化的文本 225

7.3.5 简单的文本绘制程序 227

7.4 彩色拉图——像素贴图 228

7.5 Windows.BMP文件查看器 230

7.5.1 关于Windows位图文件 230

7.5.2 读取.BMP文件 231

7.5.3 显示位图 232

7.5.4 缩放图像 233

7.6 使用透明度绘制图像 234

7.7 绘制索引图像 236

7.8 拍摄图像的全景 237

7.9 读取图像 237

7.10 复制图像 240

7.11 编写.BMP文件 240

7.13 参考函数 242

7.13.1 glCopyPixels 242

7.12 小结 242

7.13.2 glDrawPixels 243

7.13.3 glPixelMap 244

7.13.4 glPixelStore 245

7.13.5 glPixelTransfer 246

7.13.6 glPixelZoom 247

7.13.7 glReadPixels 248

第8章 纹理贴图 251

8.1 本章主要内容 251

8.2 纹理贴图基础 252

8.3.1 定义1D纹理 253

8.3 定义纹理图像 253

8.3.2 定义2D纹理 254

8.3.3 纹理模式 254

8.3.4 纹理滤镜 255

8.3.5 纹理坐标 256

8.3.6 纹理绕转 256

8.4 综合应用——1D纹理示例 257

8.5 2D纹理示例 258

8.6 使用多个纹理图像 258

8.6.2 在内存中保存纹理对象 259

8.6.1 管理纹理对象 259

8.6.3 一个简单的纹理对象加载器 260

8.7 地形查看程序 263

8.8 自动生成纹理坐标 267

8.9 多贴图的纹理 268

8.9.1 定义多贴图纹理 268

8.9.2 自动生成多贴图 269

8.9.3 控制细节的级别 270

8.9.4 在地形查看器中添加多贴图 270

8.10 使用纹理加光照效果 271

8.12 3D纹理 275

8.11 替换纹理图像数据 275

8.13 小结 276

8.14 参考函数 277

8.14.1 glTexCoord 277

8.14.2 glTexEnv 278

8.14.3 glTexGen 278

8.14.4 GlTexImage1D 280

8.14.5 GlTexImage2D 280

8.14.6 GlTexImage3D 281

8.14.7 glTexParameter 282

9.2 确定任务 285

第9章 3D建模与物体合成 285

9.1 本章主要内容 285

9.2.1 选择投影 286

9.2.2 选择光照和材料属性 287

9.2.3 显示结果 288

9.3 构造模型——每次创建一个部件 289

9.3.1 螺帽 290

9.3.2 螺杆 294

9.3.3 螺纹 297

9.3.4 组合模块 301

9.4 预处理模型 303

9.4.1 显示表 303

9.4.2 纹理数组 307

9.4.3 顶点数组显示表 318

9.5 小结 318

9.6 参考函数 318

9.6.1 glArrayElement 318

9.6.2 glDrawArrays 319

9.6.3 glEnableClientState/glDisableClientState 319

9.6.4 glCallList 320

9.6.5 glCallLists 321

9.6.6 glColorPointer 322

9.6.7 glDeleteLists 323

9.6.8 glDrawElements 323

9.6.9 glDrawRangeElements 324

9.6.10 glEdgeFlagPointer 325

9.6.11 glEndList 325

9.6.12 glGenLists 326

9.6.13 glInterleavedArrays 327

9.6.14 glIsList 328

9.6.15 glListBase 329

9.6.16 glNewList 330

9.6.17 glNormalPointer 331

9.6.18 glTexCoordPointer 331

9.6.19 glVertexPointer 332

第10章 实际效果:混色与雾化 335

10.1 本章主要内容 335

10.2 混色 335

10.2.1 使用混色方法制作透明效果 336

10.2.2 混色与消除锯齿 338

10.2.3 在画图程序中使用混色 338

10.2.4 再访地形查看程序 339

10.3 雾化 341

10.3.1 画具有深度感的茶壶 342

10.3.2 其他雾化类型 342

10.3.3 雾的距离 343

10.4 回到地形查看程序 343

10.6.2 glFog 344

10.6.1 glBlendFunc 344

10.5 小结 344

10.6 参考函数 344

第11章 缓冲区:不只是为了实现动画 347

11.1 本章主要内容 347

11.2 缓冲区是什么 347

11.2.1 WIN32环境中的缓冲区 348

11.3 利用WIN32函数配置缓冲区 350

11.3.2 设置像素格式 350

11.3.1 获取设备场境 350

11.2.3 渲染场境 350

11.2.2 设备场境 350

11.3.3 创建所需的调色板 352

11.3.4 创建渲染场境 353

11.4 利用GLUT函数设置缓冲区 354

11.5 选择所需的缓冲区 354

11.6 颜色缓冲区 354

11.6.1 双缓冲 355

11.6.2 立体缓冲 355

11.6.3 交换缓冲区 355

11.7.1 启用深度对比 356

11.7.2 深度对比 356

11.7 深度缓冲区 356

11.7.3 深度值 357

11.7.4 深度缓冲区的应用 359

11.7.5 深度缓冲区的另一个应用 359

11.7.6 切除部分场景 360

11.8 模版缓冲区 361

11.8.1 使用模版缓冲区 361

11.8.2 模版缓冲区函数 362

11.8.3 绘制到模版缓冲区 362

11.9 累积缓冲区 364

11.9.1 利用累积缓冲区实现运动模糊 365

11.9.2 利用累积缓冲区实现消除锯齿 366

11.9.3 使用全屏消除锯齿的代价 368

11.10 小结 368

11.11 参考函数 368

11.11.1 glAccum 368

11.11.2 glClearColor 369

11.11.3 glClearDepth 369

11.11.4 glClearIndex 369

11.11.7 glDepthRange 370

11.11.6 glDepthFunc 370

11.11.5 glClearStencil 370

11.11.8 glDrawBuffer 371

第12章 超越直线和三角形 373

12.1 本章主要内容 373

12.2 二次曲面 374

12.2.1 改变绘制二次曲面的方式 374

12.2.2 绘制柱体 375

12.2.4 绘制锥体 376

12.2.5 绘制盘状体 376

12.2.3 纹理和柱体 376

12.2.6 盘状体和纹理 377

12.2.7 绘制部分圆盘 377

12.2.8 绘制球体 377

12.2.9 球体和纹理 378

12.3 绘制一根铅笔 378

12.4 复杂多边形 380

12.4.1 GLU1.1和GLU1.2 380

12.4.2 创建镶嵌对象 381

12.4.3 回调函数 381

12.4.4 绘制凹多边形 383

12.4.5 绘制复杂多边形 384

12.5 综合使用二次曲面和多边形镶嵌工具 386

12.5.1 建立F-16的模型 387

12.5.2 绘制F-16的模型 390

12.6 镶嵌高度场(网格) 391

12.6.1 使用三角长条绘制高度场 391

12.6.2 三角长条方法的加强 392

12.6.3 其他镶嵌算法 393

12.7 改进地形查看程序 393

12.8 小结 393

12.9.1 gluCylinder 394

12.9 参考函数 394

12.9.2 gluDeleteQuadric 395

12.9.3 gluDeleteTess 395

12.9.4 gluDisk 395

12.9.5 gluNewQuadric 396

12.9.6 gluNewTess 396

12.9.7 gluPartialDisk 396

12.9.8 gluQuadricCallback 397

12.9.9 gluQuadricDrawStyle 397

12.9.11 gluQuadricOrientation 398

12.9.10 gluQuadricNormals 398

12.9.12 gluQuadricTexture 399

12.9.13 gluSphere 399

12.9.14 gluTessBeginContour 400

12.9.15 gluTessBeginPolygon 400

12.9.16 gluTessCallback 400

12.9.17 gluTessEndContour 401

12.9.18 gluTessEndPolygon 401

12.9.19 gluTessProperty 401

12.9.20 gluTessVertex 402

13.1 本章主要内容 403

第13章 曲线和曲面 403

13.2 曲线和曲面 404

13.2.1 参数表示法 404

13.2.2 控制点 405

13.2.3 连续性 405

13.3 求值程序 406

13.3.1 2D曲线 406

13.3.2 计算曲线 411

13.3.3 3D曲面 411

13.4 NURBS 415

13.3.4 光照和法线矢量 415

13.4.2 结点 416

13.4.1 从贝塞尔到B样条 416

13.4.3 创建一个NURBS曲面 417

13.4.4 NURBS属性 418

13.4.5 定义曲面 418

13.4.6 修整 420

13.6 参考函数 422

13.6.1 glEvalCoord 422

13.5 小结 422

13.4.7 Nuros曲线 422

13.6.2 glEvalMesh 423

13.6.3 glEvalPoint 424

13.6.4 glGetMap 424

13.6.5 glMap 426

13.6.6 glMapGrid 429

13.6.7 gluBeginCurve 430

13.6.8 gluBeginSurface 430

13.6.9 gluBeginTrim 431

13.6.10 gluDeleteNurbsRenderer 432

13.6.12 gluEndSurface 433

13.6.11 gluEndCurve 433

13.6.13 gluEndTrim 434

13.6.14 gluGetNurbsProperty 434

13.6.15 gluLoadSamplingMatrices 435

13.6.16 gluNewNurbsRenderer 436

13.6.17 gluNurbsCallback 437

13.6.18 gluNurbsCurve 439

13.6.19 gluNurbsProperty 439

13.6.20 gluNurbsSurface 441

13.6.21 gluPwlCurve 442

第14章 交互式图形 445

14.1 本章主要内容 445

14.2 选定 446

14.2.1 命名图元 446

14.2.2 使用选定模式 448

14.2.3 选定缓冲区 449

14.2.4 检选 451

14.2.5 分层检选 453

14.3.1 反馈缓冲区 457

14.3 反馈 457

14.3.2 反馈数据 458

14.3.3 处理标记器 459

14.4 反馈示例 459

14.4.1 标注反馈对象 460

14.4.2 第一步:选择对象 462

14.4.3 第二步:获取对象的反馈 464

14.6 参考函数 466

14.6.1 glFeedbackBuffer 466

14.5 小结 466

14.6.2 glInitNames 468

14.6.3 glLoadName 468

14.6.4 glPassThrough 469

14.6.5 glPopName 469

14.6.6 glPushName 470

14.6.7 glRenderMode 471

14.6.8 glSelectBuffer 473

14.6.9 gluPickMatrix 474

15.2 OpenGL图像扩展的基本知识 477

15.1 本章主要内容 477

第15章 用OpenGL制作图像 477

15.3 颜色矩阵 478

15.4 卷绕(过滤) 481

15.4.1 锐化卷绕滤镜 482

15.4.2 使卷绕滤镜变模糊 482

15.5 直方图均衡 482

15.5.1 获取直方图数据 483

15.5.2 获取最小数据和最大数据 483

15.6 小结 483

15.7.2 glConvolutionFilter2DARB 484

15.7 参考函数 484

15.7.1 glConvolutionFilter1DARB 484

15.7.3 glGetHistogramARB 485

15.7.4 glGetMinMaxARB 485

15.7.5 glHistogramARB 486

15.7.6 glMinMaxARB 486

15.7.7 glResetHistogramARB 486

15.7.8 glResetMinMaxARB 487

16.1 本章主要内容 489

16.2 可用的扩展 489

第16章 常用的OpenGL扩展 489

16.3 何时使用扩展 490

16.4 检查扩展的可用性 490

16.4.1 访问扩展函数 490

16.4.2 扩展常量 491

16.5 交换线索扩展 492

16.6 顶点淘汰扩展 494

16.6.1 使用顶点淘汰扩展 494

16.6.2 Terrain示例中的顶点淘汰 495

16.7.1 检查多纹理扩展 496

16.7 多纹理扩展 496

16.7.2 使用多纹理扩展 497

16.8 小结 498

16.9 参考函数 498

16.9.1 glActiveTextureARB 498

16.9.2 glAddSwapHintRectWIN 499

16.9.3 glCullParameterfvSGI 499

16.9.4 glMultiTexCoord*ARB 499

16.9.5 wglGetProcAddress 500

17.1 本章主要内容 505

第三部分 OpenGL for Windows:OpenGL与Win32 505

第17章OpenGL像素格式和渲染场境 505

17.2 OpenGL在Windows上的实现 506

17.2.1 通用OpenGL 506

17.2.2 可安装的客户驱动程序 506

17.2.3 小型客户驱动程序 506

17.2.4 小型驱动程序 507

17.3 基本Windows渲染 507

17.3.1 GDI设备场境 508

17.3.2 像素格式 510

17.3.3 OpenGL渲染场境 516

17.4 综合应用 517

17.4.1 创建窗口 518

17.4.2 使用OpenGL渲染场镜 522

17.4.3 其他Windows消息 526

17.5 Windows调色板 528

17.5.1 颜色匹配 528

17.5.2 调色板调停 529

17.5.3 为OpenGL创建调色板 530

17.5.4 调色板的创建与处理 535

17.6.1 3D字体和文本 537

17.6 OpenGL和Windows字体 537

17.6.2 2D字体和文本 540

17.7 全屏幕渲染 540

17.7.1 创建无框窗口 540

17.7.2 创建全屏窗口 541

17.8 多线程渲染 544

17.9 小结 545

17.10 参考函数 545

17.10.1 ChoosePixelFormat 545

17.10.2 DescribePixelFormat 547

17.10.3 GetPixelFormat 550

17.10.4 SetPixelFormat 550

17.10.5 SwapBuffers 550

17.10.6 wglCreateContext 551

17.10.7 wglCreateLayerContext 552

17.10.8 wglCopyContext 553

17.10.9 wglDeleteContext 553

17.10.10 wglDescribeLayerPlane 554

17.10.11 wglGetCurrentContext 556

17.10.12 wglGetCurrentDC 557

17.10.14 wglShareLists 558

17.10.13 wglMakeCurrent 558

17.10.15 wglSwapLayerBuffers 559

17.10.16 wglUseFontBitmaps 560

17.10.17 wglUseFontOutlines 561

第18章 非视窗渲染 563

18.1 脱屏渲染的基本知识 563

18.1.1 脱屏渲染的制约 563

18.1.2 为渲染创建脱屏缓冲区 563

18.1.4 共享显示表 565

18.1.3 撤消脱屏缓冲区 565

18.2 保存为.BMP文件 566

18.3 打印图像 568

18.4 图元文件 570

18.4.1 创建增强的图元文件设备场境 570

18.4.2 图元文件和OpenGL视见区 571

18.4.3 从Terrain查看程序中生成图元文件 571

18.5 小结 571

19.1 本章主要内容 573

19.2 实时的速度 573

第19章OpenGL实时编程 573

19.3 Windows动画技巧 575

19.3.1 计时器用于动画 575

19.3.2 简化WM_PAINT机制 580

19.3.3 事件插入循环 582

19.3.4 使用渲染线程 584

19.4 实时中的“真实” 591

19.4.1 基于时间的关键帧 592

19.4.2 实际限制 593

19.4.3 实时响应 594

19.5 场景图基本知识 600

19.5.1 使景色散乱 601

19.5.2 模型淘汰 604

19.6 其他实时技巧 607

19.6.1 Direct X 607

19.6.2 通用的OpenGL性能提示 607

19.7 小结 608

A.1 1.1版(1995年12月) 611

A.2 1.2版(1998年3月) 611

附录A OpenGL更新摘要 611

第四部分 附录 611

附录B 阅读资料 613

B.1 Windows编程方面的书籍 613

B.2 OpenGL方面的书籍 613

B.3 3D图形方面的书籍 613

B.4 Web站点 614

附录C OpenGL状态机 615

C.1 OpenGL的基本状态函数 615

C.2 保存和恢复状态 616

C.2.1 绘制状态 618

C.2.2 深度缓冲区状态 619

C.2.3 模版缓冲区状态 619

C.2.4 亮度状态 619

C.2.5 纹理状态 619

C.2.6 像表状态 620

C.3 参考函数 620

C.3.1 glDisable、glEnable 620

C.3.2 glIsEnabled 622

C.3.3 glPopAttrib 622

C.3.4 glPushAttrib 622

附录D 词汇表 623

相关图书
作者其它书籍
返回顶部