自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

原创 vulkanscenegraph显示倾斜模型(6.5)-vsg::DatabasePager

上章深入分析了帧循环过程中,多线程下的记录与提交机制。本章将分析vsg::DatabasePager在更新场景图过程中的作用,进一步揭露vsg中场景图管理机制,并通过分析代码,详细解释vsg中场景图管理机制中的节点添加、节点删除、节点加载过程。同时本章也作为vulkanscenegraph显示倾斜模型主体内容的最后一章。目录3 帧循环过程中的场景图更新机制。

2025-05-05 21:44:25 1145

原创 vulkanscenegraph显示倾斜模型(5.3)-相机

在Vulkan中,相机的概念并非由API直接提供,而是由应用程序实现。相机的核心功能包括视图变换和投影变换:视图变换将世界坐标系中的物体转换到相机坐标系,投影变换则将相机坐标系中的物体转换到投影空间。在VSG(Vulkan Scene Graph)框架中,vsg::Camera类封装了视图矩阵和投影矩阵,并提供了便捷的接口来管理相机。本章将深入探讨Vulkan中的矩阵变换原理,以及VSG对相机功能的封装与实现。目录2 vsg中的视图变换3 vsg中的投影变换。

2025-03-16 15:01:10 1454

原创 CloudCompare学习(1)- CloudCompare 编译及普通插件实现

最近由于工作需求,偏向点云算法库的学习。给定一些无序三维点,可以构建点云的三角网,接着赋纹理,如果算法足够稳健,也是很强大的,毕竟由一些点得到了一个模型。由于刚入门,从开源库和开源软件学起,首先学习软件的动作,接着结合源码进行分析。CloudCompare 是一款非常好的开源点云显示和处理软件,尤其是有比较好的框架,使其有很强的可扩展性,这点也值得学习。其采用GPL授权,使在此框架下开发的应用软件也必须开源,这点对商业公司可能不友好,但对广大码友还是很好的。 下面主要从两个方面...

2020-08-02 13:07:52 3118

原创 Qt5.9.4中利用QOpenGLWidget类进行opengl绘图

首先打开Qt Creator,然后点击菜单 ,文件->新建文件和项目,如图所示:左边选择Application,右边选择Qt Widgets Application,点击Choose...,项目名称为myOpenGLShow,接着下一步,一直默认,到Details,如下:点击取消选中创建界面(G)。然后下一步,知道完成,程序显示的为mainwindow.cpp文件:接着是利用QOpenGLW...

2018-03-31 22:11:20 31388 9

原创 Unreal+Osg-单个osgb文件显示

本章通过Unreal与osg库结合的形式实现了单个osgb文件在Unreal主视口中的显示,下章将深入osg场景图的机制,讨论如何封装osg场景图,以支撑大体量倾斜模型在Unreal中动态更新与显示。

2026-01-02 21:07:27 744

原创 CesiumforUnreal环境准备

本章通过Unreal C++编译的形式准备了CesiumforUnreal环境,下章将通过借鉴CesiumforUnreal加载3dtiles过程中到Unreal几何体的转换,尝试将单个osgb文件同样转换为Unreal几何体,并在Unreal场景中渲染。

2025-12-21 21:38:46 782

原创 osg中文字的使用

在 osg 中,osgText 组件负责所有文字渲染细节,不仅支持设置字体、颜色、尺寸和位置,还允许配置字符大小模式与自动朝向屏幕旋转等高级特性,以实现丰富的文字显示效果。

2025-11-30 21:07:56 456

原创 基于模板缓冲的矢量贴地显示

第二节:倾斜摄影模型上的矢量完全贴地方案(3.20直播回放)_哔哩哔哩_bilibili) ,对该方法进行了梳理与改进,并将最终的代码开源(总体方案可概括为三次绘制过程1)绘制地形(或倾斜模型),正常情况下的绘制,即打开深度测试,深度和颜色缓冲可写入,同时构建矢量包围盒;2)采用模板测试标记矢量在地形(或倾斜模型)上覆盖的区域;3)根据标记结果,实现矢量贴地绘制。本文的改进主要有两点:1)矢量包围盒的创建;2)矢量贴地显示支持透明度显示。

