这两天心血来潮,突然想学点OSG的东西,其实OSG本身是挺好用的,就是编译安装有点让人头疼,佛祖保佑,终于编译成功了,为便来着参考,将过程记录如下:

 

一、准备工作

下载相关的工具软件:

1, 最新版的OSG库:OpenSceneGraph-2.8.2.zip

2, 安装源代码所需要的工具:cmake-2.6.4-win32-x86.zip

3, Windows支持的图像库:3rdParty_Win32Binaries_vc90sp1.zip,因为我用的是vc2008,如果用vc05应该有其它针对的版本

4, 数据文件包:OpenSceneGraph-Data-2.8.0.zip

 

二、编译准备

为了编译的顺利进行,将下载的文件组织如下:

C盘建立一个OSG的文件夹,然后其他文件如下放置:

C:\OSG\OpenSceneGraph(放置OSG最新库文件)

C:\OSG\3rdParty(放置图像库)

C:\OSG\data(放置OpenSceneGraph-Data-2.8.0.zip的加压数据),主要用于examples演示

 

三、cmake生成Project & Solution files

1, C:\OSG\OpenSceneGraph下新建两个文件夹,分别命名为build, bin,用于放置编译文件

2, 解压cmake-2.6.4,打开bin/CMakeSetup.exe,C:\OSG\OpenSceneGraph下的CMakeLists.txt拖到界面上,

3, 设置where is the source code 为:C:\OSG\OpenSceneGraph

where to build thebinnaries.为:C:\OSG\OpenSceneGraph\build

4, 设置相关的cache value参数,这里主要设置的参数包括:

ACTUAL_3RDPARTY_DIR,:设置为前面的C:\OSG\3rdParty

BUILD_OSG_EXAMPLES :ON,即编译实例

 CMAKE_INSTALL_PREFIX:C:/OSG/OpenSceneGraph/bin ,设置编译成功后,相关的库文件存放的地址,切勿忘记

5, 点击configure按钮,进行第一次配置

6, 第一次配置完成后,将右上角的show advanced values 复选框选择上,将mfc example 设置为on

7, 点击configure按钮进行第二次配置,ok按钮变为可用,就可点击ok按钮开始生成

 

 

四、VS下编译库文件

1,到C:\OSG\OpenSceneGraph\build文件夹下打开OpenSceneGraph.sln,选择对于的版本(debug,release

2,按F7生成,生成完成后,在解决方案栏下找到install工程,点击右键->build

 

五、设置环境变量

右击我的电脑->属性->高级->环境变量,添加相应的环境变量如下:
用户变量:OSG_FILE_PATH = C:\OSG\data

系统变量path下添加 ;C:\OSG\OpenSceneGraph\bin\bin ,主要用于dll的调用

 

六、设置VS

打开VS2008,工具->选项->项目解决方案->VC++目录,分别设置OSG的头文件及库文件

包含文件里添加:C:\OSG\OpenSceneGraph\bin\include

库文件添加:C:\OSG\OpenSceneGraph\bin\lib

 

七、新建OSG项目测试

1 打开VS2008,创建一个WIN32控制台程序。

2)注意:请选空项目,在源程序中添加一个新项,添加一个C++文件(cpp)。

3)在这个CPP文件中输入代码:

        #include <osgViewer/Viewer>
        #include <osgDB/ReadFile>

        int main( int, char ** )
        {
               osgViewer::Viewer viewer;
               viewer.setSceneData( osgDB::readNodeFile( "
fountain.osg" ) );
               return viewer.run();
        }

4)打开项目属性的链接器,输入里加上:

OpenThreadsd.lib

osgd.lib

osgDBd.lib

osgUtild.lib

osgGAd.lib

osgViewerd.lib

osgTextd.lib

注意:我这里编译的是debug版本,所以编译的库都有的命名为*d.lib,如果是release版本,这里要略做修改。

 

5)运行程序,一个喷泉三维效果:


 

资料参考:

1, http://www.openscenegraph.org/projects/osg/wiki/Support/PlatformSpecifics/VisualStudio

2, http://ydwcowboy.blog.163.com/blog/static/25849015200951911248687/