OSG在WIN与VS中配置与测试

欢迎访问我的新博客: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 FilesOpenSceneGraph-3.0.1-VS10.0.30319-x86-debug-12741

OSG_FILE_PATH指明测试文件目录:%OSG_HOME%data

Path变量前端添加路径(通常已经存在,不要覆盖): %OSG_HOME%in;

测试环境

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;
}

(全文完)

原文地址:https://www.cnblogs.com/milkcu/p/3808872.html