OSG入门hello world

首先到osgChina下载一个安装包,也就是二进制压缩包。
目前最新是 3.0.1版本
下载后解压到某个目录,比如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 ;
}
运行结果:

如果提示:osg80-osgd.dll,因此这个应用程序未能启动。
就把D:\osg\osg80-osgd.dll复制到运行目录。
更多学习参考:
posted @ 2012-09-19 20:28  大气象  阅读(7452)  评论(1编辑  收藏  举报
http://www.tianqiweiqi.com