欢迎访问我的新博客: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;
}
(全文完)