2025-10-08 21:56:16 221

原创 基于模板缓冲的矢量贴地显示

第二节:倾斜摄影模型上的矢量完全贴地方案(3.20直播回放)_哔哩哔哩_bilibili) ,对该方法进行了梳理与改进,并将最终的代码开源(总体方案可概括为三次绘制过程1)绘制地形(或倾斜模型),正常情况下的绘制,即打开深度测试,深度和颜色缓冲可写入,同时构建矢量包围盒;2)采用模板测试标记矢量在地形(或倾斜模型)上覆盖的区域;3)根据标记结果,实现矢量贴地绘制。本文的改进主要有两点:1)矢量包围盒的创建;2)矢量贴地显示支持透明度显示。

2025-10-08 21:51:44 101

原创 osg中相机矩阵到vsg相机矩阵的转换

在OSG和VSG中,相机的核心功能主要包括视图变换与投影变换:视图变换负责将世界坐标系中的物体转换到相机坐标系,而投影变换则进一步将相机坐标系中的物体映射到投影空间。由于OpenGL与Vulkan在底层实现上存在差异,Vulkan的深度范围定义为[0, 1],且y轴方向由上向下,这与OpenGL有所不同。因此,本章将重点讨论从OSG相机矩阵到VSG相机矩阵的转换方法,并进一步讨论投影矩阵之间的转换。目录1 vsg相机矩阵到CesiumNative间的矩阵转换。

2025-10-03 15:41:25 532

原创 Cesium+VSG显示谷歌全球倾斜模型-数据转换

本章将在上章基础上,接着深入vsgCs中CesiumNative数据到vsg::Node的转换过程。目录1 CesiumNative多线程数据读取2 CesiumNative数据转vsg::Node。

2025-08-31 18:42:29 316

原创 Cesium+VSG显示谷歌全球倾斜模型-节点

本章将在上章json解析与vsg场景图根节点创建的基础上,继续深入vsgCs中的节点,包含vsgCs::WorldNode和vsgCs::TilesetNode,深入两者与Cesium3DTilesSelection::Tileset的结合,并进一步剖析场景图的更新过程。目录1 vsgCs节点与CesiumNative的结合2 场景图更新。

2025-08-28 23:13:50 681

原创 Cesium+VSG显示谷歌全球倾斜模型-json解析与vsg场景图根节点创建

vsgCs显示谷歌全球倾斜模型系列》将从四个方面来进行说明,包含1)json解析与vsg场景图根节点创建;2)vsgCs中的节点与场景图的更新;3)数据结构转换(gltf转vsg可绘制节点) ,本章将从worldviewer项目出发,深入json解析与vsg场景图根节点创建部分,此部分更多体现了作者对程序入口的设计和规范,通过设置正确的参数保证达到预期的显示效果。目录1 json解析。

2025-07-21 00:29:02 1021

原创 Cesium+VSG显示谷歌全球倾斜模型

vsgCs是基于Vulkan场景图(VSG)框架开发的三维地理空间数据加载库,专为高效处理3D Tiles等大规模地理空间数据而设计。该库深度整合Cesium Native工具包,实现了从Cesium ion服务器流式下载和加载三维资产的核心功能。

2025-07-18 00:38:44 1024

原创 QGIS+CesiumIon

QGIS 3.44中,新增了3D 场景新增地球视图模式,通过Cesium ion插件,支持谷歌全球倾斜模型的加载显示。目录1CesiumIon插件安装2 加载谷歌全球倾斜模型1、CesiumIon插件安装点击菜单PluginsManageandInstallPlugins接着搜索Cesiumion插件点击InstallPlugin按钮安装CesiumIon插件。安装完毕后,可。

