《Vega程序设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:龚卓蓉编译
  • 出 版 社:北京:国防工业出版社
  • 出版年份:2002
  • ISBN:711802838X
  • 页数:359 页
图书介绍:本书是《实时三维视景仿真软件VeSa丛书》的第二册。该书以vega3.5用户手册为基础,系统讲述VeSa全部基本类的程序设计。全书共分14章,在简要介绍Vega软件包的使用及其程序接口之后,着重介绍Ve9a基本类的特性、功能及编程方法,包括系统、窗口、通道、图形状态、观察者、数据库、场景运动体、环境、环境效果、雾模型、光照、体、相交矢量、运动模型、路径、导航器和输入设备。还介绍了分布式VeSa仿真、扩展及编写用户专用模块和LynX插件的方法。本书围绕Vega最主要的基本类,讲述其特点、功能及编程方法。内容力求全面、实用,并附有大量的程序实例帮助读者理解。在讲述程序设计的同时还系统叙述了涉及到真实感图形生成的一些基本概念。本书可供从事图形图像处理、虚拟现实仿真技术、科学计算可视化以及动画研究设计的技术人员和大专院校的师生参考。

第一章 Vega简介 1

1.1 Vega的基本概念 1

1.1.1 什么是Vega 1

1.1.2 Vega的API函数和库 1

1.1.3 什么是Lyn X 2

1.2 场景图形管理 2

1.3 产品模块 3

1.4 本书特点 3

1.4.1 如何建立一个应用程序 3

1.4.2 代码 4

1.4.3 参数和属性值 4

1.5 Unix特点 4

第二章 应用程序接口 6

2.1 Vega类 6

2.2 API结构 7

2.3 Vega的类管理和类删除方法 9

2.4 vgBase 10

2.5 vgCommon 10

2.5.1 vgName 10

2.5.2 vgGetNameLen 10

2.5.3 vgGetName 10

2.5.4 vgGetType 11

2.5.5 vgCopy 11

2.5.6 vgDelete 12

2.5.7 vgProp 12

2.5.8 vgGetProp 12

2.5.9 vgAttrList 12

2.5.10 vgUpdate 13

2.5.11 vgUserdata 13

2.5.12 vgGetUserData 13

2.5.13 vgAddFunc 13

2.5.14 vgDelFunc 13

2.5.15 vgSnapshot 13

2.5.16 vgDetach/ vgReattach 14

2.5.17 vgAddClassFunc 14

2.5.18 vgDelClassFunc 14

2.5.19 vgPrint 14

2.5.20 vgWriteADF 15

2.5.21 vgAddClass 15

2.5.22 vgGetClass 15

2.5.23 vgGetNumclass 15

2.5.24 vgRemClass 15

2.5.25 vgCommon函数概述 15

2.6 vgCPos 16

2.6.1 vgPos 16

2.6.2 vgGetPos 16

2.6.3 vgGetWCSPos 17

2.6.4 vgCPos参数计算 17

2.6.5 vgGetPosCalcVec 18

2.6.6 vgGetPosCalcMat 18

2.6.7 vgGetPosCalc 19

2.6.8 vgCPos函数概述 19

2.7 回调函数 19

2.7.1 vgCommon 19

2.7.2 类回调 20

2.8 用户定义的类 23

第三章 系统、窗口、通道和图形状态 28

3.1 建立一个应用程序 28

3.2 Vega应用程序的主循环 28

3.3 系统属性 29

3.3.1 错误处理 29

3.3.2 帧管理 30

3.3.3 多线程控制 30

3.3.4 系统回调 32

3.3.5 退出系统 33

3.3.6 时间 33

3.3.7 模块的可用性 33

3.3.8 事件管理 34

3.4 多窗口系统 36

3.4.1 窗口外观 36

3.4.2 窗口操作和位面 36

3.4.3 非控制台应用程序下的Vega窗口 42

