自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (5)
  • 收藏
  • 关注

原创 Cesium分屏-相机控制器

《Cesium多视口分屏交互问题解决方案》摘要:针对Cesium多视口分屏模式下出现的鼠标交互偏移问题,本文分析了导致相机运动轨迹异常的根源,并提出有效解决方案。原单视口交互逻辑在多视口场景中未能正确处理鼠标坐标位置转换,造成缩放、旋转等操作出现偏差。通过改进视口坐标转换机制和相机控制算法,成功实现了分屏模式下精准的交互响应,显著提升了多视口并行业务场景的操作体验。

2025-10-27 15:10:15 600

原创 Cesium多视口分屏

本文提出了一种基于单Viewer实例的多视口分屏方案,用于解决Cesium中传统多Viewer分屏方式存在的性能开销大、资源竞争、事件冲突等问题。方案通过修改Scene核心渲染逻辑,动态调整viewport参数,实现了水平、垂直和四分屏三种模式。相比多Viewer方案,该方案在保持较高帧率的同时显著降低了资源消耗,但需进一步解决相机偏移、鼠标拾取等问题

2025-10-24 17:45:53 1004

原创 osg开发-坐标拖拽器

本文介绍了如何扩展osg的TranslateAxisDragger拖拽器,实现沿XYZ轴及XY/YZ/XZ平面复合拖动的功能。作者通过创建继承自TranslateAxisDragger的MoveDragger类,添加三个平面拖拽器;构建PlaneDragger类并重写几何设置方法;调整平面方向;实现拖动事件响应机制;最后通过重写traverse方法实现拖拽器大小的动态调整。该扩展解决了osg默认拖拽器缺少平面拖动功能的问题,并优化了视觉交互体验,使三维场景编辑更加高效直观。

2025-10-21 11:07:04 452

原创 osg开发-分屏

在OpenSceneGraph中实现分屏对比功能可采用多相机模式。通过设置主从相机的GraphicsContext和不同视口范围实现分屏显示,同时利用CULL_MASK控制节点在不同相机中的可见性。具体操作为:1)创建从相机并设置视口;2)分别设置主从相机的CULL_MASK;3)通过NodeMask控制节点在各屏的显示状态。该方法能有效实现在不同屏幕区域展示不同节点内容的效果。

2025-10-20 16:52:14 263

原创 osg开发-操作器TrackballManipulator改造

摘要:文章针对OSG自带的TrackballManipulator操作器在大范围场景中旋转中心固定、操控不便的问题,提出了一种改进方案。作者通过继承TrackballManipulator创建BallManipulator类,重写鼠标操作方法:使用左键平移视图,中键以鼠标位置为中心旋转视图。核心改进在于rotateTrackX方法,通过计算鼠标移动距离在虚拟圆柱体上的投影,实现以鼠标为中心的旋转效果。该方法保留了OSG原有的操作逻辑,仅修改关键部分,有效解决了大场景操作不便的问题,提供更接近Cesium的交

2025-08-19 11:38:14 405

原创 osg开发-Plugins/obj改造

osg提供了obj插件用于读取obj格式的模型文件,当模型文件三角网不多的情况下效率还是不错的,但是当三角网达到百万级时效率有明显的下降。readObj是osg插件读取文件的入口,使用tinyOBJ的LoadObj接口读取attrib、shapes、materials;高效且易于使用的Obj模型格式读取插件,读取效率比osg自带的Plugins要高不少,因此考虑将。和原有代码没有区别,添加了一个条件编译,现在osg读取obj模型文件效率有了质的飞跃。

2025-07-04 11:14:42 251

原创 osg开发-读取shape

摘要:OSG在读取Shape文件时出现属性数值错误,原因是其XBaseParser.cpp源码仅支持C(字符)、N(数值)、I(整数)、O(双精度)四种数据类型,而DBF规范包含更多类型(F/L/D/B/T等)。需扩展源码对未支持类型的处理逻辑,才能正确解析所有属性数据。

2025-07-03 18:10:00 302

原创 osg开发-三角网提取

摘要:在使用OSG读取倾斜摄影数据时,通过NodeVisitor遍历Geometry获取的三角网(红色线)与实际视图中的三角网(黑线)不一致。分析发现因倾斜摄影数据具有LOD层级,原方法遍历了全部子节点(TRAVERSE_ALL_CHILDREN),导致获取的是最小层级数据。解决方案是将遍历参数改为TRAVERSE_ACTIVE_CHILDREN,仅访问当前激活节点,从而获取与视图匹配的三角网数据。

2025-07-03 16:26:14 343

针对osg读取shape文件dbf时未处理的F、L、D、B、T类型进行单独的处理

完善osg读取shape文件dbf时部分属性无法读取的问题

2025-10-23

基于tinyobjloader重写并编译的osg读取obj插件,速度比osg自带的obj读取插件速度快不少

osg提供了obj插件用于读取obj格式的模型文件,当模型文件三角网不多的情况下效率还是不错的,但是当三角网达到百万级时效率有明显的下降。

2025-10-23

C#完全手册.pdf

C#完全手册 全面介绍C#的一本难得的好书!

2009-01-04

数据结构算法:Visual C++6.0程序集.pdf

使用C++语言描述数据结构和算法 本书通俗易懂,内容丰富;

2009-01-04

MAPGIS组件开发手册.pdf

MAPGIS组件开发手册 第一部分(即第一章和第二章):介绍MAPGIS 组件的特点、层次结构以及如何在 常见的软件开发环境(主要是VB 和C++)中用MAPGIS 组件进行二次开发。 第二部分(即第三章至第十章):详细介绍了MAPGIS 组件和控件的方法、属性及 事件。 第三部分(即附录部分):提供本书所有MAPGIS 组件对象和控件的索引,方便读 者迅速的查找。

2009-01-04

ArcSDE轻松入门

ArcSDE入门教程,讲述ArcSDE的安装,工作原理和使用,欢迎大家一起学习

2009-03-31

空空如也

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

TA关注的人

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