- 博客(22)
- 收藏
- 关注

原创 osgearth 动态shader效果
实现自定义几何体的动态效果,基本思路是传入一个动态变化的值,变换的范围(0.0,1.0),计算距离设定圆环的颜色。
2025-04-11 15:32:42
433

原创 osgearth 加载离线tms地图和高程切片
这里介绍osgearth加载地图的详细过程,包括直接加载大块的tif文件和tms金字塔的切片以及利用Nginx发布为tms服务的详细过程。
2025-04-03 15:54:12
752
2
原创 Cesium 创建两个经纬度点的动态连接线
本文介绍了在Cesium中创建两个经纬度点连线并实现动态扫描效果的实现方法。首先通过Cesium.Cartesian3.fromDegrees()方法将经纬度转换为三维坐标,计算两点间距离。然后定义了顶点着色器和片元着色器,其中片元着色器利用时间变量u_time实现扫描线动画效果,通过计算当前点与扫描线的距离来控制颜色透明度。最后通过GeometryInstance和Primitive创建几何图形实例,并添加自定义着色器的外观对象,实现两点间的动态连线效果。该方法适用于三维地理可视化场景中的动态路径展示。
2025-07-24 18:55:40
128
原创 osgearth 连接两个经纬度点
本文介绍了在osgEarth2.7环境中实现两点间连线的方法。通过定义起点和终点的经纬度坐标,将其转换为世界坐标系下的三维坐标,计算两点间的距离向量。利用向量运算确定旋转轴和角度,最终通过PositionAttitudeTransform设置连线位置和姿态。该方法实现了精确的空间两点连接可视化功能,为地理信息系统开发提供了实用解决方案。
2025-07-15 18:01:47
174
原创 Cesium开启海洋水效果
《Cesium实现海洋效果新方法》摘要:最新版Cesium 1.101提供了原生海洋效果实现方案,通过创建全球矩形并应用Water材质,参数化调节波浪频率(10000)、动画速度(0.01)、振幅(5)等特性。使用specularMap区分陆海边界,搭配normalMap生成水纹,但需注意默认资源像素较粗糙,高要求项目需二次加工。相比旧版UE5插件需缓存在线数据的方案,该原生实现更便捷,代码简洁,仅需30行核心逻辑即可构建动态海洋场景。(149字)
2025-07-09 19:00:16
179
原创 Cesium实现半球扫描效果
摘要:本文介绍了基于Cesium 1.98版本实现的雷达扫描特效类开发。通过创建填充的半圆几何体和自定义着色器,实现了动态扫描效果。关键步骤包括:1)使用球面坐标生成半圆顶点数据;2)编写顶点和片段着色器实现扫描动画;3)通过时间变量控制扫描线旋转。该方案采用PrimitiveCollection组合方式,支持半径调整和颜色自定义,扫描区域采用黄色高亮显示并伴有透明度渐变效果。开发者需注意版本兼容性和性能优化问题。
2025-06-24 19:01:17
179
原创 osgearth相控阵雷达
这篇文章详细介绍了如何使用OpenSceneGraph (OSG) 创建相控阵雷达的可视化效果。作者通过绘制半个球体并添加四个裁剪面实现雷达造型,关键步骤包括:1) 使用QUAD_STRIP图元构建半透明曲面网格;2) 通过深度测试和混合模式实现正确渲染;3) 添加四个裁剪平面完成雷达外形;4) 创建旋转扇叶作为动态元素。文中特别强调了透明渲染的关键设置和解决Z-fighting问题的技巧,同时提供了完整的代码实现,包括顶点计算、状态设置和裁剪处理等核心功能。
2025-06-24 18:55:10
100
原创 osgearth 车辆贴合地面移动
摘要:本文提出了一种车辆姿态计算方法,通过从高空向地面发射四条射线检测地形高度,获取四个交点坐标后计算地面法线,进而确定车辆姿态。关键代码展示了如何通过坐标转换和矩阵运算实现:1)获取地形交点;2)计算中心点和位移矩阵;3)通过向量运算求法线;4)分解四元数计算俯仰、横滚和航向角;5)将前进方向投影到地形切平面。该方法适用于复杂地形条件下的车辆姿态模拟。
2025-05-30 18:07:21
212
原创 osgearth 雷达包络效果
本文介绍了如何通过自定义图元实现雷达包络的简易效果。开发环境包括osg3.4、osgearth2.7、qt5.9.5和vs2015。关键代码展示了如何创建雷达包络的三维曲面,包括设置采样步长、计算蒙皮采样点、设置曲面颜色和图元类型,以及实现半透明效果。代码还涉及绘制网格线、解决Z-fighting问题以及确保深度测试正确。通过这些步骤,成功实现了雷达包络的视觉效果。
2025-05-19 18:44:33
276
5
原创 osgearth 实现简单的雷达扫描
本文介绍了如何使用着色器实现贴地扫描效果,并在此基础上添加线框、刻度盘等元素。首先,通过构建几何体(BuildEntityBody函数)创建一个圆形节点,并设置其样式和位置。接着,通过着色器代码(InitShaderProgram函数)实现扫描效果,计算角度差值并根据时间动态更新颜色。最后,通过CreateShaders函数将着色器程序应用到几何体上,并设置相关参数如时间、基础颜色和扫描颜色。通过EntityUpdate函数驱动着色器的时间参数,实现动态扫描效果。该技术可用于雷达扫描等场景,具有较高的实用性
2025-05-14 14:36:36
275
原创 osgearth 设置物体的旋转
本文介绍了在OpenSceneGraph(OSG)和osgEarth中坐标系和欧拉角的定义及其应用。OSG使用右手坐标系,X轴向右,Y轴向上,Z轴向前,而osgEarth基于OSG,但在地理空间中扩展了地理坐标系,默认使用ENU(东-北-天)坐标系。文章详细说明了如何通过构建旋转矩阵并应用到节点来设置物体的旋转,并提供了创建和添加调试坐标轴到场景的代码示例。通过这些步骤,开发者可以有效地在三维场景中控制物体的方向和位置。
2025-05-10 17:15:03
343
原创 osgearth 贴地线绘制
本文介绍了如何基于地理坐标绘制贴地线,并实现选中闪烁效果和点自适应大小。开发环境为osg3.4、osgearth2.7、qt5.9.5和vs2015。关键代码部分展示了如何通过osg::Geode和osg::Sphere绘制球体,并通过osgEarth::Geometry绘制贴地线。选中闪烁效果通过调整osg::Uniform中的simTime和baseColor实现,而点自适应大小则根据视点与实体的距离动态调整球体半径。代码中还涉及了状态设置、多边形偏移和深度测试等细节,以确保渲染效果的正确性。
2025-05-09 19:09:22
320
原创 osgearth加载离线dem高程切片
这里介绍osgearth加载地图的详细过程,包括直接加载大块的tif文件和tms金字塔的切片以及利用Nginx发布为tms服务的详细过程。
2025-04-08 16:49:02
517
原创 osgearth加载fbx模型
之前从源码编译了osg和osgearth,因为没有编译加载fbx的插件(osgdb_fbx.dll),从新又编译了一遍。有了这个插件之后,代码就特别简单。
2025-04-03 11:53:36
213
原创 osgearth集成qt
从源码编译osg、osgearth,折腾了一周的qt5.2.1+vs2010后,果断放弃。成功编译了并集成了下面的版本。这种方式只能是单线程,切换成多显示会崩溃。
2025-04-03 11:44:35
347
6
原创 Ceisum 动态着色器03_漫水方式扫描
Cesium利用定点着色器和片元着色器实现动态效果,适当的更改可应用到自己的项目。一、效果展现二、代码实现三、工程资源下载。
2024-01-28 11:58:41
115
原创 Cesium 动态着色器02_扩散波纹效果
Cesium利用定点着色器和片元着色器实现动态效果,适当的更改可应用到自己的项目。一、效果展现二、代码实现。
2024-01-28 11:51:27
147
原创 Cesium 动态着色器shader01_流水线效果
利用定点着色器和片元着色器实现动态效果,适当的更改可应用到自己的项目。一、效果展现二、代码实现(全部)三、代码工程下载。
2024-01-28 11:41:54
155
原创 UE4 动态着色器shader01_流水线效果
利用shader编写HLSL着色器,实现动态效果,可根据自己的需求任意拓展。一、效果展现二、蓝图材质部分三、着色器代码。
2024-01-28 11:23:50
142
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人