@cesium/engine 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. package/Build/Workers/{AttributeCompression-4589338a.js → AttributeCompression-b646d393.js} +1 -1
  2. package/Build/Workers/{AxisAlignedBoundingBox-bfb1234f.js → AxisAlignedBoundingBox-47525601.js} +1 -1
  3. package/Build/Workers/{BoundingRectangle-7ffc2153.js → BoundingRectangle-93b263ac.js} +1 -1
  4. package/Build/Workers/{BoxGeometry-93f344a3.js → BoxGeometry-8c4b4125.js} +1 -1
  5. package/Build/Workers/{Color-0c5aaf47.js → Color-52c60ed7.js} +1 -1
  6. package/Build/Workers/{CoplanarPolygonGeometryLibrary-6597982a.js → CoplanarPolygonGeometryLibrary-33c4c1f8.js} +1 -1
  7. package/Build/Workers/{CorridorGeometryLibrary-2119580e.js → CorridorGeometryLibrary-5039cd8e.js} +1 -1
  8. package/Build/Workers/{CylinderGeometry-f9503c6d.js → CylinderGeometry-3ac44974.js} +1 -1
  9. package/Build/Workers/{EllipseGeometry-fedf72d5.js → EllipseGeometry-a9c9b3be.js} +1 -1
  10. package/Build/Workers/{EllipseGeometryLibrary-4ea68687.js → EllipseGeometryLibrary-855d4681.js} +1 -1
  11. package/Build/Workers/{EllipseOutlineGeometry-e2ae6a35.js → EllipseOutlineGeometry-017a5929.js} +1 -1
  12. package/Build/Workers/{EllipsoidGeodesic-16de63ea.js → EllipsoidGeodesic-98c62a56.js} +1 -1
  13. package/Build/Workers/{EllipsoidGeometry-95c0330e.js → EllipsoidGeometry-826e7bce.js} +1 -1
  14. package/Build/Workers/{EllipsoidOutlineGeometry-d6d2ceec.js → EllipsoidOutlineGeometry-784dcdb5.js} +1 -1
  15. package/Build/Workers/{EllipsoidRhumbLine-ae5e65e0.js → EllipsoidRhumbLine-19756602.js} +1 -1
  16. package/Build/Workers/{EllipsoidTangentPlane-bfc674bf.js → EllipsoidTangentPlane-ed9443a1.js} +1 -1
  17. package/Build/Workers/{EncodedCartesian3-f473ea18.js → EncodedCartesian3-81f70735.js} +1 -1
  18. package/Build/Workers/{FrustumGeometry-3bf2e4eb.js → FrustumGeometry-9f1ee4d8.js} +1 -1
  19. package/Build/Workers/{GeometryAttribute-df5f473e.js → GeometryAttribute-334718f8.js} +1 -1
  20. package/Build/Workers/{GeometryInstance-aa75b4cf.js → GeometryInstance-451dc1cd.js} +1 -1
  21. package/Build/Workers/{GeometryPipeline-f0e46c42.js → GeometryPipeline-8fb0db69.js} +1 -1
  22. package/Build/Workers/{IntersectionTests-9de29d51.js → IntersectionTests-27d49265.js} +1 -1
  23. package/Build/Workers/{Matrix2-ce637455.js → Matrix2-13178034.js} +4 -2
  24. package/Build/Workers/{Matrix3-4f4df527.js → Matrix3-315394f6.js} +2 -1
  25. package/Build/Workers/{OrientedBoundingBox-d3ff3d4d.js → OrientedBoundingBox-79ee7cbb.js} +5 -5
  26. package/Build/Workers/{Plane-b81241c2.js → Plane-900aa728.js} +1 -1
  27. package/Build/Workers/{PolygonGeometryLibrary-6f4937bb.js → PolygonGeometryLibrary-6b5a29e9.js} +1 -1
  28. package/Build/Workers/PolygonPipeline-21668b3f.js +1345 -0
  29. package/Build/Workers/{PolylinePipeline-2e2b015c.js → PolylinePipeline-5e2e1b21.js} +1 -1
  30. package/Build/Workers/{PolylineVolumeGeometryLibrary-7ee1d449.js → PolylineVolumeGeometryLibrary-97f0b94e.js} +1 -1
  31. package/Build/Workers/{PrimitivePipeline-a9b7aae0.js → PrimitivePipeline-5640850a.js} +1 -1
  32. package/Build/Workers/{RectangleGeometryLibrary-9aa6c8f6.js → RectangleGeometryLibrary-d5457f7b.js} +1 -1
  33. package/Build/Workers/{TerrainEncoding-b52dcfc5.js → TerrainEncoding-bfdf2021.js} +1 -1
  34. package/Build/Workers/{Transforms-2f755df8.js → Transforms-a05e5e6e.js} +114 -83
  35. package/Build/Workers/{WallGeometryLibrary-ab19a93d.js → WallGeometryLibrary-6db0ebb6.js} +1 -1
  36. package/Build/Workers/{WebMercatorProjection-9f25de49.js → WebMercatorProjection-13a90d41.js} +1 -1
  37. package/Build/Workers/cesiumWorkerBootstrapper.js +92 -2
  38. package/Build/Workers/combineGeometry.js +1 -1
  39. package/Build/Workers/createBoxGeometry.js +1 -1
  40. package/Build/Workers/createBoxOutlineGeometry.js +1 -1
  41. package/Build/Workers/createCircleGeometry.js +1 -1
  42. package/Build/Workers/createCircleOutlineGeometry.js +1 -1
  43. package/Build/Workers/createCoplanarPolygonGeometry.js +1 -1
  44. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  45. package/Build/Workers/createCorridorGeometry.js +1 -1
  46. package/Build/Workers/createCorridorOutlineGeometry.js +1 -1
  47. package/Build/Workers/createCylinderGeometry.js +1 -1
  48. package/Build/Workers/createCylinderOutlineGeometry.js +1 -1
  49. package/Build/Workers/createEllipseGeometry.js +1 -1
  50. package/Build/Workers/createEllipseOutlineGeometry.js +1 -1
  51. package/Build/Workers/createEllipsoidGeometry.js +1 -1
  52. package/Build/Workers/createEllipsoidOutlineGeometry.js +1 -1
  53. package/Build/Workers/createFrustumGeometry.js +1 -1
  54. package/Build/Workers/createFrustumOutlineGeometry.js +1 -1
  55. package/Build/Workers/createGeometry.js +1 -1
  56. package/Build/Workers/createGroundPolylineGeometry.js +1 -1
  57. package/Build/Workers/createPlaneGeometry.js +1 -1
  58. package/Build/Workers/createPlaneOutlineGeometry.js +1 -1
  59. package/Build/Workers/createPolygonGeometry.js +1 -1
  60. package/Build/Workers/createPolygonOutlineGeometry.js +1 -1
  61. package/Build/Workers/createPolylineGeometry.js +1 -1
  62. package/Build/Workers/createPolylineVolumeGeometry.js +1 -1
  63. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
  64. package/Build/Workers/createRectangleGeometry.js +1 -1
  65. package/Build/Workers/createRectangleOutlineGeometry.js +1 -1
  66. package/Build/Workers/createSimplePolylineGeometry.js +1 -1
  67. package/Build/Workers/createSphereGeometry.js +1 -1
  68. package/Build/Workers/createSphereOutlineGeometry.js +1 -1
  69. package/Build/Workers/createVectorTileClampedPolylines.js +1 -1
  70. package/Build/Workers/createVectorTileGeometries.js +1 -1
  71. package/Build/Workers/createVectorTilePoints.js +1 -1
  72. package/Build/Workers/createVectorTilePolygons.js +1 -1
  73. package/Build/Workers/createVectorTilePolylines.js +1 -1
  74. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  75. package/Build/Workers/createVerticesFromHeightmap.js +7 -3
  76. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +1 -1
  77. package/Build/Workers/createWallGeometry.js +1 -1
  78. package/Build/Workers/createWallOutlineGeometry.js +1 -1
  79. package/Build/Workers/decodeDraco.js +9 -1
  80. package/Build/Workers/decodeI3S.js +1 -1
  81. package/Build/Workers/package.js +25 -1
  82. package/Build/Workers/transcodeKTX2.js +22 -2
  83. package/Build/Workers/transferTypedArrayTest.js +25 -1
  84. package/Build/Workers/upsampleQuantizedTerrainMesh.js +1 -1
  85. package/README.md +14 -16
  86. package/Source/Core/EarthOrientationParameters.js +67 -63
  87. package/Source/Core/FeatureDetection.js +18 -0
  88. package/Source/Core/Ion.js +1 -2
  89. package/Source/Core/Matrix2.js +2 -1
  90. package/Source/Core/Matrix3.js +2 -1
  91. package/Source/Core/Matrix4.js +1 -0
  92. package/Source/Core/OrientedBoundingBox.js +4 -4
  93. package/Source/Core/PixelFormat.js +22 -2
  94. package/Source/Core/S2Cell.js +3 -3
  95. package/Source/Core/Transforms.js +3 -7
  96. package/Source/Core/sampleTerrain.js +5 -0
  97. package/Source/DataSources/GpxDataSource.js +4 -6
  98. package/Source/DataSources/KmlDataSource.js +3 -5
  99. package/Source/Renderer/AutomaticUniforms.js +3 -3
  100. package/Source/Renderer/Context.js +20 -12
  101. package/Source/Renderer/Pass.js +3 -2
  102. package/Source/Renderer/ShaderBuilder.js +13 -12
  103. package/Source/Renderer/ShaderSource.js +31 -26
  104. package/Source/Renderer/demodernizeShader.js +76 -0
  105. package/Source/Scene/AutoExposure.js +5 -5
  106. package/Source/Scene/BatchTable.js +5 -5
  107. package/Source/Scene/BillboardCollection.js +2 -2
  108. package/Source/Scene/BingMapsImageryProvider.js +1 -1
  109. package/Source/Scene/Cesium3DTile.js +8 -2
  110. package/Source/Scene/Cesium3DTileBatchTable.js +28 -28
  111. package/Source/Scene/Cesium3DTileContentType.js +19 -0
  112. package/Source/Scene/Cesium3DTilesVoxelProvider.js +494 -0
  113. package/Source/Scene/Cesium3DTileset.js +6 -1
  114. package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
  115. package/Source/Scene/ClassificationPrimitive.js +3 -8
  116. package/Source/Scene/ContentMetadata.js +2 -2
  117. package/Source/Scene/DebugAppearance.js +7 -9
  118. package/Source/Scene/DebugInspector.js +5 -5
  119. package/Source/Scene/DepthPlane.js +0 -6
  120. package/Source/Scene/DerivedCommand.js +15 -22
  121. package/Source/Scene/EllipsoidPrimitive.js +0 -7
  122. package/Source/Scene/Expression.js +1 -1
  123. package/Source/Scene/Globe.js +10 -0
  124. package/Source/Scene/GlobeSurfaceTileProvider.js +7 -0
  125. package/Source/Scene/GlobeTranslucencyState.js +6 -6
  126. package/Source/Scene/GltfImageLoader.js +1 -1
  127. package/Source/Scene/GltfVertexBufferLoader.js +10 -2
  128. package/Source/Scene/GroundPolylinePrimitive.js +2 -4
  129. package/Source/Scene/GroupMetadata.js +2 -2
  130. package/Source/Scene/ImplicitMetadataView.js +2 -2
  131. package/Source/Scene/ImplicitSubtreeCache.js +127 -0
  132. package/Source/Scene/ImplicitSubtreeMetadata.js +2 -2
  133. package/Source/Scene/ImplicitTileset.js +3 -2
  134. package/Source/Scene/InvertClassification.js +9 -10
  135. package/Source/Scene/KeyframeNode.js +47 -0
  136. package/Source/Scene/Material.js +6 -6
  137. package/Source/Scene/Megatexture.js +490 -0
  138. package/Source/Scene/MetadataClass.js +60 -25
  139. package/Source/Scene/MetadataClassProperty.js +132 -68
  140. package/Source/Scene/MetadataComponentType.js +78 -57
  141. package/Source/Scene/MetadataEnum.js +59 -23
  142. package/Source/Scene/MetadataEnumValue.js +49 -15
  143. package/Source/Scene/MetadataSchema.js +53 -24
  144. package/Source/Scene/MetadataSchemaLoader.js +2 -2
  145. package/Source/Scene/MetadataSemantic.js +8 -0
  146. package/Source/Scene/MetadataTableProperty.js +2 -2
  147. package/Source/Scene/MetadataType.js +6 -14
  148. package/Source/Scene/Model/CustomShader.js +1 -1
  149. package/Source/Scene/Model/FeatureIdPipelineStage.js +4 -4
  150. package/Source/Scene/Model/GeoJsonLoader.js +1 -1
  151. package/Source/Scene/Model/LightingModel.js +1 -1
  152. package/Source/Scene/Model/MetadataPipelineStage.js +1 -1
  153. package/Source/Scene/Model/Model.js +2 -3
  154. package/Source/Scene/Model/PickingPipelineStage.js +1 -1
  155. package/Source/Scene/Model/buildDrawCommand.js +19 -11
  156. package/Source/Scene/OIT.js +211 -119
  157. package/Source/Scene/PickDepth.js +2 -2
  158. package/Source/Scene/PointCloud.js +12 -12
  159. package/Source/Scene/PointCloudEyeDomeLighting.js +9 -4
  160. package/Source/Scene/PolylineCollection.js +2 -7
  161. package/Source/Scene/PolylineMaterialAppearance.js +2 -3
  162. package/Source/Scene/PostProcessStage.js +13 -13
  163. package/Source/Scene/PostProcessStageLibrary.js +3 -3
  164. package/Source/Scene/Primitive.js +22 -31
  165. package/Source/Scene/PropertyAttribute.js +2 -2
  166. package/Source/Scene/PropertyAttributeProperty.js +2 -2
  167. package/Source/Scene/PropertyTable.js +2 -2
  168. package/Source/Scene/PropertyTexture.js +2 -2
  169. package/Source/Scene/PropertyTextureProperty.js +2 -2
  170. package/Source/Scene/ResourceCache.js +9 -1
  171. package/Source/Scene/ResourceCacheKey.js +9 -1
  172. package/Source/Scene/Scene.js +17 -0
  173. package/Source/Scene/ShadowMap.js +7 -7
  174. package/Source/Scene/ShadowMapShader.js +9 -9
  175. package/Source/Scene/ShadowVolumeAppearance.js +1 -1
  176. package/Source/Scene/SpatialNode.js +375 -0
  177. package/Source/Scene/StructuralMetadata.js +2 -2
  178. package/Source/Scene/TextureAtlas.js +5 -3
  179. package/Source/Scene/TileMetadata.js +2 -2
  180. package/Source/Scene/TilesetMetadata.js +2 -2
  181. package/Source/Scene/Vector3DTilePolylines.js +1 -1
  182. package/Source/Scene/Vector3DTilePrimitive.js +2 -2
  183. package/Source/Scene/VoxelBoxShape.js +527 -0
  184. package/Source/Scene/VoxelContent.js +169 -0
  185. package/Source/Scene/VoxelCylinderShape.js +937 -0
  186. package/Source/Scene/VoxelEllipsoidShape.js +945 -0
  187. package/Source/Scene/VoxelPrimitive.js +1919 -0
  188. package/Source/Scene/VoxelProvider.js +255 -0
  189. package/Source/Scene/VoxelRenderResources.js +224 -0
  190. package/Source/Scene/VoxelShape.js +152 -0
  191. package/Source/Scene/VoxelShapeType.js +105 -0
  192. package/Source/Scene/VoxelTraversal.js +1144 -0
  193. package/Source/Scene/buildVoxelDrawCommands.js +116 -0
  194. package/Source/Scene/computeFlyToLocationForRectangle.js +10 -1
  195. package/Source/Scene/createElevationBandMaterial.js +10 -15
  196. package/Source/Scene/getClipAndStyleCode.js +1 -1
  197. package/Source/Scene/getClippingFunction.js +3 -3
  198. package/Source/Scene/parseBatchTable.js +18 -2
  199. package/Source/Scene/preprocess3DTileContent.js +8 -0
  200. package/Source/Scene/processVoxelProperties.js +455 -0
  201. package/Source/Shaders/AdjustTranslucentFS.glsl +9 -6
  202. package/Source/Shaders/AdjustTranslucentFS.js +9 -6
  203. package/Source/Shaders/Appearances/AllMaterialAppearanceFS.glsl +7 -7
  204. package/Source/Shaders/Appearances/AllMaterialAppearanceFS.js +7 -7
  205. package/Source/Shaders/Appearances/AllMaterialAppearanceVS.glsl +12 -12
  206. package/Source/Shaders/Appearances/AllMaterialAppearanceVS.js +12 -12
  207. package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.glsl +4 -4
  208. package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.js +4 -4
  209. package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.glsl +6 -6
  210. package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.js +6 -6
  211. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.glsl +5 -5
  212. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.js +5 -5
  213. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.glsl +7 -7
  214. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.js +7 -7
  215. package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.glsl +4 -4
  216. package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.js +4 -4
  217. package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.glsl +8 -8
  218. package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.js +8 -8
  219. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.glsl +2 -2
  220. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.js +2 -2
  221. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.glsl +5 -5
  222. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.js +5 -5
  223. package/Source/Shaders/Appearances/PolylineColorAppearanceVS.glsl +10 -10
  224. package/Source/Shaders/Appearances/PolylineColorAppearanceVS.js +10 -10
  225. package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.glsl +12 -12
  226. package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.js +12 -12
  227. package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.glsl +5 -5
  228. package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.js +5 -5
  229. package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.glsl +8 -8
  230. package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.js +8 -8
  231. package/Source/Shaders/BillboardCollectionFS.glsl +15 -15
  232. package/Source/Shaders/BillboardCollectionFS.js +15 -15
  233. package/Source/Shaders/BillboardCollectionVS.glsl +24 -24
  234. package/Source/Shaders/BillboardCollectionVS.js +24 -24
  235. package/Source/Shaders/BrdfLutGeneratorFS.glsl +2 -2
  236. package/Source/Shaders/BrdfLutGeneratorFS.js +2 -2
  237. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
  238. package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
  239. package/Source/Shaders/Builtin/Constants/passVoxels.glsl +9 -0
  240. package/Source/Shaders/Builtin/Constants/passVoxels.js +11 -0
  241. package/Source/Shaders/Builtin/CzmBuiltins.js +19 -15
  242. package/Source/Shaders/Builtin/Functions/depthClamp.glsl +3 -3
  243. package/Source/Shaders/Builtin/Functions/depthClamp.js +3 -3
  244. package/Source/Shaders/Builtin/Functions/getWaterNoise.glsl +4 -4
  245. package/Source/Shaders/Builtin/Functions/getWaterNoise.js +4 -4
  246. package/Source/Shaders/Builtin/Functions/phong.glsl +1 -1
  247. package/Source/Shaders/Builtin/Functions/phong.js +1 -1
  248. package/Source/Shaders/Builtin/Functions/readDepth.glsl +1 -1
  249. package/Source/Shaders/Builtin/Functions/readDepth.js +1 -1
  250. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +5 -5
  251. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +5 -5
  252. package/Source/Shaders/Builtin/Functions/shadowDepthCompare.glsl +3 -3
  253. package/Source/Shaders/Builtin/Functions/shadowDepthCompare.js +3 -3
  254. package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.glsl +1 -1
  255. package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.js +1 -1
  256. package/Source/Shaders/Builtin/Functions/textureCube.glsl +17 -0
  257. package/Source/Shaders/Builtin/Functions/textureCube.js +18 -0
  258. package/Source/Shaders/Builtin/Functions/translateRelativeToEye.glsl +2 -2
  259. package/Source/Shaders/Builtin/Functions/translateRelativeToEye.js +2 -2
  260. package/Source/Shaders/Builtin/Functions/vertexLogDepth.glsl +2 -2
  261. package/Source/Shaders/Builtin/Functions/vertexLogDepth.js +2 -2
  262. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +55 -43
  263. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +55 -43
  264. package/Source/Shaders/Builtin/Functions/writeDepthClamp.glsl +5 -8
  265. package/Source/Shaders/Builtin/Functions/writeDepthClamp.js +5 -8
  266. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +6 -6
  267. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +6 -6
  268. package/Source/Shaders/CloudCollectionFS.glsl +18 -18
  269. package/Source/Shaders/CloudCollectionFS.js +18 -18
  270. package/Source/Shaders/CloudCollectionVS.glsl +11 -11
  271. package/Source/Shaders/CloudCollectionVS.js +11 -11
  272. package/Source/Shaders/CloudNoiseFS.glsl +5 -5
  273. package/Source/Shaders/CloudNoiseFS.js +5 -5
  274. package/Source/Shaders/CloudNoiseVS.glsl +2 -2
  275. package/Source/Shaders/CloudNoiseVS.js +2 -2
  276. package/Source/Shaders/CompareAndPackTranslucentDepth.glsl +4 -4
  277. package/Source/Shaders/CompareAndPackTranslucentDepth.js +4 -4
  278. package/Source/Shaders/CompositeOITFS.glsl +6 -6
  279. package/Source/Shaders/CompositeOITFS.js +6 -6
  280. package/Source/Shaders/DepthPlaneFS.glsl +2 -2
  281. package/Source/Shaders/DepthPlaneFS.js +2 -2
  282. package/Source/Shaders/DepthPlaneVS.glsl +2 -2
  283. package/Source/Shaders/DepthPlaneVS.js +2 -2
  284. package/Source/Shaders/EllipsoidFS.glsl +5 -13
  285. package/Source/Shaders/EllipsoidFS.js +6 -14
  286. package/Source/Shaders/EllipsoidVS.glsl +2 -2
  287. package/Source/Shaders/EllipsoidVS.js +2 -2
  288. package/Source/Shaders/FXAA3_11.glsl +4 -4
  289. package/Source/Shaders/FXAA3_11.js +4 -4
  290. package/Source/Shaders/GlobeFS.glsl +17 -16
  291. package/Source/Shaders/GlobeFS.js +17 -16
  292. package/Source/Shaders/GlobeVS.glsl +17 -17
  293. package/Source/Shaders/GlobeVS.js +17 -17
  294. package/Source/Shaders/Materials/AspectRampMaterial.glsl +1 -1
  295. package/Source/Shaders/Materials/AspectRampMaterial.js +1 -1
  296. package/Source/Shaders/Materials/BumpMapMaterial.glsl +3 -3
  297. package/Source/Shaders/Materials/BumpMapMaterial.js +3 -3
  298. package/Source/Shaders/Materials/ElevationBandMaterial.glsl +3 -3
  299. package/Source/Shaders/Materials/ElevationBandMaterial.js +3 -3
  300. package/Source/Shaders/Materials/ElevationContourMaterial.glsl +2 -1
  301. package/Source/Shaders/Materials/ElevationContourMaterial.js +2 -1
  302. package/Source/Shaders/Materials/ElevationRampMaterial.glsl +1 -1
  303. package/Source/Shaders/Materials/ElevationRampMaterial.js +1 -1
  304. package/Source/Shaders/Materials/GridMaterial.glsl +3 -2
  305. package/Source/Shaders/Materials/GridMaterial.js +3 -2
  306. package/Source/Shaders/Materials/NormalMapMaterial.glsl +1 -1
  307. package/Source/Shaders/Materials/NormalMapMaterial.js +1 -1
  308. package/Source/Shaders/Materials/PolylineArrowMaterial.glsl +3 -2
  309. package/Source/Shaders/Materials/PolylineArrowMaterial.js +3 -2
  310. package/Source/Shaders/Materials/PolylineDashMaterial.glsl +1 -1
  311. package/Source/Shaders/Materials/PolylineDashMaterial.js +1 -1
  312. package/Source/Shaders/Materials/PolylineOutlineMaterial.glsl +1 -1
  313. package/Source/Shaders/Materials/PolylineOutlineMaterial.js +1 -1
  314. package/Source/Shaders/Materials/SlopeRampMaterial.glsl +1 -1
  315. package/Source/Shaders/Materials/SlopeRampMaterial.js +1 -1
  316. package/Source/Shaders/Materials/Water.glsl +1 -1
  317. package/Source/Shaders/Materials/Water.js +1 -1
  318. package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +3 -3
  319. package/Source/Shaders/Model/ImageBasedLightingStageFS.js +3 -3
  320. package/Source/Shaders/Model/MaterialStageFS.glsl +10 -10
  321. package/Source/Shaders/Model/MaterialStageFS.js +10 -10
  322. package/Source/Shaders/Model/ModelClippingPlanesStageFS.glsl +3 -3
  323. package/Source/Shaders/Model/ModelClippingPlanesStageFS.js +3 -3
  324. package/Source/Shaders/Model/ModelFS.glsl +1 -1
  325. package/Source/Shaders/Model/ModelFS.js +1 -1
  326. package/Source/Shaders/Model/PrimitiveOutlineStageFS.glsl +3 -3
  327. package/Source/Shaders/Model/PrimitiveOutlineStageFS.js +3 -3
  328. package/Source/Shaders/Model/SelectedFeatureIdStageCommon.glsl +1 -1
  329. package/Source/Shaders/Model/SelectedFeatureIdStageCommon.js +1 -1
  330. package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +8 -8
  331. package/Source/Shaders/OctahedralProjectionAtlasFS.js +8 -8
  332. package/Source/Shaders/OctahedralProjectionFS.glsl +4 -4
  333. package/Source/Shaders/OctahedralProjectionFS.js +4 -4
  334. package/Source/Shaders/OctahedralProjectionVS.glsl +3 -3
  335. package/Source/Shaders/OctahedralProjectionVS.js +3 -3
  336. package/Source/Shaders/PointPrimitiveCollectionFS.glsl +6 -6
  337. package/Source/Shaders/PointPrimitiveCollectionFS.js +6 -6
  338. package/Source/Shaders/PointPrimitiveCollectionVS.glsl +17 -14
  339. package/Source/Shaders/PointPrimitiveCollectionVS.js +17 -14
  340. package/Source/Shaders/PolylineFS.glsl +3 -3
  341. package/Source/Shaders/PolylineFS.js +3 -3
  342. package/Source/Shaders/PolylineShadowVolumeFS.glsl +12 -16
  343. package/Source/Shaders/PolylineShadowVolumeFS.js +12 -16
  344. package/Source/Shaders/PolylineShadowVolumeMorphFS.glsl +8 -8
  345. package/Source/Shaders/PolylineShadowVolumeMorphFS.js +8 -8
  346. package/Source/Shaders/PolylineShadowVolumeMorphVS.glsl +20 -20
  347. package/Source/Shaders/PolylineShadowVolumeMorphVS.js +20 -20
  348. package/Source/Shaders/PolylineShadowVolumeVS.glsl +20 -20
  349. package/Source/Shaders/PolylineShadowVolumeVS.js +20 -20
  350. package/Source/Shaders/PolylineVS.glsl +17 -17
  351. package/Source/Shaders/PolylineVS.js +17 -17
  352. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +4 -4
  353. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +4 -4
  354. package/Source/Shaders/PostProcessStages/AdditiveBlend.glsl +4 -4
  355. package/Source/Shaders/PostProcessStages/AdditiveBlend.js +4 -4
  356. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +4 -4
  357. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +4 -4
  358. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +4 -4
  359. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +4 -4
  360. package/Source/Shaders/PostProcessStages/BlackAndWhite.glsl +4 -4
  361. package/Source/Shaders/PostProcessStages/BlackAndWhite.js +4 -4
  362. package/Source/Shaders/PostProcessStages/BloomComposite.glsl +5 -5
  363. package/Source/Shaders/PostProcessStages/BloomComposite.js +5 -5
  364. package/Source/Shaders/PostProcessStages/BrightPass.glsl +3 -3
  365. package/Source/Shaders/PostProcessStages/BrightPass.js +3 -3
  366. package/Source/Shaders/PostProcessStages/Brightness.glsl +3 -3
  367. package/Source/Shaders/PostProcessStages/Brightness.js +3 -3
  368. package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.glsl +5 -5
  369. package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js +5 -5
  370. package/Source/Shaders/PostProcessStages/ContrastBias.glsl +3 -3
  371. package/Source/Shaders/PostProcessStages/ContrastBias.js +3 -3
  372. package/Source/Shaders/PostProcessStages/DepthOfField.glsl +2 -2
  373. package/Source/Shaders/PostProcessStages/DepthOfField.js +2 -2
  374. package/Source/Shaders/PostProcessStages/DepthView.glsl +2 -2
  375. package/Source/Shaders/PostProcessStages/DepthView.js +2 -2
  376. package/Source/Shaders/PostProcessStages/DepthViewPacked.glsl +3 -3
  377. package/Source/Shaders/PostProcessStages/DepthViewPacked.js +3 -3
  378. package/Source/Shaders/PostProcessStages/EdgeDetection.glsl +7 -7
  379. package/Source/Shaders/PostProcessStages/EdgeDetection.js +7 -7
  380. package/Source/Shaders/PostProcessStages/FXAA.glsl +3 -3
  381. package/Source/Shaders/PostProcessStages/FXAA.js +3 -3
  382. package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +4 -4
  383. package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +4 -4
  384. package/Source/Shaders/PostProcessStages/GaussianBlur1D.glsl +5 -5
  385. package/Source/Shaders/PostProcessStages/GaussianBlur1D.js +5 -5
  386. package/Source/Shaders/PostProcessStages/LensFlare.glsl +13 -13
  387. package/Source/Shaders/PostProcessStages/LensFlare.js +13 -13
  388. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +4 -4
  389. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +4 -4
  390. package/Source/Shaders/PostProcessStages/NightVision.glsl +3 -3
  391. package/Source/Shaders/PostProcessStages/NightVision.js +3 -3
  392. package/Source/Shaders/PostProcessStages/PassThrough.glsl +2 -2
  393. package/Source/Shaders/PostProcessStages/PassThrough.js +2 -2
  394. package/Source/Shaders/PostProcessStages/PassThroughDepth.glsl +2 -2
  395. package/Source/Shaders/PostProcessStages/PassThroughDepth.js +2 -2
  396. package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.glsl +7 -9
  397. package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js +8 -10
  398. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +4 -4
  399. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +4 -4
  400. package/Source/Shaders/PostProcessStages/Silhouette.glsl +4 -4
  401. package/Source/Shaders/PostProcessStages/Silhouette.js +4 -4
  402. package/Source/Shaders/ReprojectWebMercatorFS.glsl +2 -2
  403. package/Source/Shaders/ReprojectWebMercatorFS.js +2 -2
  404. package/Source/Shaders/ReprojectWebMercatorVS.glsl +3 -3
  405. package/Source/Shaders/ReprojectWebMercatorVS.js +3 -3
  406. package/Source/Shaders/ShadowVolumeAppearanceFS.glsl +19 -23
  407. package/Source/Shaders/ShadowVolumeAppearanceFS.js +20 -24
  408. package/Source/Shaders/ShadowVolumeAppearanceVS.glsl +12 -12
  409. package/Source/Shaders/ShadowVolumeAppearanceVS.js +12 -12
  410. package/Source/Shaders/ShadowVolumeFS.glsl +2 -6
  411. package/Source/Shaders/ShadowVolumeFS.js +3 -7
  412. package/Source/Shaders/SkyAtmosphereFS.glsl +6 -6
  413. package/Source/Shaders/SkyAtmosphereFS.js +6 -6
  414. package/Source/Shaders/SkyAtmosphereVS.glsl +6 -6
  415. package/Source/Shaders/SkyAtmosphereVS.js +6 -6
  416. package/Source/Shaders/SkyBoxFS.glsl +3 -3
  417. package/Source/Shaders/SkyBoxFS.js +3 -3
  418. package/Source/Shaders/SkyBoxVS.glsl +2 -2
  419. package/Source/Shaders/SkyBoxVS.js +2 -2
  420. package/Source/Shaders/SunFS.glsl +3 -3
  421. package/Source/Shaders/SunFS.js +3 -3
  422. package/Source/Shaders/SunTextureFS.glsl +2 -2
  423. package/Source/Shaders/SunTextureFS.js +2 -2
  424. package/Source/Shaders/SunVS.glsl +2 -2
  425. package/Source/Shaders/SunVS.js +2 -2
  426. package/Source/Shaders/Vector3DTileClampedPolylinesFS.glsl +9 -13
  427. package/Source/Shaders/Vector3DTileClampedPolylinesFS.js +9 -13
  428. package/Source/Shaders/Vector3DTileClampedPolylinesVS.glsl +12 -12
  429. package/Source/Shaders/Vector3DTileClampedPolylinesVS.js +12 -12
  430. package/Source/Shaders/Vector3DTilePolylinesVS.glsl +5 -5
  431. package/Source/Shaders/Vector3DTilePolylinesVS.js +5 -5
  432. package/Source/Shaders/VectorTileVS.glsl +2 -2
  433. package/Source/Shaders/VectorTileVS.js +2 -2
  434. package/Source/Shaders/ViewportQuadFS.glsl +2 -2
  435. package/Source/Shaders/ViewportQuadFS.js +2 -2
  436. package/Source/Shaders/ViewportQuadVS.glsl +3 -3
  437. package/Source/Shaders/ViewportQuadVS.js +3 -3
  438. package/Source/Shaders/Voxels/IntersectBox.glsl +79 -0
  439. package/Source/Shaders/Voxels/IntersectBox.js +81 -0
  440. package/Source/Shaders/Voxels/IntersectClippingPlanes.glsl +70 -0
  441. package/Source/Shaders/Voxels/IntersectClippingPlanes.js +72 -0
  442. package/Source/Shaders/Voxels/IntersectCylinder.glsl +273 -0
  443. package/Source/Shaders/Voxels/IntersectCylinder.js +275 -0
  444. package/Source/Shaders/Voxels/IntersectDepth.glsl +23 -0
  445. package/Source/Shaders/Voxels/IntersectDepth.js +25 -0
  446. package/Source/Shaders/Voxels/IntersectEllipsoid.glsl +347 -0
  447. package/Source/Shaders/Voxels/IntersectEllipsoid.js +349 -0
  448. package/Source/Shaders/Voxels/Intersection.glsl +54 -0
  449. package/Source/Shaders/Voxels/Intersection.js +56 -0
  450. package/Source/Shaders/Voxels/IntersectionUtils.glsl +151 -0
  451. package/Source/Shaders/Voxels/IntersectionUtils.js +153 -0
  452. package/Source/Shaders/Voxels/Megatexture.glsl +136 -0
  453. package/Source/Shaders/Voxels/Megatexture.js +138 -0
  454. package/Source/Shaders/Voxels/Octree.glsl +221 -0
  455. package/Source/Shaders/Voxels/Octree.js +223 -0
  456. package/Source/Shaders/Voxels/VoxelFS.glsl +150 -0
  457. package/Source/Shaders/Voxels/VoxelFS.js +152 -0
  458. package/Source/Shaders/Voxels/VoxelVS.glsl +11 -0
  459. package/Source/Shaders/Voxels/VoxelVS.js +13 -0
  460. package/Source/Shaders/Voxels/convertUvToBox.glsl +16 -0
  461. package/Source/Shaders/Voxels/convertUvToBox.js +18 -0
  462. package/Source/Shaders/Voxels/convertUvToCylinder.glsl +75 -0
  463. package/Source/Shaders/Voxels/convertUvToCylinder.js +77 -0
  464. package/Source/Shaders/Voxels/convertUvToEllipsoid.glsl +130 -0
  465. package/Source/Shaders/Voxels/convertUvToEllipsoid.js +132 -0
  466. package/Source/ThirdParty/Workers/z-worker-pako.js +0 -0
  467. package/Source/WorkersES6/decodeDraco.js +9 -1
  468. package/index.d.ts +3148 -2297
  469. package/index.js +1118 -1085
  470. package/package.json +3 -4
  471. package/Build/Workers/PolygonPipeline-774a8aaf.js +0 -1341
  472. package/Source/Renderer/modernizeShader.js +0 -242
