目录
1. 前提
已经完成osg在Visual Studio上的64位编译生成编译包,现在尝试把osg嵌入qt中,实现交互。
2. 配置


然后对Osg的vs项目属性进行配置(Tip:在此之前一定记得电脑的环境变量中一定要先配好,因为是基于已经完成编译了这里就不讲怎么配了网上很多大概是如下):
Visual Studio属性配置,属性页配置:

链接器中,附加依赖项加入osg的lib(Debug所以后面有d,Release没有)

3. 一个Qt实现的osg例子
里面直接粘贴:
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
至此配置完成现在来把Osg嵌入qt中
新建一个普通视图类QtOsgView用于控制QT中OSG的渲染,和一些基本响应,代码如下
QtOsgView.cpp
#include "QtOsgView.h"
#include <QDebug>
AdapterWidget::AdapterWidget(QWidget *parent, const char* name, const QGLWidget * shareWidget, Qt::WindowFlags f)
{
mGw = new osgViewer::GraphicsWindowEmbedded(0, 0, width(), height());//创建可移植的窗口。
s
osg嵌入Qt窗体实现混合编程

本文介绍了如何将OpenSceneGraph(osg)嵌入到Qt窗口中,实现Qt与osg的混合编程。首先确保osg在Visual Studio上已成功编译,接着创建新的Qt项目并配置osg的库依赖。通过创建一个QtOsgView类,控制osg在Qt中的渲染和交互,然后将Qt的Widget提升为此类,完成osg在Qt窗口中的显示。附有osg_qt.h和osg_qt.cpp的代码示例。
最低0.47元/天 解锁文章
162

被折叠的 条评论
为什么被折叠?



