Advertisement

Osg项目搭建的注意事项

阅读量:

一、测试环境是否搭建成功

最近在尝试搭建Osg环境的过程中遇到了不少困难。特别是这个编译速度确实让人头疼。其实大家网上一搜就能找到相关的方法了。具体来说,在完成环境搭建后进行命令行操作时输入这些命令后显示正常就可以确认环境已经成功配置。

1:osgversion

显示版本信息

在这里插入图片描述

2:osgviewer cow.osg

显示小牛模型

鼠标左键可以移动,右键或者鼠标滑轮可以缩放

显示osg的logo

在这里插入图片描述

二、配置项目

新建控制台项目,设置三个地方:

系统参数配置项中包含VC++ - 目录项(在CMake配置阶段使用CMAKE_INSTALL_PREFIX变量指定的包含头文件路径)

复制代码
    //我当时搭建环境弄乱了,放到cmake的安装目录下了
    E:\Software\Install\CMake\cmake-3.20.0-windows-x86_64\bin\include

2:项目-属性-VC++ - 库目录(cmake configure时CMAKE_INSTALL_PREFIX的lib路径)

复制代码
    E:\Software\Install\CMake\cmake-3.20.0-windows-x86_64\bin\lib

组件属性链接收输入,并添加额外的依赖项(带有d标记的是调试版本;不带d标记的是发布版本)

复制代码
    //debug:
    OpenThreadsd.lib; osgd.lib; osgDBd.lib; osgUtild.lib; osgGAd.lib; osgViewerd.lib; osgTextd.lib
    //release:
    OpenThreads.lib; osg.lib; osgDB.lib; osgUtil.lib; osgGA.lib; osgViewer.lib; osgText.lib

写个测试程序测试一下:

复制代码
    #include <osgViewer/Viewer>
    #include <osgDB/ReadFile>
    #include <osgUtil/Optimizer>
    
    int main()
    {
    	osg::ref_ptr<osgViewer::Viewer> rpViewer = new osgViewer::Viewer();
    
    	osg::ref_ptr<osg::Group> rpRoot=new osg::Group();
    	osg::ref_ptr<osg::Node> rpNode= osgDB::readNodeFile("cow.osg");
    
    	rpRoot->addChild(rpNode.get());
    
    	osgUtil::Optimizer opt;
    	opt.optimize(rpRoot.get());
    
    	rpViewer->setSceneData(rpRoot.get());
    
    	rpViewer->realize();
    	
    	return rpViewer->run();
    }
在这里插入图片描述

还有一个问题是,在进行一个缩放旋转平移的小练习后发现电脑上的程序频繁闪动。起初误以为是硬件环境没有配置完善;但经过进一步排查发现其实只需将显卡的第一位图形处理器设置为高性能模式即可解决问题。效果如下

在这里插入图片描述
在这里插入图片描述

全部评论 (0)

还没有任何评论哟~