3.4.4 基于WinMain应用程序中的Vega窗口 42

3.4.5 基于MFC的Vega窗口应用程序 47

3.4.6 窗口线程控制 52

3.4.7 键盘和鼠标的输入输出 52

3.4.8 帧缓冲区的因素 53

3.5 通道 54

3.5.1 通道位置 54

3.5.2 通道投影视图 55

3.5.3 通道属性 56

3.5.4 通道的回调函数 58

3.5.5 颜色表 58

3.5.6 状态表 59

3.5.7 转换 60

3.5.8 通道选择 61

3.5.9 通道选择线程 62

3.5.10 通道光点线程 62

3.5.11 动态视频分辨率 62

3.6 定制的统计表 63

3.6.1 vgStat函数的功能 63

3.6.2 vgStat函数的属性 64

3.7 图形状态 67

3.7.1 图形状态的控制 67

3.7.2 细节等级(LOD)的淡入淡出控制 68

3.8 回调函数小结 69

3.8.1 vgChannel 69

3.8.2 vgSystem 70

第四章 观察者 72

4.1 属性 72

4.1.1 状态 72

4.1.2 通道 72

4.1.3 位置 72

4.1.4 静态 73

4.1.5 动态 73

4.1.6 限定 73

4.1.7 限定:跟随 73

4.1.8 限定:旋转 74

4.1.9 限定:固定值 74

4.1.10 导航器 74

4.1.11 HMD输入 75

4.1.12 场景 75

4.1.13 环境 75

4.1.14 图形状态 75

4.1.15 相交矢量 75

4.1.16 查询 76

4.1.17 体 76

4.1.18 装载管理 77

4.1.19 立体效果 77

4.2 回调函数 78

4.3 指南 79

第五章 数据库 84

5.1 数据集 84

5.1.1 纹理参数 87

5.1.2 声音波形 87

5.1.3 数据集回调 87

5.2 纹理 89

5.2.1 可分页纹理 90

5.2.2 包含纹理的可分页几何体 90

5.2.3 用户安装的装载器 91

5.2.4 纹理回调 92

5.3 虚拟纹理 92

5.3.1 Vega剪贴对象物模块 94

5.3.2 应用程序接口 95

5.3.3 初始化Vega剪贴对象物模块 95

5.3.4 创建剪贴对象物 96

5.3.5 剪贴对象物属性 96

5.3.6 LADBM支持 106

5.3.7 虚拟数据库的问题 107

5.3.8 样例代码和应用程序定义文件 107

5.3.9 后处理问题 129

5.4 对象物 130

5.5 部件 139

5.6 场景 144

5.7 颜色表 145

5.8 数据库管理 148

5.8.1 Dbm属性 148

5.8.2 Dbm形状 149

5.8.3 Dbm坐标系变换 151

5.8.4 Dbm形状与计算的依赖关系 152

5.8.5 程序实例 154

5.9 显示列表 164

5.9.1 编辑显示列表 164

5.9.2 通道附件 169

5.9.3 体显示列表 170

5.9.4 程序样例 170

5.10 回调函数 171

5.10.1 vgObject 171

5.10.2 vgPart 173

5.10.3 vgScene 173

5.11 状态表 173

第六章 场景运动体 179

6.1 场景运动体属性 179

6.2 把类事件附着到场景运动体中 180

6.3 场景运动体定位规则 181

6.3.1 附着运动模型的场景运动体 182

6.3.2 附着导航器的场景运动体 182

6.3.3 场景运动体的参考坐标系 182

6.4 对象物附着和对象物偏移 184

6.5 场景运动体的体 185

6.6 附着场景运动体的相交矢量 185

6.7 回调函数 186

第七章 环境、环境效果、雾模型和光照 188

7.1 环境 188

7.1.1 环境属性 189

7.1.2 环境能见度 190

7.1.3 环境颜色控制 190

7.1.4 加入类事件 191