2025-07-02 23:31:16 629

原创 qgis_mcp

本文介绍了QGIS_MCP插件的安装与使用方法。首先详细说明了插件下载安装步骤,包括从GitHub获取插件、QGIS软件安装以及插件导入流程。接着指导用户进行客户端配置,涉及VSCode中cline扩展的安装和DeepSeek API的设置。最后简要提及了插件应用案例和原理分析。该插件可实现语音控制地图场景生成,为QGIS用户提供了便捷的交互式操作方案。

2025-06-29 10:22:45 1199

原创 osgPotree:基于OSG的插件,支持Potree点云读取

Potree 是一种高效的点云数据可视化框架,广泛应用于三维建模、测绘和虚拟现实等领域。osgPotree 是基于 OpenSceneGraph(OSG)开发的插件,支持直接加载 PotreeConverter 2.0 生成的点云数据,为 OSG 用户提供便捷的点云渲染方案。本文介绍该插件的功能特性及使用方法。目录。

2025-06-03 13:30:09 1491 19

原创 vulkanscenegraph显示倾斜模型(6.4)-多线程下的记录与提交

上章深入分析了帧循环中呈现阶段的具体实现。本章将分析多线程下的记录与提交,进一步剖析vsg帧循环过程中的同步机制,并揭露信号量(VkSemaphore)和围栏(VkFence)以及vsg::FrameBlock与vsg::Barrier在其中的作用。目录1 信号量(VkSemaphore)、栅栏(VkFence)、vsg::FrameBlock与vsg::Barrier2 多线程记录与提交。

2025-05-04 21:42:27 972

原创 vulkanscenegraph显示倾斜模型(6.3)-呈现

上章深入分析了帧循环中记录与提交的处理流程。本章将继续分析帧循环过程中最后一部分的内容:呈现,上章通过代码的分析,在记录与提交阶段,队列提交完成后生成通知信号量,本章将通过代码剖析呈现阶段的具体工作,说明上一阶段(记录与提交阶段)完成后的通知信号量与呈现阶段的关系。目录2 呈现。

2025-05-03 01:08:58 977

原创 vulkanscenegraph显示倾斜模型(6.2)-记录与提交

上章通过代码深入分析了帧循环中事件处理与更新两个关键处理流程。本章将继续分析帧循环过程中后续内容:记录与提交。目录1 记录与提交。

2025-05-02 21:04:46 969

原创 vulkanscenegraph显示倾斜模型(6.1)-事件处理与更新

上章通过代码深入分析了前进到下一帧的详细过程。本章将继续分析帧循环过程中后续内容:事件处理与更新过程。目录1 事件处理2 更新。

2025-05-02 00:37:27 1216

原创 vulkanscenegraph显示倾斜模型(6)-帧循环

上一部分,通过十个章节的内容,对视景器的初始化与准备工作进行了系统性的剖析。本章将在该基础上,探讨vsg中的帧循环机制,主要包含前进到下一帧、事件处理、更新、记录与提交、呈现五个部分,同时整个过程包含了复杂的多线程处理与同步操作,本章作为帧循环部分的第一章,在整体介绍帧循环的内容的同时,将深入分析前进到下一帧的详细过程。

2025-04-24 20:09:17 1024

原创 vulkanscenegraph显示倾斜模型(5.10)-vsg::TransferTask

上一章深入分析了vulkan资源的编译的过程,通过vsg::CompileTravesal对场景子图进行遍历,实现vulkan对象的创建和GPU内存的分配。本章将在该基础上,进一步探讨vsg::TransferTask数据传输过程。同时本章介绍vkCmdCopyBuffer等重要命令。目录2 vkCmdCopyBuffer的使用。

2025-04-20 01:04:29 1166

原创 vulkanscenegraph显示倾斜模型(5.9)-vsg中vulkan资源的编译

