第0章 关于本指南 1
0.1 本指南面向的读者 1
0.2 怎样利用这本指南 1
0.3 本指南中包含的内容 2
0.4 推荐的背景读物 4
第一部分 9
第1章 OpenGL Optimizer概述 9
1.1 OpenGL Optimizer面临的问题和解决办法 9
1.2 OpenGL Optimizer工具集 10
第2章 基本的I/O:开始使用OpenGL Optimizer 18
2.1 调用opInit() 18
2.2 保存和装载场景图形文件 18
2.3 查看类:opViewer 21
2.4 控制渲染:opKeyCallback和opDrawImpl 23
3.1 显示列表 29
第3章 向硬件发送有效的图形数据 29
第二部分 29
3.2 顶点数组 30
3.3 缩减曲面法线数据的表示法 31
3.4 避免OpenGL的模式切换 31
3.5 创建OpenGL连通的几何基本要素 32
第4章 渲染适宜的细节层次 39
4.1 简化工具概述 39
4.2 opSimplify:用于添加细节层次节点的基类 40
4.3 创建LODs:opSRASimplify 42
4.4 Rossignac简化运算法则:opLatticeSimplify 45
4.5 利用不同的细节层次合并图形:opMergeScenes 46
第5章 从场景图形中剔除不必要的对象 49
5.1 视图平截头体剔除操作 49
5.2 遮断剔除 50
5.3 视图平截头体剔除和遮断剔除绘图遍历操作:opDrawAction 52
5.4 利用视图平截头体和遮断剔除操作渲染:opOccDrawImpl 54
5.5 关于调整遮断剔除操作的提示 56
5.6 细节剔除操作 57
5.7 背面剔除 58
第6章 按立体的方式组织场景图形 61
6.1 立体化对剔除遍历操作的效果 61
6.2 关于粒度的权衡 61
6.3 什么时候需要进行立体化 62
6.4 立体化运算法则 62
6.5 立体化工具:opSpatialize 63
6.6 用于立体化组件过程的类 64
第三部分 71
第7章 按交互方式进行加亮和加工操作 71
7.1 加亮和拾取技术概述 71
7.2 与已渲染的对象间的交互作用:opPickDrawImpl 71
7.3 场景图形的修改:opPick 74
7.4 超越外观的节点:opHighlight 78
8.1 简单映射:远程环境的远程视图 80
第8章 高效率高质量的光照效果:反射映射 80
8.2 精确映射:本地环境的本地视图 82
8.3 反射映射类:opReflMap 84
第四部分 91
第9章 高阶几何基本要素和离散网格 91
9.1 高阶几何基本要素的功能和用法 91
9.2 表示法所必需的对象 92
9.3 几何基本要素:基类opRep和应用程序repTest 95
9.4 平面上的曲线 97
9.5 空间中的曲线 113
9.6 参数曲面 116
9.7 opCuboid 144
9.8 规则网格和离散曲面 145
第10章 创建和维护曲面的拓扑结构 151
10.1 拓扑结构的任务概述 151
10.2 场景图形拓扑结构综述:opTopo 151
10.3 边界上的协调顶点:opBoundary 157
10.4 收集连通曲面:opSolid 159
第11章 渲染高阶几何基本要素:镶嵌器 161
11.1 镶嵌器功能 162
11.2 基类opTessellateAction 163
11.3 镶嵌空间曲线 166
11.4 镶嵌立方体:opTessCuboidAction 167
11.5 镶嵌参数曲面 167
11.6 镶嵌规则网格 173
第五部分 183
第12章 遍历大型场景图形 183
12.1 遍历操作和回调函数:一般功能 183
12.2 利用回调函数的返回值opTravDisp控制遍历操作 185
12.3 指定删除遍历对象的存储:opActionDisp 186
12.4 “深度优先”遍历操作:opDFTravAction 186
12.5 “宽度优先”遍历操作:opBFTravAction 187
12.6 来自范例应用程序opoptimize的范例遍历函数 189
12.7 遍历场景图形和应用csDispatch:opDispatchAction 191
第13章 加工三角形和重新构造可渲染的对象 193
13.1 低层几何工具概述 193
13.2 将csGeoSets分解为成分三角形:opGeoConverter 194
13.3 指定新的csGeoSets的着色方式:opColorGenerator 195
13.4 构造新的csGeoSets 196
第14章 管理多个处理器 201
14.1 多进程控制任务和相关的类 201
14.2 线程管理器概述 202
14.3 线程管理器:opThreadMgr 203
14.4 为线程管理器定义任务 206
14.5 协调修改场景图形的各个线程:opTransactionMgr 209
14.6 低层多进程工具 212
第六部分 219
第15章 实用程序 219
15.1 出错处理和通知消息 219
15.3 opx:用于相邻元素动态数组的一个模板类 220
15.2 性能指示器 220
15.5 收集三角形的统计信息 221
15.4 打印场景图形 221
15.6 显示节点信息 223
15.7 观察OpenGL的模式 224
15.8 命令行解析程序:opArgParser 225
第16章 排除故障 227
16.1 编译程序警告信息 227
16.2 运行时警告信息 227
16.3 调整场景图形数据库 227
第七部分 235
附录A 安装OpenGL Optimizer 235
A.1 在UNIX系统中安装OpenGL Optimizer和支持软件 235
A.2 在NT系统中安装OpenGL Optimizer 236
B.1 命令行选项和用户输入 238
B.2 范例应用程序opviewer 238
附录B OpenGL Optimizer范例应用程序 238
B.3 其他范例应用程序 239
附录C 范例应用程序opviewer 242
C.1 确认安装 243
C.2 编译和运行opviewer 243
C.3 opviewer程序代码 243
D.1 场景图形工具的返回值 258
D.2 编译和运行opoptimize 258
附录D 利用应用程序opoptimize调整场景图形 258
D.3 opoptimize的程序代码 259
附录E Optimizer类层次结构 283
E.1 opGUI类层次结构 283
E.2 opXmGUI类层次结构 283
E.3 Optimizer类层次结构 283
附录F 中英文术语对照表 288
附录G 英中文术语对照表 294
术语表 300