Cesium 贴地圆 并显示外轮廓线 outline

news2024/11/26 0:31:49

老规矩:直接放效果图,符合就往下看,不符合出门右转。

在这里插入图片描述

  • cesium官方暂时未提供贴地的圆,添加外轮廓线。

思路能不能写glsl更改材质,让图形显示外轮廓线。设置一个阈值距离圆心距离定值内显示一种颜色,超过这个阈值显示另一种颜色。

资料来资源Shadertoy BETA网站,网友提供的代码。

czm_material czm_getMaterial(czm_materialInput materialInput){
 	czm_material material = czm_getDefaultMaterial(materialInput);
	vec2 st = materialInput.st;
	material.diffuse = color.rgb;
    float dis = distance(st, vec2(0.5, 0.5));
    if(dis>d) {
         material.alpha = 1.0;
     }else {
    	material.alpha = color.a;
  	}
    return material;
}

函数解析

distance 获取两个点之间的距离.
为什么求(0.5,0.5)的距离了,因为坐标系左上角(0,0),所以中心点为(0.5,0.5)

示例代码

viewer.scene.groundPrimitives.add(new GroundPrimitive({
	geometryInstances: new GeometryInstance({
		geometry: new CircleGeometry({
          center: p,
          radius: r,
          extrudedHeight: HeightReference.CLAMP_TO_GROUND
       }),
 	}),
    appearance: new Appearance({
       material: new Material({
           fabric: {
              type: 'stroke',
                uniforms: {
                 	color: Color.fromCssColorString("rgba(0,0,255,0.2)"),
                    d: 0.49
                 },
                 source: `czm_material czm_getMaterial(czm_materialInput materialInput)
                              {
                                czm_material material = czm_getDefaultMaterial(materialInput);
                                vec2 st = materialInput.st;
                                material.diffuse = color.rgb;
                                float dis = distance(st, vec2(0.5, 0.5));
                                if(dis>d) {
                                    material.alpha = 1.0;
                                }else {
                                    material.alpha = color.a;
                                }
                                return material;
                              }`,
                        },
                    })
                })
            }));

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2208546.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JQuery基本操作(二)

