aspiretop
擅长osg、osgearth三维开发、熟练使用QT、C++
展开
-
osg和osgearth的三种文字标签
特点:可以加载在节点下,标签位置可以每一帧设置,但是内容无法每帧设置。原创 2024-05-19 18:02:46 · 157 阅读 · 0 评论 -
麒麟系统下g++基于osg3.4和osgearth2.8编译程序
首先编写一个基于osg显示牛的代码,cow.cpp然后使用g++进行编译链接。原创 2024-05-08 13:59:45 · 222 阅读 · 0 评论 -
osg模型运动状态下的阴影效果
【代码】osg模型运动状态下的阴影效果。原创 2024-02-19 01:03:01 · 149 阅读 · 0 评论 -
osgearth2.8的插件及功能
图形绘制库,包含在数字地球上添加图片、添加标签、跟踪节点、绘制各种图形,例如直线、圆、矩形,多边形、立体图形等。功能库,地球操作器功能、星座背景图功能、全球雾效、经纬网、通视、测量工具、拾取、阴影、天空等功能。海洋库,可以在全球海域加载海洋,可以模拟海浪效果,船只尾迹效果、海底效果、海底透明效果等。主要功能库,完成osgEarth地图管理、高程管理、边界、贴地、视点等功能。形状库,定义图形属性风格、布告板效果、模型属性、标签属性、文字属性等。图形库,定义各种图形的结构类、文字管理。原创 2023-10-30 21:07:55 · 121 阅读 · 0 评论 -
osg3.4的插件及功能
数据读取库,主要用来读取2D、3D数据文件,可用于读取和写入各种osg支持的数据格式,并支持数据的动态分页调度机制,数据的动态读入和卸载。粒子特效库,模拟雨、雪、雾等粒子特效,也可以模拟运动尾迹、烟雾、爆炸、火焰等效果,可以控制粒子的流动方向、流速、粒子大小及颜色等。动画库,用来控制模型或几何图形的运动,包含关键帧的定义、插值定义、动画的播放和暂停控制、倍速控制、路径动画、校色动画等。属于OSG的主要库,包含场景节点、矩阵、向量等功能,用来绘制和渲染场景,绘制几何图形等。地形处理库,实现地形的处理及渲染。原创 2023-10-27 22:57:38 · 224 阅读 · 0 评论 -
ubuntu上使用osg3.2+osgearth2.9
在ubuntu上使用osgearth加载三维数字地球,首先要有osg和osgearth的库,这些可以直接使用apt-get下载安装,但是版本有些老,如果需要新版本的就需要自己编译。原创 2023-08-20 17:29:19 · 852 阅读 · 0 评论 -
osgearth使用tinyxml读写earth文件
【代码】osgearth使用tinyxml读写earth文件。原创 2023-07-20 16:45:21 · 155 阅读 · 0 评论 -
osg四元数详解
参考博客原创 2022-11-29 10:01:23 · 301 阅读 · 0 评论 -
ubuntu20.04编译osg
执行完成后,需要设置动态库的环境变量。添加OSG_FILE_PATH。安装osg的第三方依赖。原创 2022-11-16 09:00:59 · 683 阅读 · 0 评论 -
计算地球上两点间的方位角和俯仰角【输入经纬度】
【代码】计算地球上两点间的方位角和俯仰角【输入经纬度】原创 2022-11-14 21:50:13 · 1924 阅读 · 0 评论 -
osg根据节点名称返回节点
【代码】osg根据节点名称返回节点。原创 2022-10-28 11:11:38 · 574 阅读 · 0 评论 -
osg下computeLocalToWorld和computeWorldToLocal含义
osg下有两个坐标矩阵计算函数,分别是computeLocalToWorld和computeWorldToLocal,字面意思是计算本地到世界坐标系的矩阵和计算世界到本地坐标系的矩阵,前者可以理解为在笛卡尔坐标系下,从原点(0,0,0)移动到位置(x,y,z)处对应的位置变换矩阵matrix;而后者可以理解为,在(x,y,z)处有一个目标,也就是在目标所在的局部坐标系下,以目标为(0,0,0),从目标移动到原点的位置变换矩阵inverseMatrix。从概念可以看出和inverseMatrix互为逆矩阵。原创 2022-09-24 00:52:32 · 583 阅读 · 0 评论 -
Global Mapper将图片转成带地理信息的tif文件(osgearth可用)
如果自己要制作一张tif地图,在osgearth里通过gdal加载并显示,如果单纯把图片转成tif格式,gdal驱动是无法读取该文件的,因为该文件不包含地理信息,此时需要使用Global Mapper软件,在地图上加入地理坐标信息,然后导出tif文件才能使用。原创 2022-09-18 14:17:59 · 3568 阅读 · 1 评论 -
osgearth使用lod分层级显示模型
距离地面较近显示a模型,较远显示b模型原创 2022-09-01 18:00:39 · 854 阅读 · 0 评论 -
osgearth使用sundog公司的triton海洋和silverlining云彩效果
osgearth使用sundog公司的triton海洋和silverlining插件原创 2022-07-22 15:54:22 · 2701 阅读 · 0 评论 -
osgearth2.8编译silverlining云效果
osgearth下使用sundog的silverlining插件原创 2022-07-21 20:08:21 · 1217 阅读 · 0 评论 -
osgearth从配置文件读取模型配置
osgearth从配置文件读取模型配置原创 2022-07-07 15:25:27 · 354 阅读 · 0 评论 -
osg获取模型包围盒
包围盒原创 2022-07-06 21:34:30 · 1234 阅读 · 0 评论 -
osg碰撞检测
碰撞检测原创 2022-07-06 21:14:51 · 559 阅读 · 0 评论 -
vs+qt项目转qt creator
打开vs工程,右键项目,Qt->Create Base .pro File后面默认OK如果工程有include和lib路径需要配置,则转换后的工程,需要修改pro文件例如转换后的工程如下: 修改后 如果报如下错,需要添加vs kit路径...原创 2022-06-23 01:10:00 · 2217 阅读 · 0 评论 -
qt creater搭建osgearth环境(osgQT MSVC2017)
本人使用osgearth2.8,osg3.4.0,配合osgqt,在qt5.12环境下,编译器为MSVC2017,在vs2017上编译正常,移植到纯qt上,需要配置下C:\Program Files (x86)\Windows Kits\10的include目录,如果运行过程中出错,需要把qt依赖全部找齐 主要配置lib文件 如果出现如上报错,可以在release/debug目录下,运行windeployqt.exe 目标.exe,将需要的plugins全部移动到该目录下,这时候就可以正常运行了。..原创 2022-06-23 00:22:02 · 1049 阅读 · 0 评论 -
osgearth切换场景渲染模式
osgearth设置场景渲染模式原创 2022-06-14 00:32:05 · 483 阅读 · 0 评论 -
osgearth添加雾效
osgearth添加雾效原创 2022-06-06 00:52:19 · 860 阅读 · 0 评论 -
osgearth有效解决方案
目录1. 地面裁剪和模型拉近裁剪问题1. 地面裁剪和模型拉近裁剪问题#include <osgEarthUtil/AutoClipPlaneHandler> //解决地面和飞机拉近裁剪问题 viewer->getCamera()->addCullCallback(new osgEarth::Util::AutoClipPlaneCullCallback(mapNode));会降低帧率................................原创 2022-05-21 12:23:08 · 1052 阅读 · 5 评论 -
osg::image图片转opencv的cv::Mat图片
目录一、背景二、代码一、背景osg获取到图片的格式是osg::image,如果需要用opencv处理osg获取的图片后,就需要对其进行格式转换,具体代码如下:二、代码#include<osg/Camera>#include <opencv2/opencv.hpp>#include <opencv2/imgproc/types_c.h>#include <opencv2/highgui/highgui_c.h>//osg...原创 2022-04-27 20:35:15 · 3437 阅读 · 0 评论 -
osg的Matrix详解
#include<Windows.h>#include<osgDB/ReadFile>#include<osgViewer/viewer>#include<osg/ShapeDrawable>#include<osgText/Text>#include<osg/LineWidth>#include<osg/MatrixTransform>#include<osgViewer/ViewerEventH...原创 2022-04-26 16:57:14 · 1013 阅读 · 0 评论 -
osgearth场景漫游
相机通过位置变换矩阵放在指定位置,此时使用局部坐标系,相机朝向地面,相机up方向指向-x方向。#include<Windows.h>#include <osg/Image>#include <osgGA/StateSetManipulator>#include <osgViewer/Viewer>#include <osgViewer/ViewerEventHandlers>#include <osgEarth/Map>.原创 2022-04-26 15:46:10 · 630 阅读 · 0 评论 -
osgearth从相机VieweMatrix计算相机姿态角
一、背景二、思路原创 2022-04-26 08:33:23 · 969 阅读 · 0 评论 -
osg模型贴图
#include<Windows.h>#include <osgDB/ReadFile>#include <osgViewer/Viewer> #include <osg/Node>#include <osg/Geode>#include <osg/Geometry>#include <osg/Group>#include <osg/Texture2D>#include <osg/TexG.原创 2022-04-16 13:38:22 · 771 阅读 · 0 评论 -
osg按键控制模型播放暂停
#include<Windows.h>#include <osgViewer/Viewer>#include <osgViewer/ViewerEventHandlers>#include <osg/Node>#include <osg/Geode>#include <osg/Group>#include <osg/Math>#include <osg/AnimationPath>#inclu.原创 2022-04-15 22:16:25 · 386 阅读 · 0 评论 -
osg设置光照
通过设置不同颜色的光源,使得物体表面反射不同的颜色,从而改变观察物体的颜色#include<Windows.h>#include<osgViewer/Viewer>#include<osgDB/ReadFile>#include<osgViewer/ViewerEventHandlers>void createLight() { osg::ref_ptr<osgViewer::Viewer> viewer = new osgV原创 2022-04-15 16:06:59 · 1372 阅读 · 0 评论 -
osg扇形扫描效果
模拟雷达扫描的扇形效果#include<Windows.h>#include <osgViewer/Viewer>#include <osgDB/ReadFile>#include <osgGA/GUIEventAdapter>#include <osgViewer/ViewerEventHandlers>#include <osgGA/TrackballManipulator>#include <osgUti.原创 2022-04-13 21:10:40 · 1150 阅读 · 0 评论 -
osg动态外扩圆效果
#include<Windows.h>#include <osg/Geode>#include <osg/Geometry>#include <osg/Material>#include <osg/Vec3>#include <osg/MatrixTransform>#include <osg/Texture2D>#include <osg/TexEnv>#include <osg/Pol.原创 2022-04-13 16:42:25 · 606 阅读 · 1 评论 -
银河麒麟编译osg3.4.0和osgearth2.8
一、下载cmake在银河麒麟命令行里,使用bashcmake-3.23.0-linux-x86_64.sh然后在桌面会产生cmake的包含bin目录的文件,接着配置cmake的bin环境变量即可。二、下载osg3.4.0源码openscenegraph/OpenSceneGraph at OpenSceneGraph-3.4.0 (github.com)...原创 2022-04-12 00:55:27 · 1746 阅读 · 0 评论 -
osgearth点选模型并实时获取其坐标信息
一、背景例如场景中有几个各自分布的目标,需要通过鼠标点击目标,将其标记出来,并实时获取所标记目标的位置信息,进而实现对其进一步的处理,比如跟踪。二、具体实现首先通过鼠标与模型的交点集合,获取一个osg::NodePath,nodePath包含从相机下的根节点到当前所选节点的所有路径,示意图如下:...原创 2022-04-10 14:14:38 · 2199 阅读 · 0 评论 -
osgearth的earth文件常用功能
一、添加标注<Map name="Demo: simple model layer" type="geocentric" version="2"> <!--在线地图--> <image name="arcgis-world-imagery" driver="arcgis"> <url>http://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapSer原创 2022-04-07 15:22:18 · 673 阅读 · 0 评论 -
osg通过名字遍历模型节点并对其进行操作
//#include<Windows.h>#include <osg/Group>#include <osg/PositionAttitudeTransform>#include <osg/MatrixTransform>#include <osgText/text>#include <osgText/Font>#include <osgDB/ReadFile>#include <osgDB/Writ.原创 2022-04-06 20:19:06 · 804 阅读 · 0 评论 -
osg模型点选高亮切换
#include<Windows.h>#include <osgViewer/Viewer>#include <osgDB/ReadFile>#include <osgGA/GUIEventHandler>#include <osgFX/Outline>class nodePick :public osgGA::GUIEventHandler{ virtual bool handle(const osgGA::GUIEventAd.原创 2022-04-01 15:33:38 · 1233 阅读 · 0 评论 -
osgearth输入XYZ坐标计算该点垂直地面向上的向量
一、背景如果使用camera->->setViewMatrixAsLookAt(eye,center,up)看向某个点,这个时候就需要知道当前位置头顶正上方的向量是什么,这个向量可不是osg::Vec3(0,0,1),Z轴正方向从地心指向正北,此时要计算XYZ点的up向量,其实就是地心指向XYZ点的向量,也就是up=osg::Vec3(X,Y,Z)。二、代码...原创 2022-03-30 17:18:26 · 914 阅读 · 0 评论 -
osg模型贴纹理图片
// stdafx.h#include<Windows.h>#include <osg/Geode> #include <osg/Texture1D> //一维纹理映射#include <osg/Texture2D> //二维纹理映射#include <osg/TextureCubeMap> //立方体纹理映射#include <osg/TexGen> //指定用于自动生成纹理坐标的函数,可以设置纹理的计算方式.原创 2022-03-29 14:06:26 · 1087 阅读 · 0 评论