BIM模型HLoD设计文档

BIM模型HLoD设计文档作者 迷途的小书童 微信公众号 g0415shenwer 模型 Hlod 设计文档 Bim 模型的渲染我们采用 Hlod 的解决方案来解决大规模的模型渲染的问题 我们参考 cesiumgs 的

//作者:迷途的小书童

//微信公众号:g0415shenweri

Bim模型Hlod设计文档

BIM模型HLoD设计文档


Bim模型的渲染我们采用Hlod的解决方案来解决大规模的模型渲染的问题。

我们参考cesiumgs的3dtiles的设计格式进行设计。

3dtile格式

我们采用json的形式来组织Hlod数据

看下面示例:

json格式一:

{ "asset": { "version": "1.0", "tilesetVertion": "saffaasd" }, "properties": { "Height": { "minimum": 1, "maximum": 241.6 } }, "geometricError": 494.815, "root": { "boundingVolume": { "box": [ -1766., 1557., 55.25, 3513., 0, 0, 0, 4087., 0, 0, 0, 88.78 ] }, "geometricError": 268.053, "refine": "ADD", "content": { "uri": "0/0/0.b3dm", "boundingVolume": { "box": [ -1766., 1557., 55.25, 3513., 0, 0, 0, 4087., 0, 0, 0, 88.78 ] } }, "children": [ { "boundingVolume": { "box": [ -2557., 1372., 40.24, 77.75, 0, 0, 0, 77.25, 0, 0, 0, 49.08 ] }, "content": { "uri": "Tile_+000_+031/Tile_+000_+031.json" }, "geometricError": 119.1 }, { "boundingVolume": { "box": [ -2560., 1522., 41.87, 77.25, 0, 0, 0, 77., 0, 0, 0, 33.1 ] }, "geometricError": 114.4, "content": { "uri": "Tile_+000_+032/Tile_+000_+032.json" }, } ] } } 

asset:必填字段,json的开头,version和tilesetVersion 表示格式的版本。

properties:选填字段,用来表示bim模型的最大和最小高度。

geometricError:屏幕几何误差,这里有两个geometricError是不一样的,root上一级的geometricError用来确定root的区域什么时候渲染。而

root.geometricError被用来确定下一级的tile什么时候渲染。也就是说,当geometricError的阈值达到之后,我们会渲染下一级的tile。就是每一级的geometricError都是对下级来说的。

refine:有两种值( "REPLACE" ) and ( "ADD" )。REPLAC可以直接替换掉上一级的tile。而ADD会在原先的tile的基础上进行增加。

boundingVolume:是包围盒的意思。这个参数用来做空间检索用的,我们通过这个包围盒在计算出这里面的tile是否需要渲染。这里我们暂时只准备支持AABB包围盒。即box。定义如下:

由12个数字组成,用于定义一个有方向的边界框。前三个元素定义了包围盒的中心点即(x,y,z)。接下来三个元素(索引3、4和5)定义了x轴方向的半长,再接下来的三个元素(索引6、7和8)定义了y轴方向的半长,最后三个元素(索引9、10和11)定义了Z轴方向的半长。

content:是即真实的tile的数据了,通过url来指向数据。这里我们可以直接指向一个mesh的格式,也可以再指向一个json的tile。这个json的格式和我们这个json的格式一样。

BIM模型HLoD设计文档

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216705.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午11:15
下一篇 2026年3月18日 上午11:16


相关推荐

  • linux使用ps命令查看和控制进程_linux查看进程grep

    linux使用ps命令查看和控制进程_linux查看进程grepps命令Linuxps(英文全拼:processstatus)命令用于显示当前进程的状态,类似于windows的任务管理器查看所有进程ps-A显示所有进程信息,连同命令行ps-

    2022年7月31日
    8
  • 我的世界区块显示_我的世界怎么显示区块线

    我的世界区块显示_我的世界怎么显示区块线我的世界手游区块是一个独特的机制,很多玩家对于区块是什么不太了解,区块显示指令以及区块的产生不是很熟悉,为了帮助到大家,今天小编就为大家带来我的世界手游区块显示指令分享:区块玩法操作详解的内容,希望大家能够喜欢,下面就让我们一起来看看吧!区块相关1.出生点区块在出生点附近的区块是一块围绕世界出生点的区域中的一个区块,只要有玩家在主世界,它就不会被从内存中卸载。这意味着像红石元件和刷怪会继续,甚至所…

    2025年12月11日
    4
  • java 中的哈希码

    java 中的哈希码源博客地址对哈希码和默认的 toString 不了解 百度后总结如下 一哈希码在 Java 中 哈希码代表了对象的一种特征 例如我们判断某两个字符串是否 如果其哈希码相等 则这两个字符串是相等的 其次 哈希码是一种数据结构的算法 常见的哈希码的算法有 1 Object 类的 hashCode 返回对象的内存地址经过处理后的结构 由于每个对象的内存地址都不一样 所以哈希码也不一样

    2026年3月18日
    2
  • 从技术验证到规模化上岗,2026年中国企业级AI Agent厂商选型指南

    从技术验证到规模化上岗,2026年中国企业级AI Agent厂商选型指南

    2026年3月14日
    2
  • 菜鸟实战UML——活动图

    菜鸟实战UML——活动图活动图活动图(activitydiagram)是阐明了业务用例实现的工作流程。业务工作流程说明了业务为向所服务的业务主角提供其所需要的价值而必须完成的工作,业务用例由一系列活动组成,他们共同为业务主角生成某些工件。工作流程通常包括一个基本的工作流程和一个或多个备选工作流程。工作流程的结构使用活动图来进行说明。用途活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现…

    2022年6月7日
    33
  • 什么是SSL协议,SSL协议是什么意思?「建议收藏」

    什么是SSL协议,SSL协议是什么意思?「建议收藏」转载自品略图书馆http://www.pinlue.com/article/2020/03/2322/5910049346926.html什么是SSL协议?SSL协议是一种安全传输协议,SSL是SecureSocketLayer的缩写,即安全套接层协议。该协议最初由Netscape企业发展而来,目前已经成为互联网上用来鉴别网站和网页浏览者的身份,以及在浏览器使用者及网页服务器之间…

    2022年5月7日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号