轉:http://blog.csdn.net/xiaol_deng/article/details/9246291
最近在學習有關osg的知識,剛開始一頭霧水,幸好在老師的指導下才茅塞頓開,同時又結合網上的多個資料總結
一下作為一個初學者入門的經驗。希望廣大初學者少走彎路!
開始osg編程之前要做osg的編譯准備,這里作為初學者最好選擇簡單的方法先熟悉為主。我們先下載一個編譯好的VS2010+OSGEarth,注意大家看到這里可能會有許多不解,我當時也是這么認為,待我們一步一步地來實現。
第一步、下載編譯包
OSG3.1.4和osgEarth2.3 VC10編譯包
下載地址:
http://pan.baidu.com/share/link?shareid=107009&uk=2801833827
第二步、建立目錄
在你的硬盤里建立一個目錄,我就在E盤建立一個osgearth的目錄,並把下載的壓縮包復制到E:\osgearth\
中並且解壓,解壓后發現E:\osgearth\OSG里的文件如下圖所示:

第三步、設置環境變量
做為一個初學者我在這一步里遇到了很多麻煩,為了不讓大家重蹈覆轍我們這里很詳細的介紹。
1、如何設置環境變量
右擊我的電腦—>屬性 ,如下圖所示:

這是點其中的“高級” 選項卡如下圖所示:

在完成上述步驟之后會出現下圖:

這是在點擊下方的“環境變量”選項如下圖所示:

這是會出現下圖:

2、設置具體環境變量值
我們設置的環境變量值是在系統變量中,


(2)變量名: OSG_WINDOW
變量值:600 15 800 800 注意這個值可以固定就用這個無關緊要
完成上述步驟之后接下來的一步有些不同,這次我們不是新建而是編輯其中的選項內容,編輯的選項如下圖所示:


打開vs2010新建一個名為osgVR的控制台應用程序,之后進行設置,
②設置項目屬性,添加包含文件目錄和庫文件目錄
這里僅設置Debug版為例,Release版與此類似
需要注意的是:Debug版此時對於鏈接器輸入lib文件名后綴比Release版多一個字母d,表示debug版,
右擊彈出菜單選擇“屬性”
其中“配置(C)”項說明是對Debug還是Release版,根據需要選擇
需要設置三項分別是包含文件目錄include、lib庫文件目錄和鏈接器
附加依賴項為,其中並沒有加入osgEarth相關
- 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
第五步、編寫代碼
- #include "stdafx.h"
- #include <osgViewer/viewer>
- #include <osg/Node>
- #include <osg/geode>
- #include <osg\group>
- #include <osgDB/readfile>
- #include <osgDB/writefile>
- #include <osgUtil\optimizer>
- int _tmain(int argc, _TCHAR* argv[])
- {
- osg::ref_ptr<osgViewer::Viewer> viewer=new osgViewer::Viewer();
- osg::ref_ptr<osg::Group> root=new osg::Group();
- osg::ref_ptr<osg::Node> node=osgDB::readNodeFile("mymap.earth");
- root->addChild(node.get());
- osgUtil::Optimizer optimizer;
- optimizer.optimize(root.get());
- viewer->setSceneData(root.get());
- viewer->realize();
- viewer->run();
- return 0;
- }
這個代碼編寫完之后還要編寫mymap.earth文件,這里用NotePad++軟件編輯,內容如下:
- <map name="MyMap" type="geocentric" version="2">
- <image name="bluemarble" driver="gdal">
- <url>world.tif</url>
- </image>
- </map>
編輯好之后把mymap.earth文件復制到你項目所在目錄,深度和我的一樣即可:E:\vs2010Progam Files\osgVR74\osgVR74,同時也要把world.tif這個tif文件放在和mymap.earth同一級目錄下面。
完成這些時就可以編譯執行,成果如下所示: