osg嵌入到Qt窗体,实现Qt和osg混合编程

在QT中搭建OSG开发环境 一、前言 之所以想在QT中搭建OSG开发环境,主要是因为工作中用QT为比较多(虽然目前用的不多,但师傅说我们主要用这个),前段时间开始研究OSG这个东东,发现绝大多数教程介绍的便是用VS进行开发,很少有用QT进行开发的例子,甚至有网友直接建议不要用QT进行OSG开发。但一是本人确实需要用QT,二是,我的犟脾气确实是想试试…… 二、具体方法  之前在博客里转了一篇相关的博文,提到的是要添加外部... 阅读详情
AI摘要

本文介绍将osg嵌入Qt窗体实现混合编程。前提是已完成osg在Visual Studio上的64位编译。接着说明配置,在vs下生成新项目并对Osg的vs项目属性配置,链接器附加osg的lib。还给出Qt实现的osg例子,新建视图类控制渲染与响应,通过提升操作让Widget在qt显示,最后贴上代码。

目录

1. 前提

2. 配置

3. 一个Qt实现的osg例子 


1. 前提

     已经完成osg在Visual Studio上的64位编译生成编译包,现在尝试把osg嵌入qt中,实现交互。

2. 配置

    首先在vs下生成一个新的项目:

 

然后对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基础教程(二)osg嵌入Qt窗口(兼容Qt5) 将osg嵌入Qt。 阅读详情

相关推荐

一、QT中创建OSG项目运行实例,初步实现版本

一般osg在vs2019编译器运行,只要配置相应的环境就能正常运行,但是如果要在qt中运行需要自己手动配置类才能正常运行,以下是qt中运行osg的一个示例。

qq_43605401的博客 2414

QT内嵌OSG[osg][qt]

1 osgQT的移植 首先参考官方项目: https://github.com/openscenegraph/osgQt 这里先给出结果图: 1.1 修改osgviewerqt.cpp如下: 这样你就能自己读模型了 #include <osgQOpenGL/osgQOpenGLWidget> #include <osgDB/ReadFile> #include <osgUtil/Optimizer> #include <osg/CoordinateSystemN

cxy_hust的博客 1238

Qt+OSG/osgEarth跨平台编译(用Qt Creator组装各个库,实现一套代码、一套框架,跨平台编译)

Qt+OSG/osgEarth跨平台编译(Windows、linux、macos)。用Qt Creator组装各个库,实现一套代码、一套框架,完成跨平台编译第三方库;实现一套代码、一套框架,完成跨平台编译OSG核心库、工具库、插件库及内省库,osgEarth核心库及插件库。

LuckyHanMo的博客 8915

QT编程之OSG

OSG(OpenSceneGraph)与Qt的集成为开发3D可视化应用提供了一个强大的平台。Qt提供了图形用户界面(GUI)工具,而OSG负责高效的3D渲染和场景管理。通过将OSG嵌入Qt应用程序中,开发者可以实现丰富的用户界面与复杂的3D渲染效果的结合。

深之JohnChen的专栏 1593

在Qt中嵌入OSG:使用开源场景图库实现高效可视化

OSG(OpenSceneGraph)是一个强大的开源场景图库,它提供了丰富的功能和性能优化,用于在计算机图形应用程序中创建交互式3D图形。本文将探讨如何在Qt应用程序中嵌入OSG,并展示一些相关的源代码示例。我们创建了一个OSG Viewer,并设置它的线程模型为SingleThreaded,这意味着OSG将在主线程中执行渲染循环。在代码的后面部分,我们将OSG Viewer的渲染窗口嵌入到QWidget中,并将其添加到布局管理器中。接下来,我们将创建一个基于Qt的应用程序,并在其窗口中嵌入OSG场景。

2301_79366106的博客 600

OSG编程指南<二十二>:基于OSG+Qt制作三维可视化软件客户端

OSG编程指南<二十二>:基于OSG+Qt制作三维可视化软件,支持动态场景添加数据,高亮定位显示模型等,作为OSG入门练习项目学习。

欧特GO 4546

WebUI自动化测试框架搭建(python+pytest+selenium+allure)

将鼠标移动到要定位的元素上面>右键>点击“检查”>在元素代码上右键>复制>复制XPath。

m0_63729339的博客 1281

从零构建AI Agent集群:Docker Compose与Nginx部署实战

在AI应用开发领域,微服务架构和容器化部署已成为提升开发效率和系统可维护性的关键技术。Docker Compose作为容器编排工具,能够将多个独立服务(如Node.js、Python应用)及其依赖(数据库、缓存)封装在隔离环境中,并通过统一配置文件定义服务间的网络与依赖关系,实现一键启停。Nginx作为反向代理,则提供了统一的网络入口、请求路由和负载均衡能力,是构建高可用Web应用的基石。这种组合技术方案的价值在于,它能将复杂的AI系统(如工作流引擎、对话Agent、技能库)的部署运维复杂度大幅降低,使得开

weixin_27028523的博客 638

Zemax单模光纤耦合仿真避坑指南:数值孔径、模式匹配与镀膜影响详解

本文详细解析了Zemax单模光纤耦合仿真中的关键避坑要点,包括数值孔径的多重定义与换算、模式匹配度评估及镀膜影响分析。通过实际案例和技术公式,帮助工程师避免常见仿真误差,提升激光通信和光纤传感系统的设计精度。特别针对OpticStudio用户提供了实用的参数设置建议和优化策略。

weixin_30836759的博客 465

机器人控制入门

机器人控制入门 对于工科领域来说,脱离实践的学习都是肤浅的,对于控制这种强调经验的技术更是如此。如果去问一个程序员怎么学习一块技术,他必然让你去多编程。机器人领域也是。如果想把基本功打扎实,那么实践更是必不可少了。 机器人控制有三个元素:控制器(算法),执行器(电机),传感器; 控制的本质就是将规划系统的指令作为输入信息,将传感器探测得到的状态信息和导航系统的定位

彼岸花 1万+

SolidWorks参数化建模实战:从规则定义到智能装配

本文深入探讨SolidWorks参数化建模的实战技巧,从规则定义到智能装配的全流程。通过实际案例展示如何提升设计效率300%,确保一致性,并加速系列化开发。重点解析草图阶段植入设计意图、装配体级参数化及高级技巧,帮助工程师掌握三维建模的核心竞争力。

weixin_29306317的博客 416

hwasan实例分析踩内存之七:CamX进程chifeature2base怪异的Cause: use-after-free

摘要:本文分析了高通camx进程中的指针异常crash问题,通过构建hwasan版本确认存在内存踩踏现象。日志显示为"use-after-free"类型错误,具体为线程T175672在已释放内存区域执行写入操作。堆栈分析表明ChiFeature2Base::PipelineDestroyCb()函数访问了已被ChiFeature2Base::DestroyFeatureData()释放的pPipelineData对象。该问题源于多线程环境下内存管理不同步,导致释放后仍被引用。解决方案通过

1077

Dify框架面试内容整理-如何进行Dify的二次开发?

无论是轻量修改界面,还是深度集成自定义模型、Agent、知识库,你都可以很方便地进行二次开发。,你可以基于它的开源架构对功能进行扩展、集成第三方服务、修改界面风格,甚至定制新的AI工作流程。前端:Node.js >= 16,React + TypeScript + Tailwind。接入自己的模型API(如:调用LLaMA、Baichuan、ChatGLM)。修改路径:/api/app/services/providers/可接入你自己的向量数据库(Qdrant、Milvus、FAISS)

不务正业的猿 2003

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: Qt实现三次样条Cardinal曲线
下一篇: openGL中 GL_LINES 与GL_LINE_STRIP 的区别
荆楚闲人
博客等级 码龄20年 3万+粉丝 473原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值