第1章 OpenGL简介 1
OpenGL概览 2
一个简单的OpenGL程序 4
OpenGL函数的语法 6
作为状态机的OpenGL 8
OpenGL渲染管道 8
OpenGL相关函数库 11
动画 17
第2章 状态管理和绘制几何物体 23
绘图补救工具箱 25
点、线和多边形的描述 31
基本状态管理 40
显示点、线和多边形 41
法线向量 54
顶点数组 56
属性组 69
创建曲面的多边形模型需注意的问题 71
第3章 视图 81
概述:照相机类比法 83
视图变换和模型变换 91
投影变换 104
视区变换 108
变换的诊断 112
矩阵堆栈的操作 114
附加裁剪平面 118
组合变换举例 121
逆转变换和模拟变换 129
第4章 颜色 133
颜色的感知 134
计算机的颜色 135
RGBA模式与颜色索引模式 137
指定颜色和阴影模型 142
第5章 光照 149
隐藏面消隐修补工具箱 151
真实世界与OpenGL光照 152
一个简单的例子:光照球体的渲染 154
创建光源 158
选择光照模型 170
定义材质属性 173
光照的数学计算 182
颜色索引模式下的光照 186
第6章 混合、反走样、雾和多边形偏移 189
混合 190
反走样 202
雾 212
多边性偏移 220
第7章 显示列表 223
为什么使用显示列表 224
一个使用显示列表的范例 225
显示列表设计准则 228
显示列表的创建和执行 230
执行多显示列表 238
管理显示列表的状态变量 244
第8章 绘制像素、位图、字体和图像 249
位图和字体 250
图像 260
图像管道 268
读取和绘制像素矩形 281
提高像素绘制速度的技巧 285
图像子集 285
第9章 纹理映射 309
概述及范例 312
指定纹理 318
过滤处理 343
纹理对象 346
纹理函数 352
分配纹理坐标 355
自动纹理坐标生成 361
高级特性 368
第10章 帧缓存 375
缓存及其使用 377
片元的测试与操作 382
累积缓存 392
第11章 网格化和二次曲面 407
多边形网格化 408
二次曲面:渲染球体、圆柱体和盘 423
第12章 求值程序和NURBS(非均匀有理B样条) 433
先决条件 434
求值程序 435
GLU的NURBS接口 449
第13章 选择和反馈 467
选择 468
反馈 489
第14章 OpenGL高级技巧 497
错误处理 499
所使用的OpenGL版本? 501
对OpenGL标准的扩展 502
轻松制作透明物体 504
轻松实现淡出效果 505
利用后缓存进行物体选择 506
方便的图像变换 507
显示层次 509
消除字符的锯齿现象 510
绘制圆形的点 511
插入图像 511
制作贴花 512
用模板缓存绘制填充凹多边形 513
确定重叠区域 514
阴影 515
消除隐藏线 516
纹理映射的应用 518
绘制深度缓存图像 518
Dirichlet域 519
生命游戏 520
GIDrawPixels()和glCopyPixels()的交替使用 521
附录A 操作顺序 523
概述 524
几何操作 525
像素操作 526
片元操作 526
补充说明 527
附录B 状态变量 529
查询函数 530
OpenGL状态变量 531
附录 C OpenGL和窗口系统 549
GLX:OpenGL对X窗口系统的扩展 550
AGL:OpenGL对Apple Macintosh的扩展 555
PGL:OpenGL对IBM OS/2 Warp的扩展 560
WGL:OpenGL对Microsoft Windows 95/98/NT的扩展 563
附录D GLUT基础:OpenGL应用工具箱 567
初始化和创建窗口 568
处理窗口和输入事件 569
装载颜色图 570
初始化并绘制三维物体 570
管理后台处理 571
运行程序 571
附录E 计算法线向量 574
为解析表面确定法线 574
由多边形数据确定法线 576
附录F 齐次坐标与变换矩阵 579
齐次坐标 580
变换矩阵 581
附录G 编程要点 585
OpenGL正确编程技巧 586
OpenGL执行性能方面的技巧 587
OpenGL的技巧 588
附录H OpenGL的不变性 591
词汇表 593