没有合适的资源?快使用搜索试试~ 我知道了~
首页OSG新手入门教程:2.20版设计指南
OSG新手入门教程:2.20版设计指南
需积分: 11 3 下载量 148 浏览量
更新于2024-07-19
收藏 4.37MB PDF 举报
"《OSG程序设计教程》是一本针对OpenSceneGraph(简称OSG)新手的入门指南,由杨石兴编著并可在www.osgChina.org网站获取。该PDF资料的特点在于添加了目录,旨在提供清晰的学习路径。书中详尽讲解了OSG的基础概念、核心功能和编程技巧,特别适合那些希望深入理解和实践OSG编程的读者。 第1部分着重于FreeSouth教程,这可能是作者对自己作品的介绍,或者是一节关于自由学习OSG的章节,可能包括了从安装配置到基本场景构建的基础内容。杨石兴分享了他的个人经历,提到这本书是在他的朋友Array的鼓励下撰写,尽管Array的全书项目遇到了暂时的困难,但石兴为了填补市场空白,决定编写适应OSG 2.20版本的入门教材,以激发更多人对OSG的兴趣。 书中不仅包含了基础教程,还有作者对自身OSG使用经验的回顾,从零五年的懵懂无知,到零七年的实际应用,展示了学习曲线和个人成长的过程。作者承认自己在OSG领域的经验有限,但由于市面上关于OSG的资源稀缺,他期望通过这本书为初学者提供宝贵的参考,弥补市场上知识的不足。 值得注意的是,书中的部分内容可能是对特定对象的献词,如献给作者的挚爱女孩XiaoNan,以及对读者的道歉,表达了作者对书籍质量可能无法满足所有人期待的忧虑。尽管如此,作者对于完成此书的热情和对OSG社区的贡献,使得《OSG程序设计教程》成为了一个有价值的资源,特别是对于那些寻求实用教程和技术支持的新手而言。"
资源详情
资源推荐
OpenSceneGraph 程序设计 www.osgChina.org 第一章:绪论
16
图 1.2 下载OSG安装包的界面
OSG的安装包一般都会至少在环境变量中添加两个值。一个是path,它会指向你安装目录的bin文件夹,另外
一个就是OSG_FILE_PATH它会指向你安装目录的data文件夹。有些人对path路径竟然没有一点儿的概念,对
此感觉到很迷惑。在安装过后点击我的电脑[右键]->属性->高级->环境变量后,可以看到如图1.3所示环境变
量:
图 1.3 安装 OSG 后的环境变量
在这里要解释一下环境变量的作用,环境变量是提供一个标识,该标识下对应一个或一些路径,一些应用
程序会识别该标识来到其所指的路径下去找所需要的应用程序或者文件等等。最常见的比如,在开始菜单
中点击运行,输入 cmd 或者 regedit 等等,它会打开命令提示符或者注册表编辑器,这时你在 cmd 中输入
path,会列出一些目录,你肯定可以在这些目录下找到 cmd 和 regedit 的 EXE 可执行文件。具体是在 windows
的 system32 下,这就是说系统会识别 path 标识,当应用程需要一些资料时会自动到该目录下去寻找。
OSG_FILE_PATH 也是一种标识,指向 OSG 的模型目录,只不过这个标识只有 OSG 的应用程序可以识别,别
OpenSceneGraph 程序设计 www.osgChina.org 第一章:绪论
17
的程序一般用不到它而已。你也可以定义一些类似 OSGHOME, SDLROOT 等等环境变量,在一些路径当中通
过使用$OSGHOME 或者$SDLROOT 等等来使用它。
因此安装包会为你设置好两个环境变量值,如果你的模型非常多,是分开存放的,你可以在 OSG_FILE_PATH
中添加多个路径并用;[分号]隔开。
在安装完 OSG 的安装包后,你可以通过执行安装包下的”运行例子.bat[runexample.bat]”来查看一下安装是否
正确,一般在运行程序的过程中点击 S 键查看帧速看字体是否正常,以及查看执行的 CMD 窗口看是否出现
未找到插件的警告等等。这样 OSG 就已经被安装到 WINDOWS 平台上面了。
如果是 LINUX 平台,一般需要自己编译,当然官方也会有与 OSG 相关的源,不过版本往往根不上,国内基
于 LINUX 做 OSG 开发的并不多,再说一个笑话,虽然人们在无数次的诅咒 Visual Stdio 和它的 MFC 库,但是
人们依然在使用它,一边疯狂的骂一边使劲的用。
您可以到 bbs.osgChina.org 上查看最新安装包的情况。您也可以到 www.openscenegraph.org 上查看最新的发
布情况,但是最快的消息来自 SVN,所以如果您想特别与时俱进就不得不时刻关注 SVN 的最近更新。
1.3.2 编译 OSG
有很多人不会编译 OSG,可能是由于不是太了解开源引擎的特点,基于 LINUX 的引擎往往都延续了开源精
神,像 OSG,QT 等等这些库往往都需要自己编译后才可以使用。当然也会有安装包,而且这些安装包会从
最大程序上满足人们的要求,但是事情往往是发生在小程度上,在这里试举一二:首先安装包的制作过程
是制作安装包的人在自己的机器的编完成后,然后打包成包装在您的机器上,这样如果两台机器配置不同,
当然这造成的影响很小,但是比如显示卡不相同,这时就无法判断在你的机器上是否也能很好的运行它的
安装包。其次使用安装包并不能完成一些功能,比如你想使用 QuickTime 的最新插件,这样安装包可就帮不
了你了,这就需要自己编译。三来,自己编译用起来感觉是不同的,我建议就算使用安装包也要自己会编
译才行。
在这里我简单介绍一下最小编译过程。首先必须下载需要的所有资源。
最重要的资源当然是 OSG 的源文件,最新的源文件往往可以从 www.openscenegraph.org 上下载到,一般的
发布消息都会被当作头条放在主页上,历史的版本也会保留在 history 的版面当中,可以通过查看下载
[http://www.openscenegraph.org/projects/osg/wiki/Downloads]版面来下载历史版本的源文件。在这里我并建
议新手使用 SVN,因为抽取文件是个漫长的过程,可能是由于网速的原因,所以有些文件可能并未被抽取
到而发生一些莫明其妙的错误。
其二是最小的第三方依赖,这些关乎 OSG 的正常运行过程,所以是必须下载的,里面包含有 tiff, jpeg, libungif,
libpng, freetype, 等等 非 常 重要 的 库 。可 以 从 OSG 官 方网 站 的下 载 第 三方 库 的 专用 版 面 里下 载 到
[http://www.openscenegraph.org/projects/osg/wiki/Downloads/Dependencies],这里需要提醒的是,里面的版
本可能很老,在最新版本中用到的最新库肯定是需要最新的插件的,所以如果某个插件不合要求,就必须
到该插件的官网或者某些地方找新版本了。下载后解压一下,最好把源文件与它都放在同一个目录当中,
不能乱。
其三虽然是可有可无的,但是为了最好的运行官方的示例,还是要带上的,就是官方的数据文件,在平时
OpenSceneGraph 程序设计 www.osgChina.org 第一章:绪论
18
做试验的时候我们也会多多使用里面的数据的,比如 glider.osg 是个小飞机,非常讨人喜欢。下载数据文件
可以到下面的链接:[http://www.openscenegraph.org/projects/osg/wiki/Downloads/SampleDatasets]
紧接着就是你需要的库了,你可能需要 QT 界面呀 QuickTime 呀等等,根据自己的需要,值得一提的是有些
库的版本非常的讲究,否则会出一大堆的错误,而且无从改起,我曾经把所有的库都编译过了,证明市面
上还是可以找到大多数的东西的。
最后就是编译的工具了,以 Visual Stdio2005 为例,首先下载并安装上。然后下载安装 CMAKE,随书光盘中
有 CMAKE2.4,也可以到 CMAKE 的官方网站:http://www.cmake.org/HTML/index.html 上下载最新版本。
下面是实践环节了,首先打开 CMAKE,选择源文件的目录,就是下载的 OSG 源文件的解压后的目录,注意
要选择里面有代码的,不要选择了顶层文件夹,如图 1.4 所示:
图 1.4 CMAKE 的选择源文件路径框
然后选择在哪里编译 OSG,也就是启动文件的目录,这里会存放启动的文件。在 OSG1.20 及其以前版本中
是不用 CMAKE 进行什么操作的,启动文件就在源文件当中,但是其后就不是这样了。
这两项都配置完成后点击 configure 后,选择一个编译环境,就可以配置 CMAKE 比较细的选项了。这里列表
举一下里面各选项的意思,如表 1。
表 1 CMAKE 选项表
CacheValues
说明
ACTUAL_3DPARTY_DIR
指向第三方依赖的目录,注意有个默认值,一般是不对的,
要根据自己的实际情况,在上面也说了,这个值是必须要指
定的。
BUILD_OSG_APPLICATIONS
是否编译 OSG 的可执行文件,里面包含了四个极其重要的
程序,分别是:osgarchive, osgconv, osgversion, osgviewer 在
后面会讲解它们的使用方法。
BUILD_OSG_EXAMPLES
是否编译 OSG 的默认例子,这个是一定要选 ON 的,例子很
OpenSceneGraph 程序设计 www.osgChina.org 第一章:绪论
19
重要。
BUILD_OSG_PLUGINS
是否编译 OSG 的插件,要选择 ON。
BUILD_OSG_WRAPPERS
是否要编译 OSG 的相关扩展。
CMAKE_BACKWARDS_COMPATIBILITY
CMAKE 的版本信息
CMAKE_INCLUDE_PATH
包含文件目录,可以不指定,编译完成后复制。
CMAKE_INSTALL_PREFIX
安装目录,默认值为 C:/Programs Files/OpenSceneGraph/
CMAKE_LIBRARY_PATH
库文件目录,可以不指定,编译完成后复制。
CMAKE_PREFIX_PATH
当前目录,可以不指定。
COLLADA_INCLUDE_DIR
Collada 库的包含目录,没有安装 colloada 可以不提定,后
面的雷同。
COLLADA_LIBRARY
Collada 库的库目录,不需要可以不指定。
DYNAMIC_OPENSCENEGRAPH
默认开启
DYNAMIC_OPENTHREADS
默认开启
EXECUTABLE_OUTPUT_PATH
可执行文件输出目录,可以默认为空会放在 bin 下。
FLTK_GL_LIBRARY
FLTK 的 GL 库,可以不指定
FLTK_INCLUDE_DIR
FLTK 的头文件目录
FLTK_LIBRARY
FLTK 的库文件,可以不指定
FREETYPE_INCLUDE_DIR_freetype2
如果第三方依赖找到正确,则此目录会有找到信息,否则重
新配置第三方依赖,这是字体库,必须需要。
FREETYPE_INCLUDE_DIR_ft2build
FREETYPE 的包含目录中的 ft2build 目录
FREETYPE_LIBRARY
FREETYPE 的库目录
GDAL_INCLUDE_DIR
GDAL 的包含文件目录
GDAL_LIBRARY
GDAL 的库目录
GIFLIB_INCLUDE_DIR
GIF 的包含目录
GIFLIB_LIBRARY
GIF 的库目录
INVENTOR_INCLUDE_DIR
INVENTOR 的包含目录,可以不指定。
INVENTOR_LIBRARY
INVENTOR 的库目录,可以不指定
INVENTOR_LIBRARY_DEBUG
INVENTOR 的 D 版库目录,可以不指定
JASPER_INCLUDE_DIR
JASPER 的包含目录,可以不指定
JASPER_LIBRARY
JASPER 的库目录,可以不指定
LIBRARY_OUTPUT_PATH
库输出目录,可以不指定,默认将为 LIB
OPENVRML_INCLUDE_DIR
OPENVRML 的包含目录,可以不指定
OPENVRML_LIBRARY
VRML 的库目录,可以不指定
OPENVRML_LIBRARY_DEBUG
VRML 的调试版库目录,可以不指定
OSG_GLU_TESS_CALLBACK_TRIPLEDOT
默认关闭则可
PERFORMER_INCLUDE_DIR
Performer 的包含目录,可以不指定
PERFORMER_LIBRARY
Performer 的库目录,可以不指定
QT_QMAKE_EXECUTEABLE
QT 的 QMAKE 可执行目录
QUICKTIME_INCLUDE_DIR
QuickTime 的包含目录,可以不指定
QUICKTIME_LIBRARY
QuickTime 的库目录,可以不指定
SDLMAIN_LIBRARY
SDL 的 sdlmain.lib 库目录,可以不指定
SDL_INCLUDE_DIR
SDL 的包含文件目录,可以不指定
TIFF_INCLUDE_DIR
TIFF 图的包含目录
TIFF_LIBRARY
TIFF 图的库目录
OpenSceneGraph 程序设计 www.osgChina.org 第一章:绪论
20
USE3DPARTY_BIN
是否使用第三方依赖,必须开启。
XINE_INCLUDE_DIR
XINE 的包含目录,可以不指定
XINE_LIBRARY
XINE 的库目录,可以不指定
ZLIB_INCLUDE_DIR
ZLIB 的包含目录
ZLIB_LIBRARY
ZLIB 的库目录
WxWidgets_LIB_Dir
Wx 的库目录
WxWidgets_ROOT_DIR
Wx 的根目录
有的选项是二级联动的,可能选了某一个之后才会出现,这时要根据字面意思看看是否需要开启,选择完
成后再点击 Configure,然后看看有什么新项出来没有,新项会以红色显示,如果出现了则看看是否需要改动
默认值。比如当把:BUILD_OSG_EXAMPLES 设置成 ON 后,点击 Configure 会出现 BUILD_MFC_EXAMPLE 的小
项,选择 ON,然后再点击 Configure,到全部灰色,再看看是否需要改动,就可以点击 OK 了,点击 OK 后
就会生成启动文件了,如图 1.5。
图 1.5 OSG 的启动文件目录中的启动文件
到你输入的启动文件目录中就可以看到亲切的生成的 VS 的启动文件,打开,编译运行就可以了,里面会有
一些别的版本,建议只运行 ALL_BUILD 的 Debug 与 Release 版本就可以了,如图所示,选择 VS 菜单中:生
成->批生成,照图 1.6 选择。
图 1.6 生成时的选项
从字面意思来看别的两个版本分别是最小发布版与带调试信息的发布版本。
在这里要提醒一下初学者,第一次编译成功几乎是不怎么可能的。一来是智者百虑,必有一失,所以再小
剩余280页未读,继续阅读
黑胡椒和盐
- 粉丝: 16
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功