歡迎訪問我的新博客:http://www.milkcu.com/blog/
原文地址:http://www.milkcu.com/blog/archives/1392531060.html
Windows環境設置
下載類庫文件
源碼文件http://www.openscenegraph.org/
二進制文件http://openscenegraph.alphapixel.com/osg/downloads/free-openscenegraph-binary-downloads
設置環境變量
OSG_HOME
指明OSG文件根目錄:D:\Program Files\OpenSceneGraph-3.0.1-VS10.0.30319-x86-debug-12741
OSG_FILE_PATH
指明測試文件目錄:%OSG_HOME%\data
Path
變量前端添加路徑(通常已經存在,不要覆蓋): %OSG_HOME%\bin;
測試環境
cmd輸入下面命令,可以正常處理:
osgversion
osgviewer cow.osg
osgarchive
osgconv
上面是官方提供的4個OSG程序。
VS配置
開發環境設置
項目右鍵屬性進入項目屬性頁;
配置屬性 -> VC++目錄,
包含目錄中添加:$(OSG_HOME)/include;
庫目錄中添加:$(OSG_HOME)/lib;
配置屬性 -> 鏈接器 -> 輸入,
附加依賴項中添加:OpenThreadsd.lib;osgd.lib;osgDBd.lib;osgFXd.lib;osgGAd.lib;osgManipulatord.lib;osgShadowd.lib;osgSimd.lib;osgTerraind.lib;osgTextd.lib;osgUtild.lib;osgViewerd.lib;
HelloWorld測試
最簡單的測試程序代碼如下:
#include <osgDB/ReadFile>
#include <osgViewer/Viewer>
int main(void)
{
osgViewer::Viewer viewer;
viewer.setSceneData(osgDB::readNodeFile("cow.osg"));
viewer.realize();
viewer.run();
return 0;
}
編譯執行後即可達到效果。
對於常用的窗口大小變化事件,只需添加:viewer.addEventHandler(new osgViewer::WindowSizeHandler);
需要#include <osgViewer/ViewerEventHandlers>
相對完美的HelloWorld代碼如下:
#include <osgDB/ReadFile>
#include <osgViewer/Viewer>
#include <osgViewer/ViewerEventHandlers>
int main(void)
{
osgViewer::Viewer viewer;
viewer.addEventHandler(new osgViewer::WindowSizeHandler);
viewer.setSceneData(osgDB::readNodeFile("cow.osg"));
viewer.realize();
viewer.run();
return 0;
}
(全文完)