上一章深入剖析了GPU资源内存及其管理,vsg中为了提高设备内存的利用率,同时减少内存(GPU)碎片,采用GPU资源内存池机制(vsg::MemoryBufferPools)管理逻辑缓存(VkBuffer)与物理内存(VkDeviceMemory)。本章将深入vsg中vulkan资源的编译(包含视景器编译),着重于当vsg::TransferTask不为空时,vulkan资源的创建与收集过程,包含视景器编译与节点动态加载后的编译两个部分。

2025-04-13 20:20:12 779

原创 vulkanscenegraph显示倾斜模型(5.8)-视景器编译

上一章深入剖析了Vulkan渲染过程中的核心组件VkPipeline,以及vsg中针对图形渲染管线的封装GraphicsPipeline,本章将继续深入探讨视景器准备过程中的最后一章视景器编译,并进一步深入vsg中显存的传输机制,即vsg::TransferTask的设计。vsg中GPU数据的传递包含编译(Compile和数据传递(transfer)两个过程。

2025-04-12 21:57:38 810

原创 vulkanscenegraph显示倾斜模型(5.7)-vsg::GraphicsPipeline

上一章深入剖析了vsg::RenderGraph对Vulkan渲染流程的封装,重点探讨了vsg::FrameBuffer、vsg::RenderPass和vsg::ImageView三个Vulkan渲染过程中的核心组件。本章将在该基础上,进一步探讨Vulkan渲染过程中的另一核心组件——VkPipeline,以及vsg中针对图形渲染管线的封装GraphicsPipeline。目录1 GraphicsPipeline的创建2 GraphicsPipeline的绑定。

2025-04-06 12:54:51 765

原创 vulkanscenegraph显示倾斜模型(5.6)-vsg::RenderGraph的创建

上一章深入分析了vsg::CommandGraph的创建过程及其通过子场景遍历实现Vulkan命令录制的机制。本章将在该基础上,进一步探讨Vulkan命令录制中的核心封装——vsg::RenderGraph。作为渲染流程的关键组件,RenderGraph封装了vkCmdBeginRenderPass和vkCmdEndRenderPass的核心功能,RecordTraversal会在这两个关键调用之间遍历并处理其子节点。

2025-04-04 21:35:20 1279

原创 vulkanscenegraph显示倾斜模型(5.5)-CommandGraph的创建

CommandGraph是VulkanSceneGraph(VSG)框架中的一个核心类,它封装并管理Vulkan命令缓冲区及其提交到队列的过程。本章将从CommandGraph的继承关系与创建、依赖(与Framebuffer、Window、Device、CommandBuffer、RecordTraversal的强关联设计)两个方面探讨CommandGraph的创建过程。目录1 CommandGraph的继承关系与创建。

2025-03-31 01:17:16 727

原创 vulkanscenegraph显示倾斜模型(5.4)-相机操纵器

在VSG(Vulkan Scene Graph)中,系统支持用户通过鼠标或触摸输入与三维场景进行交互,从而动态控制相机的位置和姿态,实现与三维场景的交互。VSG提供了多种相机操纵器,其中Trackball是一种常见的相机操作器,模拟了一个虚拟的轨迹球,用户可拖动鼠标来旋转、平移和缩放场景。机操纵器的本质是通过用户交互动态修改视图矩阵,从而改变模型在视口中的显示效果。

2025-03-23 22:39:56 1359

原创 osgVerse显示地球

osgVerse实现了一种轻量级的地球可视化方案。该方案通过实现TMS(Tile Map Service)插件,采用动态LOD(Level of Detail)层级构建技术,构建地球瓦片系统。与osgEarth相比,osgVerse实现地球可视化的区别在于:1)完全基于OSG的插件体系构建地球瓦片系统;2)未像osgEarth一样对着色器进行封装而自成一套系统;3)完全采用DatabasePager来实现瓦片的调度。本章将重点解析osgVerse基于OSG插件机制实现地球瓦片系统的动态构建逻辑。

