当前位置:首页 > 工业技术
OpenSceneGraph三维渲染引擎编程指南
OpenSceneGraph三维渲染引擎编程指南

OpenSceneGraph三维渲染引擎编程指南PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:肖鹏,刘更代,徐明亮编著(西安电子科技大学)
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302213031
  • 页数:423 页
图书介绍:本书是一本全面深入介绍OpenSceneGraph(OSG)基础及核心API函数的入门教程。OpenSceneGraph是一个基于工业标准OpenGL跨平台的三维开源场景图形系统应用程序开发接口(API)。本书按照OSG的设计结构体系,逐一深入讨论OSG的各个功能模块。首先介绍OSG的历史和开源组织,以及配置开发环境;然后深入探讨OSG的核心库、NodeKits工具库、OSG插件库等重点分析了如何将OSG集成到用户应用开发程序的核心功能及各种应用技术。
《OpenSceneGraph三维渲染引擎编程指南》目录

第1章 OpenSceneGraph概述 1

1.1 OpenSceneGraph简介 2

1.1.1什么是OpenSceneGraph 2

1.1.2 OpenSceneGraph的历史和发展 2

1.1.3 OSG中国 3

1.1.4 OSG组成模块 3

1.2开发的预备知识 5

1.3 OSG的安装及编译 6

1.3.1 OSG的获取及安装 6

1.3.2编译OSG 7

1.3.3 OSG邮件列表 13

1.4 OSG基础 14

1.4.1开发环境设置 14

1.4.2 OSG中的HelloWorld工程 14

1.4.3 OSG实用工具——场景浏览器osgViewer 17

1.4.4 OSG实用工具——版本信息查看器osgVersion 21

1.4.5 OSG实用工具——场景图形压缩归档工具osgArchive 21

1.4.6 OSG实用工具——数据转换工具osgConv 23

第2章 OpenSceneGraph数学基础 27

2.1坐标系统 28

2.2坐标系变换 29

2.2.1世界坐标系-物体坐标系变换 30

2.2.2物体坐标系-世界坐标系变换 30

2.2.3世界坐标系-屏幕坐标系变换 32

2.3向量、矩阵及四元数 34

2.3.1向量 34

2.3.2矩阵 35

2.3.3四元数 36

2.3.4矩阵与四元数之间的转换 37

第3章 场景的组织及渲染 41

3.1 OSG场景树 42

3.1.1 OSG场景树节点 42

3.1.2 OSG中的父节点与子节点 42

3.2 Geode 43

3.2.1 Billboard节点 43

3.2.2布告板示例 44

3.3 Group 48

3.3.1位置变换节点 48

3.3.2位置变换节点示例 49

3.3.3矩阵变换节点 50

3.3.4矩阵变换节点示例 51

3.3.5自动对齐节点 53

3.3.6自动对齐节点示例 53

3.3.7开关节点 56

3.3.8开关节点示例 57

3.3.9细节层次节点 58

3.3.10细节层次节点示例 59

3.3.11分页细节层次节点 61

3.3.12分页细节层次节点示例 61

3.3.13替代节点 63

3.3.14替代节点示例 64

3.3.15遮挡裁剪节点 66

3.3.16遮挡裁剪节点示例 67

3.3.17坐标系节点 70

3.3.18坐标系节点示例 71

3.4场景中节点的拷贝——osg::CopyOp类 73

3.4.1自定义场景拷贝示例(一) 73

3.4.2自定义场景拷贝示例(二) 79

第4章 OSG中几何体的绘制 83

4.1场景基本绘图类 84

4.2基本几何体的绘制 86

4.2.1几何体类 86

4.2.2基本几何体绘制示例 87

4.2.3索引绑定几何体绘制示例 90

4.3使用OSG中预定义的几何体 93

4.3.1 osg::Shape类 93

4.3.2 osg::ShapeDrawable类 94

4.3.3网格化类 94