@@ -1,4 +1,6 @@
1
1
  import Check from "../Core/Check.js";
2
+ import clone from "../Core/clone.js";
3
+ import defaultValue from "../Core/defaultValue.js";
2
4
  import defined from "../Core/defined.js";
3
5
  import MetadataClass from "./MetadataClass.js";
4
6
  import MetadataEnum from "./MetadataEnum.js";
@@ -6,17 +8,50 @@ import MetadataEnum from "./MetadataEnum.js";
6
8
  /**
7
9
  * A schema containing classes and enums.
8
10
  * <p>
9
- * See the {@link https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_metadata|3DTILES_metadata Extension} for 3D Tiles
11
+ * See the {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/Metadata|3D Metadata Specification} for 3D Tiles
10
12
  * </p>
11
13
  *
12
- * @param {Object} schema The schema JSON object.
14
+ * @param {Object} options Object with the following properties:
15
+ * @param {String} [options.id] The ID of the schema
16
+ * @param {String} [options.name] The name of the schema.
17
+ * @param {String} [options.description] The description of the schema.
18
+ * @param {String} [options.version] The application-specific version of the schema.
19
+ * @param {Object.<String, MetadataClass>} [options.classes] Classes defined in the schema, where each key is the class ID.
20
+ * @param {Object.<String, MetadataEnum>} [options.enums] Enums defined in the schema, where each key is the enum ID.
21
+ * @param {*} [options.extras] Extra user-defined properties.
22
+ * @param {Object} [options.extensions] An object containing extensions.
13
23
  *
14
24
  * @alias MetadataSchema
15
25
  * @constructor
26
+ * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
27
+ */
28
+ function MetadataSchema(options) {
29
+ options = defaultValue(options, defaultValue.EMPTY_OBJECT);
30
+
31
+ const classes = defaultValue(options.classes, {});
32
+ const enums = defaultValue(options.enums, {});
33
+
34
+ this._classes = classes;
35
+ this._enums = enums;
36
+ this._id = options.id;
37
+ this._name = options.name;
38
+ this._description = options.description;
39
+ this._version = options.version;
40
+ this._extras = clone(options.extras, true);
41
+ this._extensions = clone(options.extensions, true);
42
+ }
43
+
44
+ /**
45
+ * Creates a {@link MetadataSchema} from either 3D Tiles 1.1, 3DTILES_metadata, EXT_structural_metadata, or EXT_feature_metadata.
46
+ *
47
+ * @param {Object} schema The schema JSON object.
48
+ *
49
+ * @returns {MetadataSchema} The newly created metadata schema
50
+ *
16
51
  * @private
17
52
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
18
53
  */
19
- function MetadataSchema(schema) {
54
+ MetadataSchema.fromJson = function (schema) {
20
55
  //>>includeStart('debug', pragmas.debug);
21
56
  Check.typeOf.object("schema", schema);
22
57
  //>>includeEnd('debug');
@@ -25,7 +60,7 @@ function MetadataSchema(schema) {
25
60
  if (defined(schema.enums)) {
26
61
  for (const enumId in schema.enums) {
27
62
  if (schema.enums.hasOwnProperty(enumId)) {
28
- enums[enumId] = new MetadataEnum({
63
+ enums[enumId] = MetadataEnum.fromJson({
29
64
  id: enumId,
30
65
  enum: schema.enums[enumId],
31
66
  });
@@ -37,7 +72,7 @@ function MetadataSchema(schema) {
37
72
  if (defined(schema.classes)) {
38
73
  for (const classId in schema.classes) {
39
74
  if (schema.classes.hasOwnProperty(classId)) {
40
- classes[classId] = new MetadataClass({
75
+ classes[classId] = MetadataClass.fromJson({
41
76
  id: classId,
42
77
  class: schema.classes[classId],
43
78
  enums: enums,
@@ -46,15 +81,17 @@ function MetadataSchema(schema) {
46
81
  }
47
82
  }
48
83
 
49
- this._classes = classes;
50
- this._enums = enums;
51
- this._id = schema.id;
52
- this._name = schema.name;
53
- this._description = schema.description;
54
- this._version = schema.version;
55
- this._extras = schema.extras;
56
- this._extensions = schema.extensions;
57
- }
84
+ return new MetadataSchema({
85
+ id: schema.id,
86
+ name: schema.name,
87
+ description: schema.description,
88
+ version: schema.version,
89
+ classes: classes,
90
+ enums: enums,
91
+ extras: schema.extras,
92
+ extensions: schema.extensions,
93
+ });
94
+ };
58
95
 
59
96
  Object.defineProperties(MetadataSchema.prototype, {
60
97
  /**
@@ -63,7 +100,6 @@ Object.defineProperties(MetadataSchema.prototype, {
63
100
  * @memberof MetadataSchema.prototype
64
101
  * @type {Object.<String, MetadataClass>}
65
102
  * @readonly
66
- * @private
67
103
  */
68
104
  classes: {
69
105
  get: function () {
@@ -77,7 +113,6 @@ Object.defineProperties(MetadataSchema.prototype, {
77
113
  * @memberof MetadataSchema.prototype
78
114
  * @type {Object.<String, MetadataEnum>}
79
115
  * @readonly
80
- * @private
81
116
  */
82
117
  enums: {
83
118
  get: function () {
@@ -91,7 +126,6 @@ Object.defineProperties(MetadataSchema.prototype, {
91
126
  * @memberof MetadataSchema.prototype
92
127
  * @type {String}
93
128
  * @readonly
94
- * @private
95
129
  */
96
130
  id: {
97
131
  get: function () {
@@ -105,7 +139,6 @@ Object.defineProperties(MetadataSchema.prototype, {
105
139
  * @memberof MetadataSchema.prototype
106
140
  * @type {String}
107
141
  * @readonly
108
- * @private
109
142
  */
110
143
  name: {
111
144
  get: function () {
@@ -119,7 +152,6 @@ Object.defineProperties(MetadataSchema.prototype, {
119
152
  * @memberof MetadataSchema.prototype
120
153
  * @type {String}
121
154
  * @readonly
122
- * @private
123
155
  */
124
156
  description: {
125
157
  get: function () {
@@ -133,7 +165,6 @@ Object.defineProperties(MetadataSchema.prototype, {
133
165
  * @memberof MetadataSchema.prototype
134
166
  * @type {String}
135
167
  * @readonly
136
- * @private
137
168
  */
138
169
  version: {
139
170
  get: function () {
@@ -142,12 +173,11 @@ Object.defineProperties(MetadataSchema.prototype, {
142
173
  },
143
174
 
144
175
  /**
145
- * Extras in the JSON object.
176
+ * Extra user-defined properties.
146
177
  *
147
178
  * @memberof MetadataSchema.prototype
148
179
  * @type {*}
149
180
  * @readonly
150
- * @private
151
181
  */
152
182
  extras: {
153
183
  get: function () {
@@ -156,12 +186,11 @@ Object.defineProperties(MetadataSchema.prototype, {
156
186
  },
157
187
 
158
188
  /**
159
- * Extensions in the JSON object.
189
+ * An object containing extensions.
160
190
  *
161
191
  * @memberof MetadataSchema.prototype
162
192
  * @type {Object}
163
193
  * @readonly
164
- * @private
165
194
  */
166
195
  extensions: {
167
196
  get: function () {
@@ -39,7 +39,7 @@ function MetadataSchemaLoader(options) {
39
39
  }
40
40
  //>>includeEnd('debug');
41
41
 
42
- this._schema = defined(schema) ? new MetadataSchema(schema) : undefined;
42
+ this._schema = defined(schema) ? MetadataSchema.fromJson(schema) : undefined;
43
43
  this._resource = resource;
44
44
  this._cacheKey = cacheKey;
45
45
  this._state = ResourceLoaderState.UNLOADED;
@@ -120,7 +120,7 @@ function loadExternalSchema(schemaLoader) {
120
120
  if (schemaLoader.isDestroyed()) {
121
121
  return;
122
122
  }
123
- schemaLoader._schema = new MetadataSchema(json);
123
+ schemaLoader._schema = MetadataSchema.fromJson(json);
124
124
  schemaLoader._state = ResourceLoaderState.READY;
125
125
  return schemaLoader;
126
126
  })
@@ -32,6 +32,14 @@ const MetadataSemantic = {
32
32
  * @private
33
33
  */
34
34
  DESCRIPTION: "DESCRIPTION",
35
+ /**
36
+ * The number of tiles in a tileset, stored as a <code>UINT64</code>.
37
+ *
38
+ * @type {String}
39
+ * @constant
40
+ * @private
41
+ */
42
+ TILESET_TILE_COUNT: "TILESET_TILE_COUNT",
35
43
  /**
36
44
  * A bounding box for a tile, stored as an array of 12 <code>FLOAT32</code> or <code>FLOAT64</code> components. The components are the same format as for <code>boundingVolume.box</code> in 3D Tiles 1.0. This semantic is used to provide a tighter bounding volume than the one implicitly calculated in implicit tiling.
37
45
  *
@@ -265,7 +265,7 @@ Object.defineProperties(MetadataTableProperty.prototype, {
265
265
  },
266
266
 
267
267
  /**
268
- * Extras in the JSON object.
268
+ * Extra user-defined properties.
269
269
  *
270
270
  * @memberof MetadataTableProperty.prototype
271
271
  * @type {*}
@@ -279,7 +279,7 @@ Object.defineProperties(MetadataTableProperty.prototype, {
279
279
  },
280
280
 
281
281
  /**
282
- * Extensions in the JSON object.
282
+ * An object containing extensions.
283
283
  *
284
284
  * @memberof MetadataTableProperty.prototype
285
285
  * @type {*}
@@ -11,8 +11,7 @@ import Matrix4 from "../Core/Matrix4.js";
11
11
  * An enum of metadata types. These metadata types are containers containing
12
12
  * one or more components of type {@link MetadataComponentType}
13
13
  *
14
- * @enum MetadataType
15
- * @private
14
+ * @enum {String}
16
15
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
17
16
  */
18
17
  const MetadataType = {
@@ -21,7 +20,6 @@ const MetadataType = {
21
20
  *
22
21
  * @type {String}
23
22
  * @constant
24
- * @private
25
23
  */
26
24
  SCALAR: "SCALAR",
27
25
  /**
@@ -29,7 +27,6 @@ const MetadataType = {
29
27
  *
30
28
  * @type {String}
31
29
  * @constant
32
- * @private
33
30
  */
34
31
  VEC2: "VEC2",
35
32
  /**
@@ -37,7 +34,6 @@ const MetadataType = {
37
34
  *
38
35
  * @type {String}
39
36
  * @constant
40
- * @private
41
37
  */
42
38
  VEC3: "VEC3",
43
39
  /**
@@ -45,7 +41,6 @@ const MetadataType = {
45
41
  *
46
42
  * @type {String}
47
43
  * @constant
48
- * @private
49
44
  */
50
45
  VEC4: "VEC4",
51
46
  /**
@@ -53,23 +48,20 @@ const MetadataType = {
53
48
  *
54
49
  * @type {String}
55
50
  * @constant
56
- * @private
57
51
  */
58
52
  MAT2: "MAT2",
59
53
  /**
60
- * A 2x2 matrix, stored in column-major format.
54
+ * A 3x3 matrix, stored in column-major format.
61
55
  *
62
56
  * @type {String}
63
57
  * @constant
64
- * @private
65
58
  */
66
59
  MAT3: "MAT3",
67
60
  /**
68
- * A 2x2 matrix, stored in column-major format.
61
+ * A 4x4 matrix, stored in column-major format.
69
62
  *
70
63
  * @type {String}
71
64
  * @constant
72
- * @private
73
65
  */
74
66
  MAT4: "MAT4",
75
67
  /**
@@ -77,7 +69,6 @@ const MetadataType = {
77
69
  *
78
70
  * @type {String}
79
71
  * @constant
80
- * @private
81
72
  */
82
73
  BOOLEAN: "BOOLEAN",
83
74
  /**
@@ -85,7 +76,6 @@ const MetadataType = {
85
76
  *
86
77
  * @type {String}
87
78
  * @constant
88
- * @private
89
79
  */
90
80
  STRING: "STRING",
91
81
  /**
@@ -95,7 +85,6 @@ const MetadataType = {
95
85
  *
96
86
  * @type {String}
97
87
  * @constant
98
- * @private
99
88
  */
100
89
  ENUM: "ENUM",
101
90
  };
@@ -105,6 +94,7 @@ const MetadataType = {
105
94
  *
106
95
  * @param {MetadataType} type The type
107
96
  * @return {Boolean} <code>true</code> if the type is a vector, <code>false</code> otherwise
97
+ * @private
108
98
  */
109
99
  MetadataType.isVectorType = function (type) {
110
100
  //>>includeStart('debug', pragmas.debug);
@@ -126,6 +116,7 @@ MetadataType.isVectorType = function (type) {
126
116
  *
127
117
  * @param {MetadataType} type The type
128
118
  * @return {Boolean} <code>true</code> if the type is a matrix, <code>false</code> otherwise
119
+ * @private
129
120
  */
130
121
  MetadataType.isMatrixType = function (type) {
131
122
  //>>includeStart('debug', pragmas.debug);
@@ -148,6 +139,7 @@ MetadataType.isMatrixType = function (type) {
148
139
  *
149
140
  * @param {MetadataType} type The type to get the component count for
150
141
  * @return {Number} The number of components
142
+ * @private
151
143
  */
152
144
  MetadataType.getComponentCount = function (type) {
153
145
  //>>includeStart('debug', pragmas.debug);
@@ -113,7 +113,7 @@ import CustomShaderTranslucencyMode from "./CustomShaderTranslucencyMode.js";
113
113
  * `,
114
114
  * fragmentShaderText: `
115
115
  * void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {
116
- * material.normal = texture2D(u_normalMap, fsInput.attributes.texCoord_0);
116
+ * material.normal = texture(u_normalMap, fsInput.attributes.texCoord_0);
117
117
  * material.diffuse = v_selectedColor;
118
118
  * }
119
119
  * `
@@ -295,13 +295,13 @@ function processImplicitRange(
295
295
  );
296
296
 
297
297
  // Declare the vertex attribute in the shader
298
- // Example: attribute float a_implicit_feature_id_n;
298
+ // Example: in float a_implicit_feature_id_n;
299
299
  const shaderBuilder = renderResources.shaderBuilder;
300
300
  const implicitAttributeName = `a_implicit_${variableName}`;
301
301
  shaderBuilder.addAttribute("float", implicitAttributeName);
302
302
 
303
303
  // Also declare the corresponding varyings
304
- // Example: varying float v_implicit_feature_id_n;
304
+ // Example: in float v_implicit_feature_id_n;
305
305
  const implicitVaryingName = `v_implicit_${variableName}`;
306
306
  shaderBuilder.addVarying("float", implicitVaryingName);
307
307
 
@@ -388,9 +388,9 @@ function processTexture(
388
388
  );
389
389
 
390
390
  // Read one or more channels from the texture
391
- // example: texture2D(u_featureIdTexture_0, v_texCoord_1).rg
391
+ // example: texture(u_featureIdTexture_0, v_texCoord_1).rg
392
392
  const texCoord = `v_texCoord_${textureReader.texCoord}`;
393
- const textureRead = `texture2D(${uniformName}, ${texCoord}).${channels}`;
393
+ const textureRead = `texture(${uniformName}, ${texCoord}).${channels}`;
394
394
 
395
395
  // Finally, assign to the struct field. Example:
396
396
  // featureIds.featureId_0 = unpacked;
@@ -606,7 +606,7 @@ function parse(geoJson, frameState) {
606
606
  });
607
607
  const propertyTables = [propertyTable];
608
608
 
609
- const schema = new MetadataSchema({});
609
+ const schema = MetadataSchema.fromJson({});
610
610
 
611
611
  const structuralMetadata = new StructuralMetadata({
612
612
  schema: schema,
@@ -9,7 +9,7 @@ const LightingModel = {
9
9
  /**
10
10
  * Use unlit shading, i.e. skip lighting calculations. The model's
11
11
  * diffuse color (assumed to be linear RGB, not sRGB) is used directly
12
- * when computing <code>gl_FragColor</code>. The alpha mode is still
12
+ * when computing <code>out_FragColor</code>. The alpha mode is still
13
13
  * applied.
14
14
  *
15
15
  * @type {Number}
@@ -452,7 +452,7 @@ function addPropertyTexturePropertyMetadata(renderResources, propertyInfo) {
452
452
 
453
453
  // Get a GLSL expression for the value of the property
454
454
  const texCoordVariable = `attributes.texCoord_${texCoord}`;
455
- const valueExpression = `texture2D(${textureUniformName}, ${texCoordVariable}).${channels}`;
455
+ const valueExpression = `texture(${textureUniformName}, ${texCoordVariable}).${channels}`;
456
456
 
457
457
  // Some types need an unpacking step or two. For example, since texture reads
458
458
  // are always normalized, UINT8 (not normalized) properties need to be
@@ -2099,9 +2099,8 @@ function updateComputedScale(model, modelMatrix, frameState) {
2099
2099
  context.drawingBufferWidth,
2100
2100
  context.drawingBufferHeight
2101
2101
  );
2102
- scratchPosition.x = modelMatrix[12];
2103
- scratchPosition.y = modelMatrix[13];
2104
- scratchPosition.z = modelMatrix[14];
2102
+
2103
+ Matrix4.getTranslation(modelMatrix, scratchPosition);
2105
2104
 
2106
2105
  if (model._sceneMode !== SceneMode.SCENE3D) {
2107
2106
  SceneTransforms.computeActualWgs84Position(
@@ -157,7 +157,7 @@ function processPickTexture(renderResources, primitive, instances) {
157
157
 
158
158
  // The feature ID is ignored if it is greater than the number of features.
159
159
  renderResources.pickId =
160
- "((selectedFeature.id < int(model_featuresLength)) ? texture2D(model_pickTexture, selectedFeature.st) : vec4(0.0))";
160
+ "((selectedFeature.id < int(model_featuresLength)) ? texture(model_pickTexture, selectedFeature.st) : vec4(0.0))";
161
161
  }
162
162
 
163
163
  function processInstancedPickIds(renderResources, context) {
@@ -48,21 +48,29 @@ function buildDrawCommand(primitiveRenderResources, frameState) {
48
48
  const pass = primitiveRenderResources.alphaOptions.pass;
49
49
  const sceneGraph = model.sceneGraph;
50
50
 
51
- const modelMatrix = Matrix4.multiplyTransformation(
52
- sceneGraph.computedModelMatrix,
53
- primitiveRenderResources.runtimeNode.computedTransform,
54
- new Matrix4()
55
- );
51
+ const is3D = frameState.mode === SceneMode.SCENE3D;
52
+ let modelMatrix, boundingSphere;
53
+
54
+ if (!is3D && !frameState.scene3DOnly && model._projectTo2D) {
55
+ modelMatrix = Matrix4.multiplyTransformation(
56
+ sceneGraph._computedModelMatrix,
57
+ primitiveRenderResources.runtimeNode.computedTransform,
58
+ new Matrix4()
59
+ );
56
60
 
57
- let boundingSphere;
58
- if (
59
- frameState.mode !== SceneMode.SCENE3D &&
60
- !frameState.scene3DOnly &&
61
- model._projectTo2D
62
- ) {
63
61
  const runtimePrimitive = primitiveRenderResources.runtimePrimitive;
64
62
  boundingSphere = runtimePrimitive.boundingSphere2D;
65
63
  } else {
64
+ const computedModelMatrix = is3D
65
+ ? sceneGraph._computedModelMatrix
66
+ : sceneGraph._computedModelMatrix2D;
67
+
68
+ modelMatrix = Matrix4.multiplyTransformation(
69
+ computedModelMatrix,
70
+ primitiveRenderResources.runtimeNode.computedTransform,
71
+ new Matrix4()
72
+ );
73
+
66
74
  boundingSphere = BoundingSphere.transform(
67
75
  primitiveRenderResources.boundingSphere,
68
76
  modelMatrix,