天天看点

OSG入门hello world

首先到osgChina下载一个安装包,也就是二进制压缩包。

<a href="http://www.osgchina.org/projects/osgcn/wikicn/Downloads.php">http://www.osgchina.org/projects/osgcn/wikicn/Downloads.php</a>

目前最新是 3.0.1版本

OpenSceneGraph-3.0.1-VS9.0.30729-x86-debug-12741.7z

下载后解压到某个目录,比如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输入下面的代码,这次显示一个滑翔机。

<a></a>

//==========================================================================

//--------------------------------------------------------------------------

// Copyright (c) 2012 大气象 All Rights Reserved.

//

// File : Main.cpp

// Author : [email protected]

// Date : 2012-9-19 20:11

// Version : 1.0v

// Description : osg hello world.

#include &lt;osgViewer/Viewer&gt;

#include &lt;osg/Node&gt;

#include &lt;osg/Geode&gt;

#include &lt;osg/Group&gt;

#include &lt;osgDB/ReadFile&gt;

#include &lt;osgDB/WriteFile&gt;

#include &lt;osgUtil/Optimizer&gt;

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-&gt;addChild(node);

    //优化场景数据

    osgUtil::Optimizer optimizer ;

    optimizer.optimize(root) ;

    //设置场景数据

    viewer-&gt;setSceneData(root);

    //初始化并创建窗口

    viewer-&gt;realize();

    //开始渲染

    viewer-&gt;run();

    return 0 ;

}

运行结果:

如果提示:osg80-osgd.dll,因此这个应用程序未能启动。

就把D:\osg\osg80-osgd.dll复制到运行目录。

更多学习参考:

<a href="http://www.osgchina.org/projects/osgcn/wikicn/Supportcn/GettingStarted.php">http://www.osgchina.org/projects/osgcn/wikicn/Supportcn/GettingStarted.php</a>

<a href="http://www.osgchina.org/projects/osgcn/wikicn/Supportcn/ReferenceGuides.php">http://www.osgchina.org/projects/osgcn/wikicn/Supportcn/ReferenceGuides.php</a>

    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/greatverve/archive/2012/09/19/osg-hello-world.html,如需转载请自行联系原作者

继续阅读