4.3.4预定义几何体示例 95

4.4多边形分格化 97

4.5几何体操作 101

4.5.1简化几何体 102

4.5.2简化几何体示例 102

4.5.3 Delaunay三角网绘制 104

4.5.4 Delaunay三角网绘制示例 105

4.5.5三角带绘制 107

4.5.6三角带绘制示例 108

4.5.7生成顶点法向量 111

4.5.8生成顶点法向量示例 112

第5章 渲染状态、纹理与光照 115

5.1渲染状态 116

5.1.1 osg::StateSet类 116

5.1.2渲染属性和渲染模式 117

5.1.3状态继承 118

5.1.4渲染状态示例 119

5.2纹理映射 121

5.2.1二维纹理映射 123

5.2.2二维纹理映射示例 126

5.2.3多重纹理映射 129

5.2.4多重纹理映射示例 129

5.2.5 Mipmap纹理映射 131

5.2.6 Mipmap纹理映射示例 132

5.2.7 TextureRectangle纹理映射 138

5.2.8 TextureRectangle纹理映射示例 139

5.2.9自动生成纹理坐标 142

5.2.10自动生成纹理坐标示例 142

5.2.11计算纹理坐标 144

5.2.12计算纹理坐标示例 145

5.2.13立方图纹理 149

5.2.14立方图纹理示例 150

5.2.15 渲染到纹理 155

5.2.16渲染到纹理示例 155

5.2.17一维纹理 162

5.2.18一维纹理示例 162

5.2.19三维纹理映射 164

5.2.20三维纹理映射示例 166

5.3光照 171

5.3.1 osg::Light类 171

5.3.2 osg::LightSource类 172

5.3.3场景中使用光源 173

5.3.4简单光源示例 174

5.3.5聚光灯示例 176

5.4材质 182

5.4.1材质类 182

5.4.2材质类示例 184

第6章 文件的读写 187

6.1 OSG支持的文件格式 188

6.1.1三维模型文件格式 188

6.1.2图片及视频文件格式 189

6.1.3打包及网络传输格式 189

6.1.4字体文件格式 190

6.1.5伪插件文件格式 190

6.1.6 .osg文件和.ive文件 190

6.2文件读取的流程 191

6.2.1 osgDB库 191

6.2.2文件的读取与保存 191

6.2.3文件读写示例 192

6.2.4文件读写进度 194

6.2.5文件读取进度示例 195

6.3插件的工作机制 198

6.3.1插件的搜索和注册 198

6.3.2osgArchive读写流程 199

6.3.3自定义文件插件 200

6.3.4自定义文件格式读写插件示例 202

6.4读写中文文件名及中文路径问题 206

6.5 osgEXP导出文件 209

第7章 场景图形的工作机制 213

7.1内存管理 214

7.1.1 Referenced类 214

7.1.2 ref_ptr?模板类 214

7.1.3智能指针 215

7.2访问器机制 215

7.2.1访问器设计模式 215

7.2.2 osg::NodeVisitor类 216

7.2.3顶点访问器示例 217

7.2.4纹理访问器示例 220

7.2.5节点访问器示例 223

7.3回调机制 227

7.3.1 osg::NodeCallback类 227

7.3.2节点回调示例 228

7.3.3事件回调示例 230

7.3.4文件读取回调示例 232

7.4数据变量 235

第8章 场景图形管理 237

8.1视图与相机 238

8.1.1 osg::Camera类 238

8.1.2裁剪平面示例(一) 243

8.1.3裁剪平面示例(二) 244

8.1.4单视图与相机 246

8.1.5宽屏变形示例 247

8.1.6单视图多相机渲染示例 249

8.1.7多视图与相机 252

8.1.8多视图相机渲染示例 253

8.1.9多视图多窗口渲染示例 257

8.2场景交互与场景漫游 259

8.2.1 osgGA库 259

8.2.2键盘事件消息处理 261

8.2.3抓图示例 262

8.2.4场景漫游 265

8.2.5自定义操作器场景漫游示例 266

8.2.6路径漫游 275

8.2.7路径漫游示例 276

8.3交运算与对象选取 277

8.3.1交运算 278

8.3.2显示位置及拾取示例 280

8.3.3对象选取示例 285

第9章 OSG文字 289

9.1 osgText 290

9.1.1 osgText::Text类 290

9.1.2 osgText::Font类 293

9.1.3显示汉字示例 294

9.1.4各种文字效果(边框、阴影及颜色倾斜)示例 296

9.1.5 HUD显示汉字示例 300

9.1.6渐变文字 303

9.1.7渐变文字示例 304

9.2 osgText3D 306

9.2.1 osgText::Text3D类 307

9.2.2 3D汉字显示示例 307

第10章 OSG动画与声音 311

10.1路径动画 312

10.1.1 osg::AnimationPath类 312

10.1.2 osg::AnimationPathClllback类 314

10.1.3路径动画控制及显示示例 314

10.1.4路径的导出示例 318

10.1.5路径的导入示例 321

10.2帧动画 323

10.2.1 osg::Sequence类 324

10.2.2帧动画显示与控制示例 325

10.3骨骼动画osgCal 329

10.3.1 Cal3D简介及Cal3D导出 329

10.3.2编译osgCal 330

10.3.3骨骼动画osgCal示例 331

10.4三维立体声音osgAL 336

10.4.1 OpenAL简介 336

10.4.2 osgAL编译 337

10.4.3 osgAL声音播放示例 338

10.4.4 osgAL声音动态加载及播放示例 343

第11章 OSG粒子系统与阴影 351

11.1粒子系统 352

11.1.1粒子系统的主要模块 352

11.1.2粒子系统的模拟过程 354

11.1.3雾效模拟示例 354

11.1.4雪效模拟示例 357

11.1.5雨效模拟示例 359

11.1.6爆炸模拟示例 360

11.1.7自定义粒子系统示例(一) 362

11.1.8自定义粒子系统示例(二) 365

11.1.9粒子系统的读取与保存 369

11.2 OSG阴影 372

11.2.1 osgShadow库 372

11.2.2阴影示例 374

第12章 osgFX扩展库及osgsim扩展库 381

12.1 osgFX扩展库 382

12.1.1异性光照特效 382

12.1.2异性光照特效示例 383

12.1.3凹凸贴图特效 384

12.1.4凹凸贴图特效示例 386

12.1.5卡通渲染特效 387

12.1.6卡通渲染特效示例 388

12.1.7刻线特效 390

12.1.8刻线特效示例 390

12.1.9立方图镜面高光特效 392

12.1.10立方图镜面高光特效示例 393

12.2 osgSim扩展库 394

12.2.1 DOFTransform类 394

12.2.2 osgSim::Impostor类 397

12.2.3 osgSim::ImpostorSprite类 398

12.2.4 osgSim::MultiSwitch类 399

12.2.5 osgSim::OverlayNode类 400

12.2.6 osgSim::VisibilityGroup类 402

第13章 OSG地形与地理信息 403

13.1 VirtualPlanetBuilder 404

13.1.1 VirtualPlanetBuilder简介 404

13.1.2编译与参数说明 407

13.1.3使用实例及说明 411

13.2海量地形生成解决方案 412

13.3 osgGIS 414

13.3.1 osgGIS简介 414

13.3.2 osgGIS编译 414

13.4 osgGIS实用工具 415

13.4.1 osggis_build 415

13.4.2 osggis_mapper 416

13.4.3 osggis_makelayer 416

13.4.4 osggis_simple 418

13.4.5 osggis_viewer 419

13.5 GIS坐标系 419

13.5.1 GIS中坐标系的定义 419

13.5.2地理坐标系与投影坐标系 420

参考文献 423

返回顶部