因爲我最近做的一個東西要用到OSG,就開始學習它,首先是搭建運行環境,在這裏分享一下初步成果:
一.相關準備
a) Osg源碼
當前最新版:OpenSceneGraph的3.0.0.zip
下載鏈接:
b) Osg第三方庫
http://members.iinet.net.au/~bchrist/3rdParty_VC10_x86_x64.zip
c) 數據包
當前最新版:OpenSceneGraph-Data-3.0.0.zip
下載鏈接:
d) 安裝源碼工具
cmake-2.8.4-win32-x86.exe。
二、編譯準備
爲了編譯的順利進行,將下載的文件組織如下:
在C盤建立一個OSG的文件夾,然後其他文件如下放置:
D:\OSG\OpenSceneGraph:源碼解壓後放於此
D:\OSG\3rdParty:第三方依賴庫解壓後放於此
D:\OSG\OpenScenGraph-Data-3.0.0.zip:數據包解壓後放於此。
(各位讀者可以根據自己的情況選擇安裝路徑)
三.安裝源碼
a) 安裝CMake之後,打開CMake -gui.exe
b) 源碼OpenSceneGraph-3.0.0.zip解壓後,將裏頭的CmakeLists.txt,拖到Cmake界面。
如圖:
c) 點擊Configure,選擇Visual Studio 10(x86),finish後進行相關設置:
- <span style="font-size:18px;">
- </span><strong><span style="font-size:18px;"> ACTUAL_3RDPARTY_DIR值D:/OSG/3rdParty;
- BUILD_OSG_EXAMPLES :ON
- CMAKE_INSTALL_PREFIX:D:/OSG/OpenSceneGraph/;</span></strong><span style="font-size:18px;">
- </span>
如下圖:
e)點擊Configure後,將Advanced打勾,將BUILD_MFC_ EXAMPLE設置爲on,然後進行最後一次的Configure配置。
f)點擊Generate,自此建構完成。
四.編譯階段
a) 用VS2010打開OpenSceneGraph.sln(此文件在D:\OSG\OpenSceneGraph下),生成-批生成,對All_BUILD進行生成,選擇(Debug和Release兩個版本),這段編譯時間是很長的,估計4-5個小時。
b) 第1步完成後,再對INSTALL也進行相應生成編譯。這段時間相應會短一點。
五.數據轉移
在C盤新建OSG文件夾。
將D:\OSG\OpenSceneGraph下的bin,include,lib文件夾拷貝到C:\OSG下,將D:\OSG\OpenSceneGraph-Data-3.0.0下的數據拷貝到C:\OSG\data下;這幾個文件是OSG需要的。
六.環境變量設置
對系統變量設置如下:
- <span style="font-size:18px;"> </span><strong><span style="font-size:18px;"> OSG_FILE_PATH: C:\OSG\data
- PATH:C:\OSG\bin;</span></strong>
可在命令行進行測試osgversion,osglogo,osgviewer cow.osg。
七.新建OSG項目測試
a) 在VS2010下新建WIN32控制檯程序
b) 添加一個cpp
c) 輸入以下代碼:
- <strong><span style="font-size:18px;">#include<osgViewer/Viewer>
- #include<osgDB/ReadFile>
- int main( int argc, char **argv )
- {
- osgViewer::Viewer viewer;
- viewer.setSceneData( osgDB::readNodeFile( "cow.osg" ) );
- return viewer.run();
- }</span></strong>
d)右鍵項目,選擇“屬性”,選擇“VC++目錄”,
在包含目錄添加:C:\OSG\include
在庫目錄添加:C:\OSG\lib.
e) 打開項目屬性的鏈接器,輸入裏,附加依賴項加上:
- <strong><span style="font-size:18px;">OpenThreadsd.lib
- osgd.lib
- osgDBd.lib
- osgUtild.lib
- osgGAd.lib
- osgViewerd.lib
- osgTextd.lib</span></strong><span style="font-size:18px;">
- </span>
f)運行,效果如下圖: