OpenSceneGraph三维渲染引擎编程指南

出版时间:2010-1  出版社:清华大学出版社  作者:肖鹏,刘更代,徐明亮 编著  页数:421  
Tag标签:无  

前言

  OpenSceneGraph(OSG)场景图形系统是一个基于工业标准OpenGL的软件接口,它让程序员能够更加快速、便捷地创建高性能、跨平台的交互式图形程序。本书是一本基于OSG 2.8版本的编程入门指南书籍,也通用于OSG 2.x系列及以后版本的开发。  从OSG正式发布以来,OSG可以阅读的文档资料只有源代码。值得庆幸的是,OSG的源代码中提供了一些相关的程序示例,通过它们,用户可以学习如何使用OSG编程实现虚拟系统软件的功能。分析示例程序很艰辛,并非一朝一夕的事情。笔者通过对OSG大量示例程序和源代码的分析及丰富的实际应用经验,逐渐对OSG的开发流程及核心有了一定的了解。随着OSG的不断发展,越来越多的人开始关注、学习OSG和应用OSG开发,但由于OSG本身文档资料缺乏,作为初学者,很难在短时间内通过分析示例程序和源代码得到提高。笔者长期置身于OSG开发,作为OsgChina(http://www. OsgChina.org)中国官方网站管理员,同时也是OSG国内各大论坛OSG版面的版主,在与开发者交流的过程中,发现初学者普遍存在入门难、应用开发难等问题,于是写了《OpenSceneGraph三维渲染引擎编程指南》一书。  本书首先介绍了OSG的历史和开源组织、如何获取和正确安装OSG以及一些简单示例程序的运行;然后深入探讨了一些OSG的数学基础、内部管理机制和实用技术,主要包括坐标系统、内存管理、场景树结构、图形节点的概念和分类、OSG的状态属性和模式控制、纹理映射、光照和材质、I/O接口、场景渲染控制、更新回调、文字、动画阴影及粒子系统添加等功能的具体介绍;最后探讨了关于OSG地形与地理信息的应用,主要包括VirtualPlanetBuilder和OSGGIS的使用方法,还提出了关于大规模地形渲染的解决方案。  通过本书,读者不但可以学习到OSG在虚拟现实开发中最重要、最实用的知识和技能,还可学习到一些开源软件使用的基本技法。在学习完本书后,读者将会对OSG有一个深入全面的了解,同时也将具备开发一个基于OSG的虚拟现实系统的能力。  本书参阅了国内外大量的最新图形开发和虚拟现实实用技术的资料,所讲解的内容都是基于图形开发的最新方法和技术。书中提供了大量丰富、新颖、实用的原创示例程序,并经过严格的测试,可以完全应用到实际工程或者系统开发中。由于作者能力有限,书中难免存在错误和不足之处,恳请广大读者批评指正。同时,欢迎到OsgChina中国官方讨论区(http://bbs.OsgChina.org)发帖提问,笔者会尽量在第一时间回复相关的问题。  本书能够顺利完成并出版,得到了这些人大量的帮助:  感谢编辑,他对本书倾注了大量的心血,给了我巨大的帮助和指导。  感谢我的师兄刘更代和徐明亮,没有他们,难以想象这本书什么时候才能完成并出版。  感谢我的师兄杨石兴和曹明亮,他们引导我进入OSG的开发领域。  感谢我的爸爸、妈妈和姐姐,他们给了我生活自主的空间,让我能够尽情地飞翔在自己的天空。  感谢我的女友雄英,她每天都给我很多鼓励和帮助。

内容概要

本书是一本全面深入介绍OpenSceneGraph(OSG)基础及核心API函数的入门教程。OpenSceneGraph(OSG)是一个基于工业标准OpenGL跨平台的三维开源场景图形系统应用程序开发接口(API)。作为一个高性能的图形开发引擎,它在3D程序开发中扮演着重要的角色。  本书按照OSG的设计结构体系,逐一深入讨论OSG的各个功能模块。首先介绍了OSG的历史和开源组织,以及配置开发环境;然后深入探讨OSG的核心库、NodeKits工具库、OSG插件库、互操作库及扩展库等,重点分析了如何将OSG集成到用户应用开发程序的核心功能及各种应用技术,主要包括场景组织和管理、场景数据优化、交互操作及数据实时动态更新等技术;最后探讨了关于OSG地形与地理信息的应用。  本书要求读者有比较好的C++基础知识和一些3D数学基础知识,适合所有对OpenGL和OSG编程感兴趣的读者。

书籍目录

第1章  OpenSceneGraph概述   1.1  OpenSceneGraph简介    1.1.1  什么是OpenSceneGraph    1.1.2  OpenSceneGraph的历史和发展    1.1.3  OSG中国    1.1.4  OSG组成模块   1.2  开发的预备知识   1.3  OSG的安装及编译    1.3.1  OSG的获取及安装    1.3.2  编译OSG    1.3.3  OSG邮件列表   1.4  OSG基础    1.4.1  开发环境设置    1.4.2  OSG中的HelloWorld工程    1.4.3  OSG实用工具——场景浏览器osgViewer    1.4.4  OSG实用工具——版本信息查看器osgVersion    1.4.5  OSG实用工具——场景图形压缩归档工具osgArchive    1.4.6  OSG实用工具——数据转换工具osgConv  第2章  OpenSceneGraph数学基础   2.1 坐标系统   2.2 坐标系变换    2.2.1 世界坐标系-物体坐标系变换    2.2.2 物体坐标系-世界坐标系变换    2.2.3 世界坐标系-屏幕坐标系变换   2.3 向量、矩阵及四元数    2.3.1 向量    2.3.2 矩阵    2.3.3 四元数    2.3.4 矩阵与四元数之间的转换  第3章  场景的组织及渲染   3.1  OSG场景树    3.1.1  OSG场景树节点    3.1.2  OSG中的父节点与子节点   3.2  Geode    3.2.1 Billboard节点    3.2.2 布告板示例   3.3  Group    3.3.1 位置变换节点    3.3.2 位置变换节点示例    3.3.3 矩阵变换节点    3.3.4 矩阵变换节点示例    3.3.5 自动对齐节点    3.3.6 自动对齐节点示例    3.3.7 开关节点    3.3.8 开关节点示例    3.3.9 细节层次节点    3.3.10 细节层次节点示例    3.3.11 分页细节层次节点    3.3.12 分页细节层次节点示例      3.3.13 替代节点    3.3.14 替代节点示例    3.3.15 遮挡裁剪节点    3.3.16 遮挡裁剪节点示例    3.3.17 坐标系节点    3.3.18 坐标系节点示例   3.4 场景中节点的拷贝——osg::CopyOp类    3.4.1  自定义场景拷贝示例(一)    3.4.2  自定义场景拷贝示例(二)  第4章  OSG中几何体的绘制  第5章  渲染状态、纹理与光照  第6章  文件的读写  第7章  场景图形的工作机制  第8章  场景图形管理  第9章  OSG文字  第10章  OSG动画与声音  第12章  osgFX扩展库及osgSim扩展库  第13章  OSG地形与地理信息  参考文献  

章节摘录

  早在1997年,DonBums便作为软件设计顾问受雇于SiliconGraphics(SGI),他在业余时间还喜欢滑翔运动。正因为对计算机图形和滑翔机同样的热衷及对尖端渲染设备的了解,他使用Performer场景图形(SGI专有)系统设计了一套基于SGIOnyx的滑翔仿真软件。  由于受到其他滑翔爱好者的鼓励,Don开始尝试使用Linux上的Mesa3D和3dfx的Voodoo设备,以开发基于更多硬件平台的仿真软件。当这套软件开始支持OpenGL时,场景图形的概念还未能应用于Linux。为了填补这一空缺,Don开始编写一套简单的、类似于Performer的场景图形系统,开发强调朴素且易用,它满足了当时人们对于场景图形系统的需求,也使Don的滑翔仿真软件能够运行于低成本的Linux系统。  到了1998年,Don在滑翔爱好者的邮件组中遇到了Robe~Osfield。那时Robert在MidlandValleyExploration工作,那是一个来自苏格兰格拉斯哥的油气公司。Robert同样对计算机图形学和可视化技术有着浓厚的兴趣。两人开始合作,对仿真软件进行改善。Robert倡导开源,并提议将SG作为独立的开源场景图形项目继续开发,并由自己担任项目主导。项目的名称改为OpenSceneGraph,当时共有9人加入了OSG的用户邮件列表。  2000年底,BredeJohansen为OpenSceneGraph作出了第一份贡献,即添加了OSG的OpenFlight模块。  当时他在挪威孔斯贝格的KongsbergMaritime船舶仿真公司工作,该公司后来设计了基于OSG的SeaViewR5视觉系统。  同样在2000年,Robe离开了原来的工作单位,作为OpenSceneGraph的专业服务商开始全职进行OSG的开发工作。在这段时间,他设计并实现了今天的OSG所使用的许多核心功能,并且是在完全没有客户和薪酬的情况下完成的。Don到了Keyhole数字地图公司(现在是Google的GoogleEarth部门),于2001年辞职,他也组建了自己的公司——AndesComputerEngineering,位于加利福尼亚州的圣何塞,公司成立后继续进行OSG的开发工作。第一届OpenSceneGraph“同好”会在SIGGRAPH2001举行,只有12个人参加。

编辑推荐

  全面深入介绍opensceneGraph基础知识及核心API函数。  逐一探讨PpensceneGraph中的各个功能模块以及配置开发环境。  提供大量的示例程序演示、源代码分析以及丰富的实际开发经验。  读者将具备开发一款基于OpenSceneGraph的虚拟现实系统的能力。  拥有丰富的社区资源和强大的网络支持,以方便读者进一步的学习和交流。  基于工业图形标准OpenGL的高层次三维渲染引擎。  深入讲解OpenSceneGraph)~染引擎的内部实现及其应用。  详细介绍OpenSceneGraph渲染引擎的组织架构及其实现流程。  OpenGL架构评估编委会(ARB)独立撰稿人PauIMartz先生强力推荐。  拥有丰富的社区资源和强大的网络支持,以方便读者进一步的学习和交流。

图书封面

图书标签Tags

评论、评分、阅读与下载


    OpenSceneGraph三维渲染引擎编程指南 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7