在QT的Widget中显示OSG:自建osgQt类并显示模型和earth文件

osgearth仿真平台(1) osgearth仿真平台,主要是仿真一些专业领域的算法等。 阅读详情

说明:之前学的osg代码都是在win32控制台上运行,使用viewer.run()直接显示模型;也在MFC上成功尝试了osgEarth。最近由于项目需要,需要把osgearth的三维地球重新显示到Qt环境中。但是MFC跟QT在显示的模式上感觉还是有很多不同,特别是在QT上显示的时候大多会使用osgQt这个库,但是从github上下载了之后始终无法编译成功,基本上看了网上所有关于osgQt的博客和使用方法,基本都没有走通,所以自己就想了一个死办法,自建了一个类,在不报错的情况下,把osgQt的源码给复制了一遍,终于能够在Qt上显示出cow.osg或者.earth文件了。

前提:已经成功编译osg库(没有osgQt)并能够在win32控制台上运行OSG,并能够显示模型(比如“cow.osg”模型)

github链接:https://github.com/yuqwert/OSG_Demo_yxk/tree/master/demo1%EF%BC%9A%E5%9C%A8QT%E7%9A%84Widget%E4%B8%AD%E6%98%BE%E7%A4%BAOSG

上传的CSDN下载链接:包括GraphicsWindowQt,QGraphicsViewAdapter 和 QWidgetImage三个类,利用相同方法自建。https://download.csdn.net/download/yu1069153913/12675994

环境

vs2010 + Qt4.8.6 + OSG3.1.4

新建项目

项目类型:Qt4 Application

项目设置:把OpenGL library打钩,所以这时候打钩的至少有:Core library,GUI library,OpenGL library

生成项目(这里是我生成的类名):Classname填OSGWindow,用于显示osg的主窗口。自动生成的配套的.ui,.h和.cpp文件为osgwindow.ui,osgwindow.h,osgwindow.cpp

环境配置

(1) VC++目录

可执行文件目录(根据自己的情况调整):

  • qt的bin目录:C:\Qt\4.8.6\bin
  • osg的bin目录:D:\Project\OSG_project\runtime\bin

包含目录(根据自己的情况调整):

  • qt的include目录:C:\Qt\4.8.6\include

  • osg的include目录:D:\Project\OSG_project\runtime\include

库目录(根据自己的情况调整):

  • qt的lib目录:C:\Qt\4.8.6\lib

  • osg的include目录:D:\Project\OSG_project\runtime\lib

(2) 链接器

链接器-->输入-->附加依赖项:(Debug版本)下面有些没有osgEarth的lib库在这个demo中没有用到,但是后面需要拓展,就直接全部放进去了,可以根据自己的情况调整,只要不报错就行。

qtmaind.lib
QtCored4.lib
QtGuid4.lib
QtOpenGLd4.lib
opengl32.lib
glu32.lib
o
osgearth3.2配合osgQOpenGL在qt中显示地球 主要借助osgQOpenGL,将osg的窗口嵌入qt,osgQopenGL库的编译方法,可以参考。 阅读详情

相关推荐

osgEarth嵌入qt的实现方式

问题 最近开发项目遇到了将OSGEARTH嵌入到qt的需求,这里记录一下,供后续回顾。 环境 VS2019+QT5.9.8+OSG3.6.5+OSGEARTH3.1 前提 (1)已经编译好了OSG以及OSGEARTH的运行时库 (2)关键的osgqt的3个类(osgqt太难编译了,这里提取它的3个类直接引进我们的工程),附在文章最后。 新建工程 建立QTGUI工程,关键点:模块选择OPENGL 工程配置 (1)添加osgqt的三个类 (2)工程属性配置 主要包括VC++目录下的可执行文件目录、包含目

ambition_xiaoman的博客 1万+

基于osgEarth搭建三维可视化平台 第2讲 加载影像数据

基于osgEarth搭建三维可视化平台 第2讲 加载影像数据一、目标二、内容(一)、加载TMS文件(二)、加载Tif、img等格式文件(三)、加载mb格式文件(四)、加载XYZ格式文件三、显示效果影像显示效果图 一、目标 可以在场景中显示的三维地球上,显示影像数据 二、内容 (一)、加载TMS文件 // add a TMS imagery layer: TMSOptions imagery;...

qq_41686204的博客 3169

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

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

LuckyHanMo的博客 8889

OsgEarth —— 笔记2 - Qt窗口加载earth地球(附源码)

效果         正文      1、准备环境           Vs 2017、Qt 5.12、Osg 3.5、OsgEarth 2.8        2、打开Vs 2017,创建Qt 工程,选择到x64、release模式下        3、将Osg、OsgEarth头文件、库加入      这里给大家列出来,直接拷贝 osgEarthUtil.lib osgEarthAnnotation.lib osg.lib osgAnimation.lib osgDB.lib osgdb_fbx.li

8097

Qt加载OsgEarth的新方式osgQOpenGL简介

Qt加载Osg的老方式是使用osg3.4以及以前的某些版本中提供的osgQt项目加载osg,不过这种方式,在3.6等新版本中不再支持,更改起来比较麻烦,由于osg::GraphicsContext类不再提供osg::GraphicsContext::setWindowingSystemInterface接口函数,导致不能将osgQt项目编译成功。不过目前有个替代方案,使用osgQOpenGL的osgQOpenGLWidget类进行三维模型的加载,下载地址为: https://github.com/OpenSceneGraph/osgQt 下面是使用osgQOpenGLWidget从osgEarth的.earth配置文件加载三位数字地球的演示例子。

2021年J题:基于STM32F103的周期信号波形识别与参数测量系统设计(立创EDA+SZPT_ZXL)

本文详细复盘了2021年全国大学生电子设计竞赛J题获奖项目,手把手教你如何基于STM32F103微控制器设计并实现周期信号波形识别与参数测量系统。文章深入剖析了硬件电路设计(包括程控放大、工作点抬升与滞回比较器)与核心软件算法(如动态采样、FFT频谱分析与波形识别逻辑),并分享了DMA传输、FFT库使用等实战要点与避坑指南,为嵌入式信号处理与电赛备赛提供了宝贵经验。

weixin_32673065的博客 221

【AIGC】人工智能训练师(高级)考试题库-橙点同学

例如,在嘈杂的环境中进行声音转文字,即使是优秀的模型也可能会出现一些错误,但这并不意味着该模型本身质量差,在其他较为理想的环境下,它可能会有很好的表现。例如,在一些语音应用和系统中,会使用SSML来实现对语音合成的精细控制,如调整语速、语调、音量等,而这些应用和系统的开发往往会遵循W3C的相关标准和框架,其中就包括SSML这一语音合成标记语言。例如,在语音识别等场景中,像“去火车站怎么走”这样的语音指令,没有其他嘈杂的背景声音或模糊不清的表述,就属于无噪音的数据,有利于系统准确地进行处理和分析。

RisunJan的博客 9900

基于Playwright+Pytest+Yaml+Allure的UI自动化测试框架实战指南

本文详细介绍了基于Playwright+Pytest+Yaml+Allure的UI自动化测试框架实战指南,涵盖环境搭建、核心功能实现及高级技巧。通过数据驱动测试、页面操作封装和智能等待机制,提升测试效率与可维护性。Allure报告增强功能为团队提供直观的质量反馈,助力高效UI自动化测试。

weixin_28826521的博客 485

第4-4课:状态压缩与动态规划

什么是状态压缩 动态规划问题中重要的一环就是确定状态的定义,在大多数情况下,状态中所包含的信息并不多,比如线性规划问题的状态一般表示为 d[i,j](i 表示状态的位置,j 表示状态的阶段),算法实现时可用二维数组保存计算过程中的状态。但是也有一些问题,它的状态中包含的信息很多,比如它的状态可能是一个集合中各个元素的情况,或者是像铺瓷砖问题这样,是某一行的覆盖状态。如果沿用简单的状态表示方法,则可...

oRbIt 的专栏 695

《30天入门 SAP BTP 开发》教程的目录和使用说明,建议收藏

本教程分为两部分:第一部分为SAP BTP入门系列,包含从基础概念到操作步骤的系统性学习内容,建议零基础用户按顺序学习;第二部分为专题文章集合,涵盖SAP BTP的多个技术点,适合已有基础的用户按需查阅。教程包含账号申请、Global Account操作、Java应用开发、AI工具使用等丰富内容,同时解答常见问题并提供实战案例。所有文章均附带详细链接,便于读者系统学习或针对性查阅。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4318

【SA8155P】AIS Camera相关内容的简单介绍

【SA8155P】AIS Camera相关内容的简单介绍

静谧、淡雅 1683

【AI编程】Vibe Coding 开发环境搭建与项目实战操作详解

Vibe Coding 开发环境搭建与项目实战操作详解

congge 7319

华为OD机试新系统真题-魔法咒语组合(Java/Py/C++/Go/C/Js)

华为OD机试 新系统真题【魔法咒语组合】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【魔法咒语组合】多语言题解

qq_45776114的博客 656

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: 5. 数据可视化的流程与框架
下一篇: 01-启动spark shell
yu1069153913
博客等级 码龄9年 30粉丝 42原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值