遍历 $(选择器).each(function(下标,值){//代码块 });$.each(数组名,function(下标,值){//代码块 }); <body><button> 获得数组下标和值</button> </body> <script>$(function(){$("button").click(function(){var arr [1,2,3,4,5,…

PN8036非隔离DIP7直插12V500MA开关电源芯片

PN8036宽输出范围非隔离交直流转换芯片 &#xff0c;集成PFM控制器及650V高雪崩能力智能功率MOSFET&#xff0c;用于外围元器件极精简的小功率非隔离开关电源。PN8036内置650V高压启动模块&#xff0c;实现系统快速启动、超低待机功能。该芯片提供了完整的智能化保护功能&#…

软考《信息系统运行管理员》- 5.2 信息系统数据资源例行管理

5.2 信息系统数据资源例行管理 文章目录 5.2 信息系统数据资源例行管理数据资源例行管理计划数据资源载体的管理存储介质借用管理存储介质转储管理存储介质销毁管理 数据库例行维护健康检查数据库日志检查数据库一致性检查 数据库监测管理数据库备份与恢复数据库备份与恢复数据…

【Qt】详细Qt基础 (包括自定义控件)

目录 QT 概述创建项目项目文件&#xff08;. pro&#xff09;main.cppmainwindow.uimainwindow.hmainwindow.cpp 窗口类QWidget 窗口显示QDialog 窗口 QPushButton创建显示 对象树基本概念功能 坐标体系控件Item WidgetsQListWidgetQTreeWidgetQTableWidget 自定义控件 QT 概述…

Java_EE 多线程技术(Thread)--2

线程同步的使用使用this作为线程对象锁 某一个同步块需要同时拥有“两个以上对象的锁”时&#xff0c;就可能会发生“死锁”的问题。比如&#xff0c;“化妆线程”需要同时拥有“镜子对象”、“口红对象”才能运行同步块。那么&#xff0c;实际运行时&#xff0c;“小丫的化妆线…

解锁健康低卡的沙拉汁,享受清爽美味!

文章目录 蜂蜜芥末沙拉汁香草酸奶沙拉汁香草酸奶沙拉红酒醋黄芥末汁油醋沙拉汁百香果沙拉汁柠檬油醋汁蜂蜜芥末沙拉汁 往密封罐里,加入芥末酱、蜂蜜、苹果醋和胡椒,然后秘诀来了:用力摇10秒让油汁充分融合乳化,可以增添这款沙拉酱浓醇的厚度和风味。 香草酸奶沙拉汁 先将…

pytest + yaml 框架 - 支持pytest-repeat插件重复执行用例

平常在做功能测试的时候&#xff0c;经常会遇到某个模块不稳定&#xff0c;偶然会出现一些bug&#xff0c;对于这种问题我们会针对此用例反复执行多次&#xff0c;最终复现出问题来。 自动化运行用例时候&#xff0c;也会出现偶然的bug&#xff0c;可以针对单个用例&#xff0…

轻催和重催的催收方式?

在催收行业中&#xff0c;"轻催"和"重催"的概念通常指的是催收的策略和手段的不同。 轻催&#xff1a;这种方法通常适用于逾期时间较短&#xff0c;债务人可能只是暂时遗忘或遇到了短期的流动性问题。轻催的手段包括发送提醒通知、进行友好的电话提醒等&am…

汇编语言实现字母大小写转换

程序运行后数据段内容如箭头所示 执行转换后内存内容变为&#xff1a; 确实进行成功转换了

基于 CSS Grid 的简易拖拉拽 Vue3 组件,从代码到NPM发布(2)- NPM发布、在线示例

这里分享一下本开源项目是如何构建组件库及其如何发布到NPM上的&#xff0c;还有组件库与在线示例的构建有什么差异。 请大家动动小手&#xff0c;给我一个免费的 Star 吧~ 大家如果发现了 Bug&#xff0c;欢迎来提 Issue 哟~ github源码 NPM 示例地址 版本更新信息 这两天抽空…

file-unpumper:一款针对PE文件的安全分析工具

关于file-unpumper file-unpumper是一款针对PE&#xff08;可移植可执行&#xff09;文件的安全分析工具&#xff0c;可以帮助广大研究人员轻松对PE文件执行安全分析与审计任务。 file-unpumper是一款功能强大的命令行实用程序&#xff0c;旨在清理和分析可移植可执行(PE)文件…

XPath网页数据提取的得力助手

使用影刀RPA操作网页元素&#xff0c;你会发现总会有获取不到情况&#xff0c;这时我们就需要使用XPath来获取了。上一篇博文抓取小说内容&#xff0c;我们就是使用XPath来定位元素&#xff0c;简单快捷。 今天我们就来简单聊聊XPath&#xff01; 在当今数字化的时代&#xff…

介绍 MarsCode AI:下一代智能编程助手

在现代软件开发中&#xff0c;效率和代码质量的提升越来越成为开发者关注的焦点。今天&#xff0c;我们将介绍一款革命性的编程助手—— 豆包 MarsCode 编程助手&#xff0c;它由北京引力弹弓科技有限公司开发&#xff0c;旨在极大地提高开发流程中的各种环节&#xff0c;让编程…

Cuda-By-Example - 4

引入Thread概念 第4章使用GPU做并行运算的例子&#xff0c;归结起来就是定义一个内核函数&#xff0c;将数组dev_a和dev_b某一对元素相加。GPU发起N个block运行内核函数。每个block有自己的索引&#xff0c;这样kernel就可以凭借这个索引区分自身&#xff0c;来计算数组对应的…

Github 优质项目推荐(第七期):涵盖免费服务、API、低代码、安卓root、深度学习

文章目录 Github优质项目推荐 - 第七期一、【LangGPT】&#xff0c;5.7k stars - 让每个人都成为提示专家二、【awesome-selfhosted】&#xff0c;198k stars - 免费软件网络服务和 Web 应用程序列表三、【public-apis】&#xff0c;315k stars - 免费 API四、【JeecgBoot】&am…

如何在 cPanel 中使用 PHP-FPM

PHP性能一直是影响网站托管的一个重要问题。PHP是当前网络上使用最广泛的服务器编程语言&#xff0c;远远领先于其他语言。最受欢迎的内容管理系统和电子商务应用程序&#xff0c;如WordPress、Joomla、Drupal、Magento等&#xff0c;都是用PHP编写的。 PHP-FPM加速了在繁忙服务…

推荐几本编程入门书目

对于编程入门&#xff0c;推荐以下几本书籍&#xff0c;这些书籍覆盖了不同的编程语言&#xff0c;适合零基础的学习者逐步掌握编程基础&#xff1a; 1. 《Python编程快速上手——让繁琐工作自动化》 特点&#xff1a;以简单易懂的方式介绍了Python的基础知识和编程概念&#…

2024年四非边缘鼠鼠计算机保研回忆(记录版 碎碎念)

Hi&#xff0c;大家好&#xff0c;我是半亩花海。写下这篇博客时已然是金秋十月&#xff0c;心中的石头终于落地&#xff0c;恍惚间百感交集。对于保研这条路&#xff0c;我处于摸着石头过河、冲击、随缘的这些状态。计算机保研向来比其他专业难&#xff0c;今年形势更是艰难。…

如何做好薪酬福利体系设计,更好实现员工激励?

如何做好薪酬福利体系设计&#xff0c;更好实现员工激励&#xff1f; 中国作为福利制度建设的佼佼者&#xff0c;尤其在新中国成立后&#xff0c;员工福利体系日益丰富&#xff0c;涵盖了健康保障、休假权益及养老规划等多元化形式&#xff0c;作为间接报酬&#xff0c;有效激…

按模板批量生成工作表

按模板批量生成工作表&#xff0c;前提一个模板&#xff0c;然后用代码遍历循环填写人名&#xff0c;再保存为副本&#xff0c;即可达到效果 按模板批量生成工作表代码 Sub 批量生成员工表()last Sheet73.Range("C65535").End(xlUp).Row 普通区域arr Sheet73…