本文测试OSG基本功能,以确保OSG框架可以使用。
使用Qt创建一个命令行工程。
pro
工程文件添加头文件、库文件
1 2
| INCLUDEPATH += $$PWD/osg/include LIBS += -L$$PWD/osg/lib -losgd -losgViewerd -losgUtild -losgDBd
|
将之前下载的Windows下头文件、库文件、动态库复制到编译目录。
main
在main.cpp中添加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| int main() { 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("cow.osg"); root->addChild(node.get()); osgUtil::Optimizer optimizer; optimizer.optimize(root.get()); viewer->setSceneData(root.get()); viewer->setUpViewInWindow(0,0,800,600); viewer->realize(); viewer->run(); return 0; }
|
运行
从OpenSceneGraph官网下载测试数据包。
解压后将里面的cow.osg
和Images
目录复制到程序目录
运行程序
流程
开发流程为
- 先添加头文件
- 创建场景浏览器,用于渲染场景模型数据
- 加载数据,外部模型或者场景数据
- 设置场景树,创建场景节点,添加新节点的数据
- 设置场景数据,添加新节点到场景树中
- 渲染循环