Geo3D建筑材质切换+屋顶纹理

一、简介

基于Threejs开发封装建筑渲染管线,利用简单二维建筑矢量面轮廓程序化生成3D建筑,支持材质一键切换,支持多样化建筑墙面材质和屋顶材质,支持建筑透明,支持地形高程适配,支持按空间范围裁剪挖洞等。

二、效果

三、代码

///建筑///
const buildingPipline = new Geo3D.BuildingPipline({
    themeName: Geo3D.ThemeName.Theme_Realistic,
    pbfUrl: map.staticPath + '/static/' + 'shijingshan.bpf',
    heightProp: 'height',
    bottomHeight: 67,
    extent: extentCoords as Geo3D.Point[],
    exclude: excludeCoords as Geo3D.Point[],
    scene: scene
})
buildingPipline.add();

GUI//
const vm = {
    simpleTheme: () => {
        Geo3D.ThemeUtil.setTheme(Geo3D.ThemeName.Theme_Simple);
    },
    realTheme: () => {
        Geo3D.ThemeUtil.setTheme(Geo3D.ThemeName.Theme_Realistic);
    },
};
const gui = new GUI();
gui.domElement.style.transform = 'scale(1.5)';
gui.domElement.style.transformOrigin = 'right top';
//@ts-ignore
gui.add(vm, "simpleTheme").name("白模");
//@ts-ignore
gui.add(vm, "realTheme").name("实景");

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows 系统 Docker Desktop 入门教程:从零开始掌握容器化技术

文章目录 前言一、Docker 简介二、Docker Desktop 安装2.1 系统要求2.2 安装步骤 三、Docker 基本概念四、Docker 常用命令五、实战:运行你的第一个容器5.1 拉取并运行 Nginx 容器5.2 查看容器日志5.3 停止并删除容器 六、总结 前言 随着云计算和微服务架构的普及&…

以太网口的协议与电路波形

一直有一个疑问,MCU通过SPI协议与一个以太网芯片通信,这个芯片直接将其转化为了以太网所需的电平和协议标准,这其中发生了什么,开发者有需要关注哪些方面呢? 先看以太网模块的设计: 可以看到也是MCU和以太…

Uniapp 页面返回不刷新?两种方法防止 onShow 触发多次请求!

目录 前言1. 变量(不生效)2. 延迟(生效) 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 在 Uniapp 中,使用 onShow() 钩子来监听页面显示&#xff0…

数据结构--【顺序表与链表】笔记

顺序表 template <class T> class arrList :public List<T> //表示 arrList 类以公有继承的方式继承自 List<T> 类 //公有继承意味着 List<T> 类的公共成员在 arrList 类中仍然是公共成员&#xff0c;受保护成员在 arrList 类中仍然是受保护成员。 { …

LeetCode1137 第N个泰波那契数

泰波那契数列求解&#xff1a;从递归到迭代的优化之路 在算法的世界里&#xff0c;数列问题常常是我们锻炼思维、提升编程能力的重要途径。今天&#xff0c;让我们一同深入探讨泰波那契数列这一有趣的话题。 泰波那契数列的定义 泰波那契序列 Tn 有着独特的定义方式&#xf…

小程序是否支持SSE

小程序目前没有直接支持SSE&#xff0c;但是有提供request的分块传输&#xff0c;但是使用分块去接收&#xff0c;读的这一次可能是一条json&#xff0c;也可能是json的一半&#xff0c;数据很难处理&#xff0c;建议还是使用小程序WebSocket来实现通信 代码示例&#xff1a; …

09第三方库的使用

1.下载第三方库源码 &#xff08;例如:jpeg解码库&#xff09; Independent JPEG Group 即下载jpeg的源码到电脑的每个文件中&#xff08;要记得是下载到哪里了&#xff09;然后登陆ubantu中建立一个文件将源码cp到该文件中&#xff0c;然后第一步解压源码&#xff0c;第二步…

【前端】webstorm创建一个导航页面:HTML、CSS 和 JavaScript 的结合

文章目录 前言一、项目结构二、HTML 结构三、CSS 样式四、JavaScript 功能五、现代化风格优化htmlcssjavascript运行效果 总结 前言 在现代网页开发中&#xff0c;一个良好的导航栏是提升用户体验的重要组成部分。在这篇文章中&#xff0c;我将向您展示如何创建一个简单而完整…

licheepi nano usb RNDIS连接外网方法及使用

文章目录 前言一、准备操作二、链接外网步骤1.安装g_ether驱动2.修改ip3.连接外网4.进一步配置DNS5.使用外网&#xff08;debian系统&#xff09;6.licheepi nano镜像源选择&#xff08;debian系统&#xff09; 总结 前言 前序内容使用licheepi nano 连接到了PC&#xff0c;可…

视频理解开山之作 “双流网络”

1 论文核心信息 1.1核心问题 任务&#xff1a;如何利用深度学习方法进行视频中的动作识别&#xff08;Action Recognition&#xff09;。挑战&#xff1a; 视频包含时空信息&#xff0c;既需要捕捉静态外观特征&#xff08;Spatial Information&#xff09;&#xff0c;也需要…

ARMv8寄存器的介绍

一、寄存器的作用 寄存器是CPU的内部组成单元&#xff0c;是CPU运算时取指令和数据最快的地方。它可以用来暂存指令、数据和地址。在CPU的控制部件中&#xff0c;包含的寄存器有指令寄存器&#xff08;IR&#xff09;和程序计数器&#xff08;PC&#xff09;。CPU的算术逻辑部…

步进电机软件细分算法解析与实践指南

1. 步进电机细分技术概述 步进电机是一种将电脉冲信号转换为角位移的执行机构&#xff0c;其基本运动单位为步距角。传统步进电机的步距角通常为 1.8&#xff08;对应 200 步 / 转&#xff09;&#xff0c;但在高精度定位场景下&#xff0c;这种分辨率已无法满足需求。细分技术…

【AD】5-12 Object元素的隐藏与显示

1.CtrlD进入Object显示界面&#xff0c;进行显示或隐藏

【 <一> 炼丹初探:JavaWeb 的起源与基础】之 Servlet 过滤器:实现请求的预处理与后处理

<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、过滤器&…

Linux16-数据库、HTML

数据库&#xff1a; 数据存储&#xff1a; 变量、数组、链表-------------》内存 &#xff1a;程序运行结束、掉电数据丢失 文件 &#xff1a; 外存&#xff1a;程序运行结束、掉电数据不丢失 数据库&#xff1a; …

uniapp实现的个人中心页面(仿小红书)

采用 uniapp 实现的一款仿小红书个人中心页面模板&#xff0c;支持vue2、vue3, 同时适配H5、小程序等多端多应用。 简约美观大方 可到插件市场下载尝试&#xff1a; https://ext.dcloud.net.cn/plugin?id22516 示例

【运维篇】KubeSphere-02(经验汇总)

一、使用建议 1.对于数据库、对像存储比较重的要不能丢失&#xff0c;有异地存储备份需求的有状态服务&#xff0c;不建议采用k8s进行部署&#xff0c;会导致运维难度更大。 2.对于中间件如redis、MQ、harbor、seata、nacos、zookeeper可采用k8s部署。 3.对于无状态服务tomc…

基于单片机及传感器的机器人设计与实现

摘要 : 本设计基于单片机及多种传感器 , 完成了一个自主式移动机器人的制作。单片机作为系统检测和控制的核心 , 实现对机器人小车的智能控制。反射式红外光电传感器检测引导线, 使机器人沿轨道自主行走 ; 使用霍尔集成片 , 通过计车轮转过的圈数完成机器人行走路程测量; …

SQLiteStudio:一款免费跨平台的SQLite管理工具

SQLiteStudio 是一款专门用于管理和操作 SQLite 数据库的免费工具。它提供直观的图形化界面&#xff0c;简化了数据库的创建、编辑、查询和维护&#xff0c;适合数据库开发者和数据分析师使用。 功能特性 SQLiteStudio 提供的主要功能包括&#xff1a; 免费开源&#xff0c;可…

SpringBoot过滤器(Filter)的使用:Filter接口、FilterRegistrationBean类配置、@WebFilter注释

1、过滤器(Filter)的介绍 Spring Boot 的过滤器用于对数据进行过滤处理。通过 Spring Boot 的过滤器,程序开发人员不仅可以对用户通过 URL 地址发送的请求进行过滤处理(例如:过滤一些错误的请求或者请求中的敏感词等),而且可以对服务器返回的数据进行过滤处理(例如:压…