2025-03-16 22:48:55 1300

原创 vulkanscenegraph显示倾斜模型(5.2)-交换链

在 VulkanSceneGraph(VSG)中,vsg::Window 类对窗口进行了高层次的封装,为开发者提供了便捷的窗口管理接口。在上一篇文章中,我们探讨了 VkInstance、VkSurfaceKHR、VkPhysicalDevice 和 VkDevice 的创建过程,以及它们在 VSG 中的封装方式及其相互关系。

2025-03-09 23:24:54 910

原创 vulkanscenegraph显示倾斜模型(5.1)-窗口创建

在VulkanSceneGraph(VSG)中,vsg::Window类对窗口进行了高层次的封装,为开发者提供了便捷的窗口管理接口。本章将深入探讨VSG中窗口创建的具体过程,涵盖从底层的Vulkan对象(如VkInstance、VkSurfaceKHR、VkPhysicalDevice和VkDevice)的创建到它们之间的相互关系,以及VSG如何对这些对象进行封装和抽象。目录2 底层的Vulkan对象3 vsg::Window 中的窗口创建。

2025-03-08 17:23:48 847

原创 vulkanscenegraph显示倾斜模型(5)-视景器准备

本文在接着往下讨论视景器准备相关步骤。Vulkan相比opengl更底层,其提供了更底层的硬件控制、更高的性能以及更好的多线程支持,VSG 通过封装 Vulkan 的复杂性,提供了更简单易用的接口,同时保留了 Vulkan 的高性能和灵活性。它简化了 Vulkan 的初始化、渲染管线配置、资源管理和事件处理。

2025-03-02 21:17:51 528

原创 vulkanscenegraph显示倾斜模型(4)-数据读取

本文在上篇文章的基础上,进一步深入探讨数据读取机制的实现细节。回顾 OpenSceneGraph (OSG),其通过 osgDB 库管理场景数据的读取和写入。常用的读取函数包括 osgDB::readNodeFile 和 osgDB::readImageFile,它们能够根据文件扩展名自动选择合适的插件进行加载。插件机制是 OSG 数据读取的核心,主要包括插件的注册、发现以及相关接口的定义(基类 osgDB::ReaderWriter 提供了这些接口的具体定义)。

2025-02-23 10:53:04 257

原创 vulkanscenegraph显示倾斜模型(3)-vsg::Allocator

本文在上篇文章的基础上,进一步深入对vsg::Allocator的理解,以官方的说明()为基础,结合相关代码和个人的理解,对其进行说明。目录1 Allocator概念2 工作原理3 例子。

2025-01-08 20:12:00 1241

原创 vulkanscenegraph显示倾斜模型(2)-参数解析与环境变量

本篇文章在上篇vulkanscenegraph显示倾斜模型-优快云博客的基础上,浅析测试用例中的参数解析与环境变量设置部分(具体涉及代码的第1至第17行)。

2025-01-06 20:38:35 383

原创 vulkanscenegraph显示倾斜模型

本文作为vsg(vulkanscenegraph)显示倾斜模型的开端,从最外层来了解VSG的渲染特点,通过从现象上观察vsg显示倾斜模型的特点,并于osg渲染倾斜模型进行简单对比,方便后续一步步深入探究vsg渲染逻辑。本文参照官方的实现来编写vsg显示倾斜模型的用例,需要依赖除osg外vsg、vsgxchage、osg2vsg三个相关的库。

2025-01-04 10:11:04 1684

原创 osg::HeightField贴纹理

osg中提供了osg::HeightField可绘制四角面片,其基类为osg::Shape, 通过BuildShapeGeometry将osg::HeightField转换为osg::Geometry实现数据的可绘制。变量1:表示列数、行数;变量2:表示左下角点坐标值(最小的X和最小的Y);变量3:x方向间隔;变量4:y方向间隔;本文简单介绍了osg::HeightField,以及其贴纹理的方法。其中蓝色的底板表示纹理覆盖范围。

