首页 > 其他分享 >Cesium实现雷达效果

Cesium实现雷达效果

时间:2024-11-10 11:16:02浏览次数:3  
标签:material 效果 float st vec2 vec3 czm Cesium 雷达

目录

项目地址

https://github.com/zhengjie9510/webgis-demo

实现效果

核心代码

var radar = scene.primitives.add(
 new Primitive({
   geometryInstances: redCone,
   appearance: new MaterialAppearance({
     // 自定义纹理
     material: new Material({
       fabric: {
         // type: "radar",
         uniforms: {
           color: new Color(0.2, 1.0, 0.0, 1.0),
           repeat: 30.0,
           offset: 0.0,
           thickness: 0.2,
         },
         source: `
           uniform vec4 color;
           uniform float repeat;
           uniform float offset;
           uniform float thickness;
           czm_material czm_getMaterial(czm_materialInput materialInput)
           {
             czm_material material = czm_getDefaultMaterial(materialInput);
             float sp = 1.0/repeat;
             vec2 st = materialInput.st;
             float dis = distance(st, vec2(0.5));
             float m = mod(dis + offset, sp);
             float a = step(sp*(1.0-thickness), m);
             material.diffuse = color.rgb;
             material.alpha = a * color.a;
             vec3 normalMC = material.normal;
             if(normalMC.y < 0.0 && normalMC.z < 0.0)
             { 
               discard;
             }
             return material;
           }`,
       },
       translucent: true,
     }),
     faceForward: false, // 当绘制的三角面片法向不能朝向视点时,自动翻转法向,从而避免法向计算后发黑等问题
     closed: true, // 是否为封闭体,实际上执行的是是否进行背面裁剪
     vertexShaderSource: `
       in vec3 position3DHigh;
       in vec3 position3DLow;
       in vec3 normal;
       in vec2 st;
       in float batchId;

       out vec3 v_positionEC;
       out vec3 v_normalEC;
       out vec2 v_st;

       void main()
       {
         vec4 p = czm_computePosition();

         v_positionEC = (czm_modelViewRelativeToEye * p).xyz;      // position in eye coordinates
         v_normalEC =  normal;                         // normal in world coordinates
         v_st = st;

         gl_Position = czm_modelViewProjectionRelativeToEye * p;
       }`,
   }),
 })
)

标签:material,效果,float,st,vec2,vec3,czm,Cesium,雷达
From: https://blog.csdn.net/qq_26610239/article/details/143657970

相关文章

  • 少儿编程教育全面普及,赛事和等级考试成为教学效果的关键
    随着少儿编程教育在国内的迅速普及,越来越多家长关注如何衡量孩子的学习效果。然而,由于少儿编程属于科学素质类课程,与传统学科不同,目前尚未形成标准化的课程和评价体系。这一现状使得如何有效外化和评估教学效果成为少儿编程教育中的一大痛点。在这一背景下,各类编程赛事、等级考......
  • Unity类银河战士恶魔城学习总结(P118 Thunder Strike On Ability 制作一把带有雷电效果
    【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili教程源地址:https://www.udemy.com/course/2d-rpg-alexdev/本节实现了一个能给武器和水晶爆炸技能附魔的项链,取名为风暴之心都是在造成伤害函数的部分加上了触发特殊效果的代码Sword_Skill_Controller.cs修改......
  • Vue+CSS 炫酷新年特效教程:极光背景+彩带+粒子动画 用 Vue 和 CSS 动画打造 2025 新年
    效果图......
  • 使用HTML、CSS和JavaScript创建动态雪人和雪花效果
    ✅作者简介:2022年博客新星第八。热爱国学的Java后端开发者,修心和技术同步精进。......
  • WPF+MVVM案例实战与特效(二十六)- 3D粒子方块波浪墙效果实现
    文章目录1、案例效果2、案例实现1、文件创建2.功能代码实现3、粒子功能应用1、前端布局与样式2、代码解释2、后端功能代码1、案例效果2、案例实现1、文件创建打开Wpf_Examples项目、Models文件夹下创建3D粒子模型类ParticleCubeWaveMode......
  • CSS实现图片3D立体效果
    概述本文主要讲述如何通过CSS简单的设置就可以实现图片的3D立体效果。3D立体效果当鼠标移入某一个图片上时,其余图片会像该图片倾斜。具体实现静图如下:倒影效果图片会有一个倒影效果,其代码如下:<style>img{-webkit-box-reflect:below1pxli......
  • AI写作软件,一键生成原创文章效果高
    在信息爆炸的时代,内容创作成为各行各业竞争的关键。然而,对于许多创作者而言,如何在保证质量的同时,提高写作效率,成为一大难题。近日,一款名为AI写作软件的创新工具横空出世,为广大创作者带来了福音。本文将详细介绍这款软件的优势,以及如何帮助创作者解决文章不显示疑似AI生成注......
  • 带你用HTML+CSS+JS实现动态滚动骰子投掷效果!
    今天带大家用HTML+CSS+JS实现动态骰子投掷效果,下面来看看实现的效果:点击开始投掷,骰子开始滚动。点击停止投掷,骰子面会随机定在一个点数 那么如何实现呢?请听我细细讲解:一、骰子面的样式与布局1、样式:1、其中每一面大量的运用了flex布局来实现了骰面上圆点的位置。2......
  • 雷达目标检测cfar小白版本
     一编2024.11.7日 目前只是简单概念后续持续更**参考单元**和**保护单元**的概念###1.什么是保护单元?**保护单元**是指在检测过程中,紧邻目标检测单元的几个位置(也称距离单元)。这些单元的作用是**防止目标信号影响噪声估计**。例如,如果我们想在位置\(i\)检测......
  • 《智能驾驶之激光雷达算法详解》外参标定
    本书的第三章、第四章是对标定算法的讲解,第三章着重讲解了激光雷达相对于车体的外参标定算法,将激光雷达外参算法初步分为了三类,①基于道路、标定物特征的雷达动态外参标定。②基于手眼模型的雷达外参标定③基于积累点云特征化的雷达外参标定算法。本章对分别这三个方向选取了比......