7.1.5 样例 191

7.2 雾模型 193

7.2.1 雾模型的类 194

7.2.2 雾模型颜色和属性 194

7.2.3 样条雾表的配置 196

7.3 环境效果 196

7.3.1 环境效果的颜色和属性 196

7.3.2 云 197

7.3.3 地表雾 202

7.3.4 风暴 203

7.3.5 星际模型 205

7.3.6 日月的着色 208

7.3.7 背景画面 209

7.4 光源 211

7.4.1 光源类型 212

7.4.2 光照模型 213

7.4.3 光源属性 213

7.4.4 光源衰减 214

7.4.5 光源颜色 214

7.4.6 放置光源 214

第八章 体和相交矢量 217

8.1 体 217

8.2 相交矢量 219

8.2.1 Z、HAT、Tripod、LOS、Bump、XYZPR、Volume的方法 220

8.2.2 VGIS-Z方法 220

8.2.3 VGIS-HAT方法 224

8.2.4 VGIS-ZPR方法 227

8.2.5 VGIS-TRIPOD方法 230

8.2.6 VGIS-LOS方法 233

8.2.7 VGIS-BUMP方法 239

8.2.8 VGIS-XYZPR方法 243

8.2.9 VGIS-VOLUME方法 248

8.3 高级篇 250

8.3.1 查找并取回额外的相交矢量结果 250

8.3.2 坐标系 254

8.3.3 相交矢量处理 254

8.3.4 修改pfSegSet模式 254

8.4 回调函数 255

第九章 运动模型、路径和导航器 256

9.1 背景 256

9.2 使用输入设备作为运动模型 257

9.3 执行用户定义的运动模型 257

9.3.1 复位事件 264

9.3.2 更新事件 264

9.4 运动模型的处理 264

9.5 路径 268

9.5.1 建立和询问路径 268

9.5.2 文件和路径的辅助函数 270

9.6 导航器 271

9.6.1 vgNavigator(基本类)功能 272

9.6.2 标记和标记表 272

9.6.3 vgSplineNavigator功能 273

9.6.4 用vgSplineNavigator函数标记事件和数据 274

9.6.5 属性 275

9.7 选取 281

9.7.1 属性 281

9.7.2 vgPicker API 285

第十章 输入设备 288

10.1 背景 288

10.2 使用vgIDev类 288

10.3 输入设备的属性 289

10.4 从一个设备中读取数据 291

10.5 高级篇 292

第十一章 扩展Vega 293

11.1 用户自定义类 293

11.2 建立用户自己的Vega产品模块 294

11.2.1 模块结构 294

11.2.2 回调 295

11.2.3 增中用户数据并定义到ADF中 298

11.2.4 模块定义 304

11.2.5 LynX GUI配置文件 305

11.3 创建LynX插件 319

11.4 从ADF中读取用户数据 323

11.5 指南 323

11.5.1 关键字配置更改 323

11.5.2 GUI配置更改 326

11.5.3 LynX插件 328

11.5.4 模块 328

第十二章 字体 338

12.1 矢量字体 338

12.1.1 字体大小 338

12.1.2 放置字符 339

12.1.3 着色字符串 339

12.2 位图字体 339

12.2.1 装载字体 339

12.2.2 选择字体 340

12.2.3 绘制字体 341

第十三章 分布式Vega 342

13.1 介绍 342

13.2 概述 342

13.2.1 硬件需求 343

13.2.2 系统结构 343

13.2.3 系统初始化 344

13.2.4 自动开启从设备 344

13.3 建立应用程序 345

13.4 应用程序接口 346

13.4.1 初始化 346

13.4.2 数据交换 347

13.4.3 属性 348

13.5 Lyn X面板 348

13.6 例子 350

13.6.1 应用程序 350

13.6.2 ADF文件 351

13.7 解决方案 352

13.8 注意 353

13.9 已知的问题 354

第十四章 回调函数表 355