一、準(zhǔn)備安裝資料包程序(到官方網(wǎng)站都可以下載)
下載相關(guān)的工具軟件:
1、 最新版的OSG庫:OpenSceneGraph-2.8.2.zip。
2、 安裝源代碼所需要的工具:cmake-2.6.4-win32-x86.zip。
3、 Windows支持的圖像庫:3rdParty_Win32Binaries_vc90sp1.zip,因?yàn)槲矣玫氖?/span>VS2008,如果用VS2005應(yīng)該有其它針對(duì)的版本
4、 數(shù)據(jù)文件包:OpenSceneGraph-Data-2.8.0.zip
二、編譯準(zhǔn)備
為了編譯的順利進(jìn)行,將下載的文件組織如下:
在E盤建立一個(gè)OSG的文件夾,然后其他文件如下放置:
E:\OSG\OpenSceneGraph(放置OSG最新庫文件,將OpenSceneGraph-2.8.2.zip解壓到這個(gè)文件夾下)
E:\OSG\3rdParty(放置圖像庫,將3rdParty_Win32Binaries_vc90sp1.zip解壓到這個(gè)文件夾下)
E:\OSG\data(放置OpenSceneGraph-Data-2.8.0.zip的解壓數(shù)據(jù)),主要用于examples的演示。
三、用Cmake生成Project & Solution files
1、 在E:\OSG\OpenSceneGraph下新建兩個(gè)文件夾,分別命名為build、 bin,用于放置編譯文件
2、 解壓cmake-2.6.4,打開bin/CMakeSetup.exe,將E:\OSG\OpenSceneGraph下的CMakeLists.txt拖到界面上,點(diǎn)擊下方按鈕Configure。
3、 設(shè)置where is the source code 為:E:\OSG\OpenSceneGraph
和where to build thebinnaries.為:E:\OSG\OpenSceneGraph\build
4、 設(shè)置相關(guān)的cache value參數(shù),這里主要設(shè)置的參數(shù)包括:
ACTUAL_3RDPARTY_DIR:設(shè)置為前面的 E:\OSG\3rdParty
BUILD_OSG_EXAMPLES :ON,即編譯實(shí)例
CMAKE_INSTALL_PREFIX:E:/OSG/OpenSceneGraph/bin ,設(shè)置編譯成功后,相關(guān)的庫文件存放的地址,切勿忘記
5、 點(diǎn)擊Configure按鈕,進(jìn)行第一次配置。
6、 第一次配置完成后,將右上角的Show Advanced Values 復(fù)選框選擇上,將MFC EXAMPLE 設(shè)置為ON。
7、 點(diǎn)擊Configure按鈕進(jìn)行第二次配置,OK按鈕變?yōu)榭捎茫涂牲c(diǎn)擊OK按鈕開始生成。

四、在VS2008下編譯庫文件
1、到 E:\OSG\OpenSceneGraph\build 文件夾下打開 OpenSceneGraph.sln,選擇對(duì)于的版本(Debug、Release)。
2、按 F7 生成,生成完成后,在解決方案欄下找到 INSTALL 工程,點(diǎn)擊右鍵->build(生成)。
五、設(shè)置環(huán)境變量
右擊我的電腦->屬性->高級(jí)->環(huán)境變量,添加相應(yīng)的環(huán)境變量如下:
用戶變量:OSG_FILE_PATH = E:\OSG\data
系統(tǒng)變量path下添加 ;E:\OSG\OpenSceneGraph\bin\bin ,主要用于dll的調(diào)用。
六、設(shè)置VS2008
打開VS2008,工具->選項(xiàng)->項(xiàng)目解決方案->VC++目錄,分別設(shè)置OSG的頭文件及庫文件
包含文件里添加:E:\OSG\OpenSceneGraph\bin\include
庫文件添加:E:\OSG\OpenSceneGraph\bin\lib
七、新建OSG項(xiàng)目測(cè)試
(1) 打開VS2008,創(chuàng)建一個(gè)WIN32控制臺(tái)程序。
(2)注意:請(qǐng)選空項(xiàng)目,在源程序中添加一個(gè)新項(xiàng),添加一個(gè)C++文件(cpp)。
(3)在這個(gè)CPP文件中輸入代碼:
#include <osgViewer/Viewer>
#include <osgDB/ReadFile>
int main( int, char ** )
{
osgViewer::Viewer viewer;
viewer.setSceneData( osgDB::readNodeFile( "fountain.osg" ) );
return viewer.run();
}
(4)打開項(xiàng)目屬性的鏈接器,輸入里加上:
OpenThreadsd.lib
osgd.lib
osgDBd.lib
osgUtild.lib
osgGAd.lib
osgViewerd.lib
osgTextd.lib
注意:我這里編譯的是debug版本,所以編譯的庫都有的命名為*d.lib,如果是release版本,這里要略做修改。
(5)運(yùn)行程序,一個(gè)噴泉三維效果:

資料參考:
1、http://www.cnblogs.com/yanhuiw/archive/2009/09/16/1567626.html
2、http://wenku.baidu.com/view/1e6f09284b73f242336c5f17.html
3、http://wenku.baidu.com/view/0e0dfbf34693daef5ef73da2.html
轉(zhuǎn)自CSDN博客