cesium & gl
opengl,cesium等渲染引擎相关
cxy_hust
这个作者很懒,什么都没留下…
展开
-
learnOGL 结合代码看一些光照模型以及高级光照
直接看这个shader:2 gamma矫正一句话理解他: 物理显示器显示(线性空间)的颜色亮度为0.5,人看到的亮度会为0.5^2.2,也就是更暗了,于是需要先做1/2.2次幂的拔高在使用了gamma校正之后,另一个不同之处是光照衰减(Attenuation)。真实的物理世界中,光照的衰减和光源的距离的平方成反比。但是由于本身有gamma矫正,所以我们就用双曲线函数衰减就行了,因为最后会乘以2.2次幂!约等于距离平方反比3 阴影映射(定向阴影贴图技术)(基于光照空间的深度缓冲和正常渲染空间的深度缓冲做原创 2022-06-20 22:02:03 · 290 阅读 · 0 评论 -
pangolin动态点云展示示例[pangolin][动态点云]
0 结果展示1 下载编译pangolin的库https://github.com/stevenlovegrove/Pangolin.git该库中本身含有libpng, libjpg, libzip2 当需要调用该库时:调用时依赖如下:(本项目并未上传所有依赖,部分依赖需要单独下载然后放到thirdparty目录里)# includeF:\prjs\ORB_SLAM3_Fix\ORB_SLAM3\Thirdparty\Pangolin\include;F:\prjs\ORB_SLAM3_Fix原创 2021-08-28 17:42:26 · 997 阅读 · 0 评论 -
使用pangolin 动态展示点云变化[pangolin][动态ply]
0 结果展示1 下载编译pangolin的库https://github.com/stevenlovegrove/Pangolin.git该库中本身含有libpng, libjpg, libzip2 当需要调用该库时:调用时依赖如下:(本项目并未上传所有依赖,部分依赖需要单独下载然后放到thirdparty目录里)# includeF:\prjs\ORB_SLAM3_Fix\ORB_SLAM3\Thirdparty\Pangolin\include;F:\prjs\ORB_SLAM3_Fix原创 2021-07-17 18:50:28 · 851 阅读 · 0 评论 -
经纬度转WGS84坐标
1 cesium/source/core/cartesian3.js 经纬度转WGS84坐标代码:直接去github看cesium的源码实现就行了:Cartesian3.fromRadians = function ( longitude, latitude, height, ellipsoid, # default is WGS84 result) { //>>includeStart('debug', pragmas.debug); Check.typeOf原创 2021-09-12 21:05:53 · 2148 阅读 · 0 评论 -
cesium实现飞机与键盘交互[HPR][plane][fps]
在cesium中实现键盘监听控制飞机的heading pitch roll主要参考例子:https://sandcastle.cesium.com/index.html?src=HeadingPitchRoll.html上述例子中的第一人称视角处理有纰漏,改进后的效果和实现的代码如下: let canvas = viewer.canvas; canvas.setAttribute("tabindex", "0"); // needed to put f原创 2021-04-19 21:11:29 · 526 阅读 · 0 评论 -
拉格朗日插值平滑三维折线[cesium][LagrangePolynomialApproximation]
使用拉格朗日插值平滑曲线1 平滑前后效果对比:平滑前平滑后2 拉格朗日插值代码:(参考cesium源码)结合拉格朗日原理:https://zhuanlan.zhihu.com/p/135229305源码如下:https://github.com/CesiumGS/cesium/blob/b30/Source/Core/LagrangePolynomialApproximation.js#L39 /** * Interpolates values using Lagrang原创 2021-04-14 21:14:08 · 1994 阅读 · 0 评论 -
抛物线模拟合地对空导弹轨迹[python][抛物线][地对空导弹轨迹]
需求给定地对空导弹发射起始点和终止点(3维坐标),拟合导弹轨迹思路1 首先简单化问题,假定导弹轨迹位于同一个平面内,则可以将轨迹投影到x-O-z平面,先求出x-z的关系,求一系列的散点,然后根据x,y的关系求出y的散点值即可2 之所以选取抛物线,因为导弹轨迹需要垂直发射的过程,存在斜率不存在的点常见的曲线为抛物线和圆,由于圆显然不合适,我们选取抛物线实现效果实现的数学逻辑1 起始点和终止点的定义:# startPos and endPos in [lon, lat, height原创 2021-04-11 14:40:27 · 2091 阅读 · 0 评论 -
cesium label实现信息动态更新且跟随实体[cesium info dynamic tracking]
1 效果图2 实现方式采用cesium自带的label来实现: this._viewer!.entities.add({ // id: "Vehicle", id: vehicleID, ...<被作者省略> label: { show: true, showB原创 2021-02-19 23:47:45 · 2498 阅读 · 3 评论 -
Cesium贴地车俯仰角跟随地形且动态贴地线
1 实现要求1 地面车辆按照规定的起点和终点运行2 地面车辆必须贴地运动3 地面车辆的必须有俯仰角的变化4 循环播放,且车辆经过路径动态高亮,下一次循环清除高亮2 实现效果3 实现代码将如下代码替换到cesium的一个例子中即可:https://sandcastle.cesium.com/index.html?src=Interpolation.html var viewer = new Cesium.Viewer("cesiumContainer", { infoBox: f原创 2021-01-09 19:01:54 · 1312 阅读 · 0 评论