2024-11-30 17:00:42 185

原创 osgEarth中显示XYZ影像服务

XYZImageLayer继承自ImageLayer,提供接口setProfile()设置影像数据源的坐标系,提供接口setInvertY()设置数据的坐标原点是左上角还是左下角。XYZ瓦片是一种在线地图数据格式,它将地图切割成一系列小块的图片(即瓦片),这些瓦片按照特定的规则(如ZXY规范)进行编号和组织,以便用户能够快速访问和加载所需的地图区域。openstreetmap国内不能访问,可设置代理进行访问,环境变量设置如下,分别对应代理的地址和端口号。接下来着重分析XYZImage图层。

2024-10-27 21:14:33 467

原创 EEditor中的redo/uodo机制

和传统的C++中Command设计模式一致,EcommandManager管理命令,同时提供了命令类ECommand。其中EcommandManager中存在两个列表,一个为可撤销命令列表,另一个为可重做命令列表。而传统方式,提供纯虚类ICommand,通过继承ICommand,从而实现扩展。可重做命令列表:当执行redo命令,将命令pop_back出可重做命令列表,而push_back可撤销命令列表;如下图所示,其中m_stackOldCmd1为命令栈,而m_stackOldCmd2为undo命令栈。

2024-09-28 21:30:16 483

vsgCs编译相关源码与编译结果

vsgCs是基于Vulkan场景图(VSG)框架开发的三维地理空间数据加载库,专为高效处理3D Tiles等大规模地理空间数据而设计。该库深度整合Cesium Native工具包,实现了从Cesium ion服务器流式下载和加载三维资产的核心功能。本资源包含vsgCs编译过程中所有源码及其安装结果。直接运行vcgCs\ReleaseBin\bin\worldviewer.exe目录下的可执行程序,可执行程序直接跟json文件,同时需设置好VSG_FILE_PATH环境变量,整个过程需能够科学上网。

2025-07-18

PotreeConverter转换的示例点云

PotreeConverter转换的示例点云,格式为.las,共3402226个点。

2025-06-02

vulkanAndVsg

源码+安装的库+例子

2025-01-03

CloudCompare用户手册2.6.1.pdf

CloudCompare 官方说明文档,介绍了CloudCompare的功能,在其官网上可下载,在此处也可下载。

2020-08-01

pdal2.7.1点云布料模拟滤波

pdal2.7.1点云布料模拟滤波,C++调用源码。

2024-05-02

PointThnningPlugin.zip

CloudCompare中的一个插件源码,实现点云抽稀的功能,针对CloudCompare 2.12,其它版本可稍微修改即可。

2020-08-01

动态链接库的生成与调用

该压缩包下包含两个压缩包,分别为dll生成工程和dll调用工程

2018-06-17

Qt下为主窗口创建自主菜单

描述了在Qt下,如何在主窗口类中创建自主菜单,同时说明了常见的错误以及解决方法

2018-03-31

Qt自定义继承QOpenGLWidget的类进行绘图

在Qt下利用自定义opengl类,同时重载paintGl函数进行绘图操作

2018-03-31

VS2015+openCV3.3 实现color transfer

基于VS2015环境和openCV环境下实现原始影像到目标影像的颜色转换,此操作是在lab颜色空间对两者计算得到

2017-10-23

dayata_3d_2.zip

大雁塔3dtiles

2021-03-14

吴恩达机器学习第三周程序作业答案

吴恩达机器学习第三周课后答案,本人亲自做的,并且是满分

2018-03-22

华为春招面试编程题2

面试春招编程题

2020-03-13

华为技术面试题1,图片的形式展现

华为春季招聘,技术面试题目,主要是对字符串的操作,统计和描述等,判断所得字

2020-03-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除