3D Tiles Next CesiumJS 路线图

3D Tiles Next CesiumJS 路线图

3D Tiles Next为 3D Tiles 添加了几个新的实验性功能。目前,它们采用 3D Tiles 1.0 和 glTF 2.0 扩展的形式。这些规范的概述可以在3d-tiles存储库中找到。另请参阅资源列表

这个问题跟踪 CesiumJS 的变化和每个的实现状态。

3D Tiles Next Extensions - 初始实现
这些功能现在从 CesiumJS 1.87.1 开始可用

3DTILES_implicit_tiling- Experimental 3D Tiles Next Extensions #9517中的实验性实现
实现一个,它在内容加载时将Implicit3DTileContent隐式图块转码为对象。Cesium3DTile这个朴素的转码器在功能上是相似的Tileset3DTileContent(外部瓦片集)。
3DTILES_multiple_contents- Experimental 3D Tiles Next Extensions #9517中的实验性实现- 但是,我们发现规范中有一些警告,特别是无法使用需要混合改进的内容。本规范未来可能会修订 ADD/REPLACE
实施Multiple3DTileContent
在隐式平铺中添加对多个内容的支持。
3DTILES_metadata- Experimental 3D Tiles Next Extensions #9517中的实验性实现
创建用于表示元数据概念的类
将瓦片集、瓦片和组元数据添加到 3D Tiles 1.0 类
将切片和组元数据支持添加到隐式切片
向多个内容添加组元数据支持
添加Cesium3DTileFeature.getPropertyInherited()用于 CPU 样式。现在样式语言将使用 tileset、tile 和 group 元数据
3DTILES_content_gltf- Experimental 3D Tiles Next Extensions #9517中的实验性实现
(glTF) EXT_feature_metadata- 正在进行中。这涉及重大重构Model.js(请参阅下面的其他改进部分中的更多内容)
创建用于表示要素元数据概念的类
创建parseFeatureMetadata()用于解析EXT_feature_metadata扩展的函数
创建一个parseBatchTable()函数将旧的批处理表转码为新的特征元数据格式。EXT_batch_table_hierarchy这包括一些与 JSON 属性和扩展兼容的类。
通过从 glTF 加载特征元数据GltfFeatureMetadataLoader
重新设计Cesium3DTileBatchTable以使用功能元数据。这将允许使用特征元数据进行样式设置。
更新Gltf3DTileContent以支持功能元数据
3DTILES_bounding_volume_S2- 正在进行中,请参阅 PR添加对 3DTILES_bounding_volume_S2 的支持 #9506
自定义着色器请参阅路线图问题基本实现。
其他支持扩展
(glTF) EXT_mesh_gpu_instancing- 正在进行中,需要Model.js重构
(glTF) KHR_mesh_quantization- 进行中
(glTF) EXT_meshopt_compression- 未来
(glTF) 地理定位扩展 - 未来
在这里插入图片描述

ModelExperimental实施改进
一般改进
支持noData和required来自EXT_mesh_features- - 支持和来自 #9887ModelExperimentalnoDatarequiredEXT_mesh_features
为性能添加渲染统计信息:向 ModelExperimental、ModelExperimental3DTileContent 添加统计信息 #9886
插入每个顶点元数据(参见ModelExperimental:插入每个顶点特征 ID #9935)
缓存着色器和/或管道结果
检测量化顶点颜色:未正确检测量化顶点颜色 #9814GltfLoader
重构单元测试,请参阅改进 ModelExperimental 的测试 #9813
特征纹理拾取支持从属性纹理中拾取属性 #9852
合并和之间的命名约定getPropertyIds()-getPropertyNames()解决getPropertyIds 和 getPropertyNames 之间的不一致问题 #9914
支持没有属性表的特征 ID EXT_mesh_features:处理没有属性表的特征 ID #9884ModelExperimental
与 3D Tiles Inspector 集成
用于个别型号的 Eye Dome Lighting用于 #10005的 Eye Dome LightingModelExperimental.fromGltf()
自定义着色器改进
允许gl_PointSize在自定义着色器中设置:自定义着色器:让着色器控制 #9851gl_PointSize
将制图坐标添加到自定义着色器自定义着色器:为片段着色器提供全局坐标 #9735
隐式平铺坐标自定义着色器:隐式平铺坐标作为内置制服? #9736
自定义着色器中的功能 ID 将功​​能 ID 添加到自定义着色器 #9894
自定义着色器中的属性纹理
自定义着色器中的属性表
与旧的配对Model.js
的意图ModelExperimental是有朝一日取代现有的Model.js. 以下是实现它的关键步骤:

支持 3D Tiles 1.0 格式 将 3D Tiles 1.0 格式转码为 #9836ModelExperimental
b3dmModelExperimental3DTileContent-使用功能元数据和实例化转码
i3dm
ModelExperimental3DTileContent 使用功能元数据和实例化转码
确保ModelInstanceCollection不再需要
pnts
添加对点云衰减的支持
添加对眼罩照明的支持
ModelExperimental3DTileContent使用POINTS原语和元数据转码
cmpt- 确保ModelExperimental根据需要连接以使用。
vctr- 转码为ModelExperimental3DTileContent
支持分类模型,所以我们可以替换ClassificationModel.
随时间变化的模型:
glTF蒙皮
glTF 变形目标
glTF 动画
Cesium OSM 构建支持
支持 CESIUM_primitive_outlineglTF扩展
支持旧的批处理表层次结构
PBR照明
基本 PBR 照明
基于图像的照明
其他现有功能

  • 自定义灯光颜色添加 lightColor 到 #10058ModelExperimental
    阴影
    2D/Columbus View support - 支持在 2D 和 Columbus View 模式下渲染 #9934ModelExperimental
    从构造函数中剔除背面
    剪裁平面
    钳对地
    造型
    GPU 样式模型实验:GPU 样式 #9944另请参阅GPU 元数据特征表打包 3D Tiles Next #9572
    在样式语言中使用统计信息
    ModelExperimental 中的样式点大小Cesium3DTileStyle.pointSize #10046
    使用元数据属性的最小/最大值以获得更好的色带
    考虑弃用
    glTF 1.0 支持(因为它增加了相当大的复杂性)
    KHR_techniques_webgl支持(与 glTF 1.0 相关)
    KHR_materials_common支持
    轮廓作为派生命令

猜你喜欢

转载自blog.csdn.net/u013044828/article/details/122878168
今日推荐