首先到osgChina下載一個安裝包,也就是二進制壓縮包。
目前最新是 3.0.1版本
OpenSceneGraph-3.0.1-VS9.0.30729-x86-debug-12741.7z
http://openscenegraph.alphapixel.com/osg/downloads/free-openscenegraph-binary-downloads
http://openscenegraph.alphapixel.com/osg/downloads/free-openscenegraph-binary-downloads
下載后解壓到某個目錄,比如D:\osg
設置環境變量
PATH: D:\osg\bin
OSG_FILE_PATH: D:\osg\data
這時候你可以用osgViewer查看一下osg文件,比如經典的奶牛cow.osg
在命令行下輸入:osgViewerd.exe cow.osg

新建一個vc空項目,設置vc++包含目錄和庫目錄。
vc2010是右擊|屬性|項目和解決方案|VC++目錄
低版本是工具|選項|項目和解決方案|VC++目錄
包含文件: D:\osg\include
庫文件: D:\osg\lib
右擊|屬性|配置屬性|鏈接器|輸入|附加依賴項
OpenThreadsd.lib
osgd.lib
osgDBd.lib
osgFXd.lib
osgGAd.lib
osgManipulatord.lib
osgParticled.lib
osgShadowd.lib
osgSimd.lib
osgTerraind.lib
osgTextd.lib
osgUtild.lib
osgViewerd.lib
如果編譯Release版本,去掉d
新建main.cpp輸入下面的代碼,這次顯示一個滑翔機。
//
==========================================================================
// --------------------------------------------------------------------------
// Copyright (c) 2012 大氣象 All Rights Reserved.
//
// File : Main.cpp
// Author : greatverve@gmain.com
// Date : 2012-9-19 20:11
// Version : 1.0v
//
// Description : osg hello world.
//
// ==========================================================================
#include <osgViewer/Viewer>
#include <osg/Node>
#include <osg/Geode>
#include <osg/Group>
#include <osgDB/ReadFile>
#include <osgDB/WriteFile>
#include <osgUtil/Optimizer>
int main()
{
// 創建Viewer對象,場景瀏覽器
osgViewer::Viewer* viewer = new osgViewer::Viewer();
// 創建場景組節點
osg::Group* root = new osg::Group();
// 創建一個節點
osg::Node* node = new osg::Node();
// 讀取一個滑翔機的模型
node = osgDB::readNodeFile( " glider.osg ");
// 添加到場景
root->addChild(node);
// 優化場景數據
osgUtil::Optimizer optimizer ;
optimizer.optimize(root) ;
// 設置場景數據
viewer->setSceneData(root);
// 初始化並創建窗口
viewer->realize();
// 開始渲染
viewer->run();
return 0 ;
}
// --------------------------------------------------------------------------
// Copyright (c) 2012 大氣象 All Rights Reserved.
//
// File : Main.cpp
// Author : greatverve@gmain.com
// Date : 2012-9-19 20:11
// Version : 1.0v
//
// Description : osg hello world.
//
// ==========================================================================
#include <osgViewer/Viewer>
#include <osg/Node>
#include <osg/Geode>
#include <osg/Group>
#include <osgDB/ReadFile>
#include <osgDB/WriteFile>
#include <osgUtil/Optimizer>
int main()
{
// 創建Viewer對象,場景瀏覽器
osgViewer::Viewer* viewer = new osgViewer::Viewer();
// 創建場景組節點
osg::Group* root = new osg::Group();
// 創建一個節點
osg::Node* node = new osg::Node();
// 讀取一個滑翔機的模型
node = osgDB::readNodeFile( " glider.osg ");
// 添加到場景
root->addChild(node);
// 優化場景數據
osgUtil::Optimizer optimizer ;
optimizer.optimize(root) ;
// 設置場景數據
viewer->setSceneData(root);
// 初始化並創建窗口
viewer->realize();
// 開始渲染
viewer->run();
return 0 ;
}
運行結果:
如果提示:osg80-osgd.dll,因此這個應用程序未能啟動。

如果提示:osg80-osgd.dll,因此這個應用程序未能啟動。

就把D:\osg\osg80-osgd.dll復制到運行目錄。
更多學習參考: