- 博客(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
基于tinyobjloader重写并编译的osg读取obj插件,速度比osg自带的obj读取插件速度快不少
2025-10-23
MAPGIS组件开发手册.pdf
2009-01-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