- 博客(90)
- 资源 (10)
- 收藏
- 关注
原创 vulkanscenegraph显示倾斜模型(6.5)-vsg::DatabasePager
上章深入分析了帧循环过程中,多线程下的记录与提交机制。本章将分析vsg::DatabasePager在更新场景图过程中的作用,进一步揭露vsg中场景图管理机制,并通过分析代码,详细解释vsg中场景图管理机制中的节点添加、节点删除、节点加载过程。同时本章也作为vulkanscenegraph显示倾斜模型主体内容的最后一章。目录3 帧循环过程中的场景图更新机制。
2025-05-05 21:44:25
1255
原创 vulkanscenegraph显示倾斜模型(5.3)-相机
在Vulkan中,相机的概念并非由API直接提供,而是由应用程序实现。相机的核心功能包括视图变换和投影变换:视图变换将世界坐标系中的物体转换到相机坐标系,投影变换则将相机坐标系中的物体转换到投影空间。在VSG(Vulkan Scene Graph)框架中,vsg::Camera类封装了视图矩阵和投影矩阵,并提供了便捷的接口来管理相机。本章将深入探讨Vulkan中的矩阵变换原理,以及VSG对相机功能的封装与实现。目录2 vsg中的视图变换3 vsg中的投影变换。
2025-03-16 15:01:10
1543
原创 CloudCompare学习(1)- CloudCompare 编译及普通插件实现
最近由于工作需求,偏向点云算法库的学习。给定一些无序三维点,可以构建点云的三角网,接着赋纹理,如果算法足够稳健,也是很强大的,毕竟由一些点得到了一个模型。由于刚入门,从开源库和开源软件学起,首先学习软件的动作,接着结合源码进行分析。CloudCompare 是一款非常好的开源点云显示和处理软件,尤其是有比较好的框架,使其有很强的可扩展性,这点也值得学习。其采用GPL授权,使在此框架下开发的应用软件也必须开源,这点对商业公司可能不友好,但对广大码友还是很好的。 下面主要从两个方面...
2020-08-02 13:07:52
3198
原创 Qt5.9.4中利用QOpenGLWidget类进行opengl绘图
首先打开Qt Creator,然后点击菜单 ,文件->新建文件和项目,如图所示:左边选择Application,右边选择Qt Widgets Application,点击Choose...,项目名称为myOpenGLShow,接着下一步,一直默认,到Details,如下:点击取消选中创建界面(G)。然后下一步,知道完成,程序显示的为mainwindow.cpp文件:接着是利用QOpenGLW...
2018-03-31 22:11:20
31496
9
原创 qgis-samgeo
本章以QGIS为例,实操samgeo插件在QGIS中的应用。SamGeo是一款基于Segment Anything Model(SAM)的QGIS遥感图像分割插件。SamGeo支持SAM1、SAM2、SAM3模型;提供文本输入、点标记(前景/背景标记)、框选三种交互形式;支持结果输出为矢量(GeoPaclage/Shapefile)或栅格(GeoTIFF)目录。
2026-06-16 23:10:02
251
原创 智慧城市可视化:基于osgPotree 的都柏林大规模点云高程着色实践
本文介绍了使用osgPotree实现都柏林大规模点云渲染的方法。首先概述了DublinCity数据集,包含超过15亿点的LiDAR数据,并提供了批量下载脚本。其次详细说明了将LAZ格式转换为Potree点云格式的步骤,最终生成76.8GB数据。最后展示了基于osgPotreeViewer工具的三种渲染模式:普通显示、高程着色和高程均匀着色。文章提供了完整的数据下载链接和转换工具参考,为大规模点云可视化提供了实用解决方案。
2026-04-16 22:39:19
449
原创 深入 llama.cpp:词汇表与分词——从文本到 Token (4)
大语言模型无法直接处理原始字符串,必须先将文本切分为词元(Token);随后结合模型内置的词汇表与嵌入(Embedding)矩阵,将词元数组映射为高维向量序列,作为后续模型推理计算的输入基础。本章将深入探讨大语言模型推理的关键准备环节——词汇表与分词,从基础知识、实验与现象和分析与结论三个方面展开详细的介绍。
2026-04-03 13:12:52
539
原创 深入 llama.cpp:模型加载与初始化(3)
摘要:本文深入探讨了基于GGUF格式的大语言模型加载与初始化过程。首先介绍了GGUF格式的特点和文件结构,包括头文件、张量信息和数据三部分。随后从代码层面分析了llama.cpp中的模型加载流程,详细阐述了从server_context到llama_model的调用路径,以及gguf_context和ggml_context的解析过程。文章还提及了GPU计算后端加载和tensor处理等关键环节,为后续模型推理奠定了基础,同时指出分词处理将是下一阶段的重点研究内容。
2026-03-29 22:03:24
543
原创 深入 llama.cpp:llama-server-- 从命令行到HTTP Server(2)
llama-server是llama.cpp中用于发布大模型服务的工具。它通过极简的命令行配置,将复杂的模型推理过程封装为通用的 HTTP 接口;在底层,它选择以纯 C++ 编写的 cpp-httplib 作为服务框架的底层。本章分为应用实战与底层架构两部分。首先,我们将介绍不同参数下的大模型服务发布;接着,我们将详细解析 cpp-httplib 在项目中的具体实现,帮助读者掌握该服务端在网络调度层面的运行逻辑。
2026-03-14 22:28:23
3715
1
原创 初识llama.cpp - 轻量级推理引擎(1)
在 LLM 落地应用的过程中,推理效率和部署门槛是开发者面临的两大痛点。llama.cpp 以其卓越的跨平台兼容性和惊人的推理速度,成为了当前本地推理事实上的工业标准。本系列文章将构建一条从“应用使用”到“源码解析”的学习曲线,包含入门与概览、模型加载与初始化、推理循环核心、计算后端与性能调优、总结与展望五个部分。第一章“初识 llama.cpp-轻量级推理引擎”作为入门与概览的首篇文章,将从简介、编译、本地运行三个方面,快速建立对llamacpp的认识。
2026-03-07 23:39:25
966
4
原创 osgCopc:基于OSG的插件,支持大体量Copc点云读取
本章将介绍一种新的海量点云渲染方案—osgCopc。作为 OSG 的插件,将 COPC(Cloud Optimized Point Cloud,云优化点云)格式集成到场景图中。该插件充分发挥了 COPC 的云原生优势,通过将 COPC 内部的八叉树索引信息动态地转化为 OSG 的PagedLOD节点,实现了海量数据在本地或云端的按需加载、分级渲染与高效流式传输。osgPotree: 针对Potree 2.0转换的结果,在osg中直接显示,通过插件osgPotree实现。目录1 COPC点云介绍。
2026-02-08 11:27:09
798
原创 pointCloudExtractor:一个基于 osgPotree 的点云数据提取工具
上一节通过OSG插件的方式,成功将Potree点云数据集成至OSG渲染引擎,实现了大规模点云数据的高效加载与可视化呈现(osgPotree:基于OSG的插件,支持Potree点云读取-CSDN博客osgPotree:基于OSG的插件,支持Potree点云读取-CSDN博客。本节将在上节的基础上,进一步实现一个指定空间范围提取点云数据的工具。目录1 点云提取器设计2 测试效果。
2026-01-25 20:27:12
704
原创 Unreal+Osg-单个osgb文件显示
本章通过Unreal与osg库结合的形式实现了单个osgb文件在Unreal主视口中的显示,下章将深入osg场景图的机制,讨论如何封装osg场景图,以支撑大体量倾斜模型在Unreal中动态更新与显示。
2026-01-02 21:07:27
843
原创 CesiumforUnreal环境准备
本章通过Unreal C++编译的形式准备了CesiumforUnreal环境,下章将通过借鉴CesiumforUnreal加载3dtiles过程中到Unreal几何体的转换,尝试将单个osgb文件同样转换为Unreal几何体,并在Unreal场景中渲染。
2025-12-21 21:38:46
1018
原创 osg中文字的使用
在 osg 中,osgText 组件负责所有文字渲染细节,不仅支持设置字体、颜色、尺寸和位置,还允许配置字符大小模式与自动朝向屏幕旋转等高级特性,以实现丰富的文字显示效果。
2025-11-30 21:07:56
492
原创 基于模板缓冲的矢量贴地显示
第二节:倾斜摄影模型上的矢量完全贴地方案(3.20直播回放)_哔哩哔哩_bilibili) ,对该方法进行了梳理与改进,并将最终的代码开源(总体方案可概括为三次绘制过程1)绘制地形(或倾斜模型),正常情况下的绘制,即打开深度测试,深度和颜色缓冲可写入,同时构建矢量包围盒;2)采用模板测试标记矢量在地形(或倾斜模型)上覆盖的区域;3)根据标记结果,实现矢量贴地绘制。本文的改进主要有两点:1)矢量包围盒的创建;2)矢量贴地显示支持透明度显示。
2025-10-08 21:56:16
258
原创 基于模板缓冲的矢量贴地显示
第二节:倾斜摄影模型上的矢量完全贴地方案(3.20直播回放)_哔哩哔哩_bilibili) ,对该方法进行了梳理与改进,并将最终的代码开源(总体方案可概括为三次绘制过程1)绘制地形(或倾斜模型),正常情况下的绘制,即打开深度测试,深度和颜色缓冲可写入,同时构建矢量包围盒;2)采用模板测试标记矢量在地形(或倾斜模型)上覆盖的区域;3)根据标记结果,实现矢量贴地绘制。本文的改进主要有两点:1)矢量包围盒的创建;2)矢量贴地显示支持透明度显示。
2025-10-08 21:51:44
137
原创 osg中相机矩阵到vsg相机矩阵的转换
在OSG和VSG中,相机的核心功能主要包括视图变换与投影变换:视图变换负责将世界坐标系中的物体转换到相机坐标系,而投影变换则进一步将相机坐标系中的物体映射到投影空间。由于OpenGL与Vulkan在底层实现上存在差异,Vulkan的深度范围定义为[0, 1],且y轴方向由上向下,这与OpenGL有所不同。因此,本章将重点讨论从OSG相机矩阵到VSG相机矩阵的转换方法,并进一步讨论投影矩阵之间的转换。目录1 vsg相机矩阵到CesiumNative间的矩阵转换。
2025-10-03 15:41:25
582
原创 Cesium+VSG显示谷歌全球倾斜模型-数据转换
本章将在上章基础上,接着深入vsgCs中CesiumNative数据到vsg::Node的转换过程。目录1 CesiumNative多线程数据读取2 CesiumNative数据转vsg::Node。
2025-08-31 18:42:29
377
原创 Cesium+VSG显示谷歌全球倾斜模型-节点
本章将在上章json解析与vsg场景图根节点创建的基础上,继续深入vsgCs中的节点,包含vsgCs::WorldNode和vsgCs::TilesetNode,深入两者与Cesium3DTilesSelection::Tileset的结合,并进一步剖析场景图的更新过程。目录1 vsgCs节点与CesiumNative的结合2 场景图更新。
2025-08-28 23:13:50
744
原创 Cesium+VSG显示谷歌全球倾斜模型-json解析与vsg场景图根节点创建
vsgCs显示谷歌全球倾斜模型系列》将从四个方面来进行说明,包含1)json解析与vsg场景图根节点创建;2)vsgCs中的节点与场景图的更新;3)数据结构转换(gltf转vsg可绘制节点) ,本章将从worldviewer项目出发,深入json解析与vsg场景图根节点创建部分,此部分更多体现了作者对程序入口的设计和规范,通过设置正确的参数保证达到预期的显示效果。目录1 json解析。
2025-07-21 00:29:02
1091
原创 Cesium+VSG显示谷歌全球倾斜模型
vsgCs是基于Vulkan场景图(VSG)框架开发的三维地理空间数据加载库,专为高效处理3D Tiles等大规模地理空间数据而设计。该库深度整合Cesium Native工具包,实现了从Cesium ion服务器流式下载和加载三维资产的核心功能。
2025-07-18 00:38:44
1161
原创 QGIS+CesiumIon
QGIS 3.44中,新增了3D 场景新增地球视图模式,通过Cesium ion插件,支持谷歌全球倾斜模型的加载显示。目录1CesiumIon插件安装2 加载谷歌全球倾斜模型1、CesiumIon插件安装点击菜单PluginsManageandInstallPlugins接着搜索Cesiumion插件点击InstallPlugin按钮安装CesiumIon插件。安装完毕后,可。
2025-07-02 23:31:16
804
原创 qgis_mcp
本文介绍了QGIS_MCP插件的安装与使用方法。首先详细说明了插件下载安装步骤,包括从GitHub获取插件、QGIS软件安装以及插件导入流程。接着指导用户进行客户端配置,涉及VSCode中cline扩展的安装和DeepSeek API的设置。最后简要提及了插件应用案例和原理分析。该插件可实现语音控制地图场景生成,为QGIS用户提供了便捷的交互式操作方案。
2025-06-29 10:22:45
1363
原创 osgPotree:基于OSG的插件,支持Potree点云读取
Potree 是一种高效的点云数据可视化框架,广泛应用于三维建模、测绘和虚拟现实等领域。osgPotree 是基于 OpenSceneGraph(OSG)开发的插件,支持直接加载 PotreeConverter 2.0 生成的点云数据,为 OSG 用户提供便捷的点云渲染方案。本文介绍该插件的功能特性及使用方法。目录。
2025-06-03 13:30:09
1782
19
原创 vulkanscenegraph显示倾斜模型(6.4)-多线程下的记录与提交
上章深入分析了帧循环中呈现阶段的具体实现。本章将分析多线程下的记录与提交,进一步剖析vsg帧循环过程中的同步机制,并揭露信号量(VkSemaphore)和围栏(VkFence)以及vsg::FrameBlock与vsg::Barrier在其中的作用。目录1 信号量(VkSemaphore)、栅栏(VkFence)、vsg::FrameBlock与vsg::Barrier2 多线程记录与提交。
2025-05-04 21:42:27
1055
原创 vulkanscenegraph显示倾斜模型(6.3)-呈现
上章深入分析了帧循环中记录与提交的处理流程。本章将继续分析帧循环过程中最后一部分的内容:呈现,上章通过代码的分析,在记录与提交阶段,队列提交完成后生成通知信号量,本章将通过代码剖析呈现阶段的具体工作,说明上一阶段(记录与提交阶段)完成后的通知信号量与呈现阶段的关系。目录2 呈现。
2025-05-03 01:08:58
1019
原创 vulkanscenegraph显示倾斜模型(6.2)-记录与提交
上章通过代码深入分析了帧循环中事件处理与更新两个关键处理流程。本章将继续分析帧循环过程中后续内容:记录与提交。目录1 记录与提交。
2025-05-02 21:04:46
1014
原创 vulkanscenegraph显示倾斜模型(6.1)-事件处理与更新
上章通过代码深入分析了前进到下一帧的详细过程。本章将继续分析帧循环过程中后续内容:事件处理与更新过程。目录1 事件处理2 更新。
2025-05-02 00:37:27
1250
原创 vulkanscenegraph显示倾斜模型(6)-帧循环
上一部分,通过十个章节的内容,对视景器的初始化与准备工作进行了系统性的剖析。本章将在该基础上,探讨vsg中的帧循环机制,主要包含前进到下一帧、事件处理、更新、记录与提交、呈现五个部分,同时整个过程包含了复杂的多线程处理与同步操作,本章作为帧循环部分的第一章,在整体介绍帧循环的内容的同时,将深入分析前进到下一帧的详细过程。
2025-04-24 20:09:17
1096
原创 vulkanscenegraph显示倾斜模型(5.10)-vsg::TransferTask
上一章深入分析了vulkan资源的编译的过程,通过vsg::CompileTravesal对场景子图进行遍历,实现vulkan对象的创建和GPU内存的分配。本章将在该基础上,进一步探讨vsg::TransferTask数据传输过程。同时本章介绍vkCmdCopyBuffer等重要命令。目录2 vkCmdCopyBuffer的使用。
2025-04-20 01:04:29
1216
原创 vulkanscenegraph显示倾斜模型(5.9)-vsg中vulkan资源的编译
上一章深入剖析了GPU资源内存及其管理,vsg中为了提高设备内存的利用率,同时减少内存(GPU)碎片,采用GPU资源内存池机制(vsg::MemoryBufferPools)管理逻辑缓存(VkBuffer)与物理内存(VkDeviceMemory)。本章将深入vsg中vulkan资源的编译(包含视景器编译),着重于当vsg::TransferTask不为空时,vulkan资源的创建与收集过程,包含视景器编译与节点动态加载后的编译两个部分。
2025-04-13 20:20:12
857
原创 vulkanscenegraph显示倾斜模型(5.8)-视景器编译
上一章深入剖析了Vulkan渲染过程中的核心组件VkPipeline,以及vsg中针对图形渲染管线的封装GraphicsPipeline,本章将继续深入探讨视景器准备过程中的最后一章视景器编译,并进一步深入vsg中显存的传输机制,即vsg::TransferTask的设计。vsg中GPU数据的传递包含编译(Compile和数据传递(transfer)两个过程。
2025-04-12 21:57:38
875
原创 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
846
原创 vulkanscenegraph显示倾斜模型(5.6)-vsg::RenderGraph的创建
上一章深入分析了vsg::CommandGraph的创建过程及其通过子场景遍历实现Vulkan命令录制的机制。本章将在该基础上,进一步探讨Vulkan命令录制中的核心封装——vsg::RenderGraph。作为渲染流程的关键组件,RenderGraph封装了vkCmdBeginRenderPass和vkCmdEndRenderPass的核心功能,RecordTraversal会在这两个关键调用之间遍历并处理其子节点。
2025-04-04 21:35:20
1394
原创 vulkanscenegraph显示倾斜模型(5.5)-CommandGraph的创建
CommandGraph是VulkanSceneGraph(VSG)框架中的一个核心类,它封装并管理Vulkan命令缓冲区及其提交到队列的过程。本章将从CommandGraph的继承关系与创建、依赖(与Framebuffer、Window、Device、CommandBuffer、RecordTraversal的强关联设计)两个方面探讨CommandGraph的创建过程。目录1 CommandGraph的继承关系与创建。
2025-03-31 01:17:16
776
原创 vulkanscenegraph显示倾斜模型(5.4)-相机操纵器
在VSG(Vulkan Scene Graph)中,系统支持用户通过鼠标或触摸输入与三维场景进行交互,从而动态控制相机的位置和姿态,实现与三维场景的交互。VSG提供了多种相机操纵器,其中Trackball是一种常见的相机操作器,模拟了一个虚拟的轨迹球,用户可拖动鼠标来旋转、平移和缩放场景。机操纵器的本质是通过用户交互动态修改视图矩阵,从而改变模型在视口中的显示效果。
2025-03-23 22:39:56
1423
原创 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
1512
原创 vulkanscenegraph显示倾斜模型(5.2)-交换链
在 VulkanSceneGraph(VSG)中,vsg::Window 类对窗口进行了高层次的封装,为开发者提供了便捷的窗口管理接口。在上一篇文章中,我们探讨了 VkInstance、VkSurfaceKHR、VkPhysicalDevice 和 VkDevice 的创建过程,以及它们在 VSG 中的封装方式及其相互关系。
2025-03-09 23:24:54
969
原创 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
885
vsgCs编译相关源码与编译结果
2025-07-18
VS2015+openCV3.3 实现color transfer
2017-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