mars3d-cesium 1.84.1 → 1.88.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 (158) hide show
  1. package/Build/Cesium/Cesium.d.ts +1026 -10
  2. package/Build/Cesium/Cesium.js +90 -1
  3. package/Build/Cesium/Scene/ModelExperimental/CustomShaderGuide/README.md +272 -0
  4. package/Build/Cesium/ThirdParty/Workers/basis_transcoder.js +1 -1
  5. package/Build/Cesium/ThirdParty/Workers/draco_decoder_nodejs.js +117 -0
  6. package/Build/Cesium/ThirdParty/Workers/pako_deflate.min.js +1 -0
  7. package/Build/Cesium/ThirdParty/Workers/pako_inflate.min.js +1 -0
  8. package/Build/Cesium/ThirdParty/Workers/z-worker-pako.js +1 -0
  9. package/Build/Cesium/ThirdParty/draco_decoder.wasm +0 -0
  10. package/Build/Cesium/ThirdParty/google-earth-dbroot-parser.js +1 -1
  11. package/Build/Cesium/Workers/ArcType-1da7fdca.js +1 -1
  12. package/Build/Cesium/Workers/AttributeCompression-0af3c035.js +1 -0
  13. package/Build/Cesium/Workers/AxisAlignedBoundingBox-1feb0c48.js +1 -0
  14. package/Build/Cesium/Workers/BoundingRectangle-18e42324.js +1 -0
  15. package/Build/Cesium/Workers/BoxGeometry-a530ddad.js +1 -0
  16. package/Build/Cesium/Workers/Color-d2414093.js +1 -0
  17. package/Build/Cesium/Workers/ComponentDatatype-17b06483.js +1 -0
  18. package/Build/Cesium/Workers/CoplanarPolygonGeometryLibrary-4653bf5b.js +1 -0
  19. package/Build/Cesium/Workers/CorridorGeometryLibrary-df5b99e3.js +1 -0
  20. package/Build/Cesium/Workers/CylinderGeometry-4a23db6d.js +1 -0
  21. package/Build/Cesium/Workers/CylinderGeometryLibrary-7b000e1b.js +1 -0
  22. package/Build/Cesium/Workers/EllipseGeometry-0fca35c1.js +1 -0
  23. package/Build/Cesium/Workers/EllipseGeometryLibrary-69f5ff56.js +1 -0
  24. package/Build/Cesium/Workers/EllipseOutlineGeometry-c29842bd.js +1 -0
  25. package/Build/Cesium/Workers/EllipsoidGeodesic-43ba18de.js +1 -0
  26. package/Build/Cesium/Workers/EllipsoidGeometry-6edeb2a4.js +1 -0
  27. package/Build/Cesium/Workers/EllipsoidOutlineGeometry-207e73be.js +1 -0
  28. package/Build/Cesium/Workers/EllipsoidRhumbLine-afd6cd20.js +1 -0
  29. package/Build/Cesium/Workers/EllipsoidTangentPlane-b27cd2f7.js +1 -0
  30. package/Build/Cesium/Workers/EncodedCartesian3-d4f305ce.js +1 -0
  31. package/Build/Cesium/Workers/FrustumGeometry-3d147886.js +1 -0
  32. package/Build/Cesium/Workers/GeometryAttribute-80036e07.js +1 -0
  33. package/Build/Cesium/Workers/GeometryAttributes-b253752a.js +1 -0
  34. package/Build/Cesium/Workers/GeometryInstance-16601d2a.js +1 -0
  35. package/Build/Cesium/Workers/GeometryOffsetAttribute-ff1e192c.js +1 -0
  36. package/Build/Cesium/Workers/GeometryPipeline-5b3fba53.js +1 -0
  37. package/Build/Cesium/Workers/IndexDatatype-b10faa0b.js +1 -0
  38. package/Build/Cesium/Workers/IntersectionTests-1b8a3cb9.js +1 -0
  39. package/Build/Cesium/Workers/Matrix2-f2da41d4.js +1 -0
  40. package/Build/Cesium/Workers/OrientedBoundingBox-86debc5a.js +1 -0
  41. package/Build/Cesium/Workers/Plane-0421a8be.js +1 -0
  42. package/Build/Cesium/Workers/PolygonGeometryLibrary-f129e954.js +1 -0
  43. package/Build/Cesium/Workers/PolygonPipeline-5582b1ec.js +1 -0
  44. package/Build/Cesium/Workers/PolylinePipeline-a3ba6f24.js +1 -0
  45. package/Build/Cesium/Workers/PolylineVolumeGeometryLibrary-4af6d4dc.js +1 -0
  46. package/Build/Cesium/Workers/PrimitivePipeline-82a942e9.js +1 -0
  47. package/Build/Cesium/Workers/RectangleGeometryLibrary-fbe816b1.js +1 -0
  48. package/Build/Cesium/Workers/RuntimeError-ffe03243.js +1 -0
  49. package/Build/Cesium/Workers/TerrainEncoding-6355a4fe.js +1 -0
  50. package/Build/Cesium/Workers/Transforms-7cd3197b.js +39 -0
  51. package/Build/Cesium/Workers/VertexFormat-565d6a6c.js +1 -0
  52. package/Build/Cesium/Workers/WallGeometryLibrary-fb5b94e4.js +1 -0
  53. package/Build/Cesium/Workers/WebGLConstants-4e26b85a.js +1 -1
  54. package/Build/Cesium/Workers/WebMercatorProjection-d69cec15.js +1 -0
  55. package/Build/Cesium/Workers/arrayRemoveDuplicates-bb548aa3.js +1 -0
  56. package/Build/Cesium/Workers/cesiumWorkerBootstrapper.js +6 -1
  57. package/Build/Cesium/Workers/combine-8ce3f24b.js +1 -0
  58. package/Build/Cesium/Workers/combineGeometry.js +1 -1
  59. package/Build/Cesium/Workers/createBoxGeometry.js +1 -1
  60. package/Build/Cesium/Workers/createBoxOutlineGeometry.js +1 -1
  61. package/Build/Cesium/Workers/createCircleGeometry.js +1 -1
  62. package/Build/Cesium/Workers/createCircleOutlineGeometry.js +1 -1
  63. package/Build/Cesium/Workers/createCoplanarPolygonGeometry.js +1 -1
  64. package/Build/Cesium/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  65. package/Build/Cesium/Workers/createCorridorGeometry.js +1 -1
  66. package/Build/Cesium/Workers/createCorridorOutlineGeometry.js +1 -1
  67. package/Build/Cesium/Workers/createCylinderGeometry.js +1 -1
  68. package/Build/Cesium/Workers/createCylinderOutlineGeometry.js +1 -1
  69. package/Build/Cesium/Workers/createEllipseGeometry.js +1 -1
  70. package/Build/Cesium/Workers/createEllipseOutlineGeometry.js +1 -1
  71. package/Build/Cesium/Workers/createEllipsoidGeometry.js +1 -1
  72. package/Build/Cesium/Workers/createEllipsoidOutlineGeometry.js +1 -1
  73. package/Build/Cesium/Workers/createFrustumGeometry.js +1 -1
  74. package/Build/Cesium/Workers/createFrustumOutlineGeometry.js +1 -1
  75. package/Build/Cesium/Workers/createGeometry.js +1 -1
  76. package/Build/Cesium/Workers/createGroundPolylineGeometry.js +1 -1
  77. package/Build/Cesium/Workers/createPlaneGeometry.js +1 -1
  78. package/Build/Cesium/Workers/createPlaneOutlineGeometry.js +1 -1
  79. package/Build/Cesium/Workers/createPolygonGeometry.js +1 -1
  80. package/Build/Cesium/Workers/createPolygonOutlineGeometry.js +1 -1
  81. package/Build/Cesium/Workers/createPolylineGeometry.js +1 -1
  82. package/Build/Cesium/Workers/createPolylineVolumeGeometry.js +1 -1
  83. package/Build/Cesium/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
  84. package/Build/Cesium/Workers/createRectangleGeometry.js +1 -1
  85. package/Build/Cesium/Workers/createRectangleOutlineGeometry.js +1 -1
  86. package/Build/Cesium/Workers/createSimplePolylineGeometry.js +1 -1
  87. package/Build/Cesium/Workers/createSphereGeometry.js +1 -1
  88. package/Build/Cesium/Workers/createSphereOutlineGeometry.js +1 -1
  89. package/Build/Cesium/Workers/createTaskProcessorWorker.js +1 -1
  90. package/Build/Cesium/Workers/createVectorTileClampedPolylines.js +1 -1
  91. package/Build/Cesium/Workers/createVectorTileGeometries.js +1 -1
  92. package/Build/Cesium/Workers/createVectorTilePoints.js +1 -1
  93. package/Build/Cesium/Workers/createVectorTilePolygons.js +1 -1
  94. package/Build/Cesium/Workers/createVectorTilePolylines.js +1 -1
  95. package/Build/Cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  96. package/Build/Cesium/Workers/createVerticesFromHeightmap.js +3 -1
  97. package/Build/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +1 -1
  98. package/Build/Cesium/Workers/createWallGeometry.js +1 -1
  99. package/Build/Cesium/Workers/createWallOutlineGeometry.js +1 -1
  100. package/Build/Cesium/Workers/decodeDraco.js +1 -1
  101. package/Build/Cesium/Workers/decodeGoogleEarthEnterprisePacket.js +1 -1
  102. package/Build/Cesium/Workers/transcodeKTX2.js +1 -1
  103. package/Build/Cesium/Workers/transferTypedArrayTest.js +1 -1
  104. package/Build/Cesium/Workers/upsampleQuantizedTerrainMesh.js +1 -1
  105. package/Build/Cesium/Workers/when-229515d6.js +3 -0
  106. package/package.json +1 -1
  107. package/Build/Cesium/ThirdParty/Workers/deflate.js +0 -1
  108. package/Build/Cesium/ThirdParty/Workers/draco_decoder.js +0 -33
  109. package/Build/Cesium/ThirdParty/Workers/draco_wasm_wrapper.js +0 -129
  110. package/Build/Cesium/ThirdParty/Workers/inflate.js +0 -1
  111. package/Build/Cesium/ThirdParty/Workers/ktx-parse.modern.js +0 -1
  112. package/Build/Cesium/Workers/AttributeCompression-56959beb.js +0 -1
  113. package/Build/Cesium/Workers/AxisAlignedBoundingBox-14881a9b.js +0 -1
  114. package/Build/Cesium/Workers/BoundingRectangle-df67ecf0.js +0 -1
  115. package/Build/Cesium/Workers/BoxGeometry-3d518ca9.js +0 -1
  116. package/Build/Cesium/Workers/Cartesian2-40b13f31.js +0 -1
  117. package/Build/Cesium/Workers/Check-3917d765.js +0 -1
  118. package/Build/Cesium/Workers/Color-55a64d9e.js +0 -1
  119. package/Build/Cesium/Workers/ComponentDatatype-6c2e43c1.js +0 -1
  120. package/Build/Cesium/Workers/CoplanarPolygonGeometryLibrary-c86d51c7.js +0 -1
  121. package/Build/Cesium/Workers/CorridorGeometryLibrary-10d77042.js +0 -1
  122. package/Build/Cesium/Workers/CylinderGeometry-1eec26e0.js +0 -1
  123. package/Build/Cesium/Workers/CylinderGeometryLibrary-069ad349.js +0 -1
  124. package/Build/Cesium/Workers/EllipseGeometry-4939ebd5.js +0 -1
  125. package/Build/Cesium/Workers/EllipseGeometryLibrary-275cae76.js +0 -1
  126. package/Build/Cesium/Workers/EllipseOutlineGeometry-22382518.js +0 -1
  127. package/Build/Cesium/Workers/EllipsoidGeodesic-bdbae7c8.js +0 -1
  128. package/Build/Cesium/Workers/EllipsoidGeometry-01796b7e.js +0 -1
  129. package/Build/Cesium/Workers/EllipsoidOutlineGeometry-ecd1734b.js +0 -1
  130. package/Build/Cesium/Workers/EllipsoidRhumbLine-6baec512.js +0 -1
  131. package/Build/Cesium/Workers/EllipsoidTangentPlane-b7b148bd.js +0 -1
  132. package/Build/Cesium/Workers/EncodedCartesian3-942c4568.js +0 -1
  133. package/Build/Cesium/Workers/FrustumGeometry-ca24586c.js +0 -1
  134. package/Build/Cesium/Workers/GeometryAttribute-8f00b923.js +0 -1
  135. package/Build/Cesium/Workers/GeometryAttributes-fbd9a3fb.js +0 -1
  136. package/Build/Cesium/Workers/GeometryInstance-e5765c46.js +0 -1
  137. package/Build/Cesium/Workers/GeometryOffsetAttribute-964ec9ef.js +0 -1
  138. package/Build/Cesium/Workers/GeometryPipeline-06778f23.js +0 -1
  139. package/Build/Cesium/Workers/IndexDatatype-b42089ce.js +0 -1
  140. package/Build/Cesium/Workers/IntersectionTests-2dece3b4.js +0 -1
  141. package/Build/Cesium/Workers/Math-87254c13.js +0 -1
  142. package/Build/Cesium/Workers/OrientedBoundingBox-714102d2.js +0 -1
  143. package/Build/Cesium/Workers/Plane-69fa3eea.js +0 -1
  144. package/Build/Cesium/Workers/PolygonGeometryLibrary-3364a920.js +0 -1
  145. package/Build/Cesium/Workers/PolygonPipeline-4cefc824.js +0 -1
  146. package/Build/Cesium/Workers/PolylinePipeline-ce297e94.js +0 -1
  147. package/Build/Cesium/Workers/PolylineVolumeGeometryLibrary-ee98d4d3.js +0 -1
  148. package/Build/Cesium/Workers/PrimitivePipeline-57ebb7ec.js +0 -1
  149. package/Build/Cesium/Workers/RectangleGeometryLibrary-c2a9b2ca.js +0 -1
  150. package/Build/Cesium/Workers/RuntimeError-fad4d3c6.js +0 -1
  151. package/Build/Cesium/Workers/TerrainEncoding-92d1abc9.js +0 -1
  152. package/Build/Cesium/Workers/Transforms-a7d32f6c.js +0 -1
  153. package/Build/Cesium/Workers/VertexFormat-8d463a4f.js +0 -1
  154. package/Build/Cesium/Workers/WallGeometryLibrary-be93455a.js +0 -1
  155. package/Build/Cesium/Workers/WebMercatorProjection-bdaffcea.js +0 -1
  156. package/Build/Cesium/Workers/arrayRemoveDuplicates-47b233f1.js +0 -1
  157. package/Build/Cesium/Workers/combine-83aa7971.js +0 -1
  158. package/Build/Cesium/Workers/when-7b580518.js +0 -1
@@ -903,10 +903,12 @@ export type binarySearchComparator = (a: any, b: any) => number;
903
903
  * Provides geocoding through Bing Maps.
904
904
  * @param options - Object with the following properties:
905
905
  * @param options.key - A key to use with the Bing Maps geocoding service
906
+ * @param [options.culture] - A Bing Maps {@link https://docs.microsoft.com/en-us/bingmaps/rest-services/common-parameters-and-types/supported-culture-codes|Culture Code} to return results in a specific culture and language.
906
907
  */
907
908
  export class BingMapsGeocoderService {
908
909
  constructor(options: {
909
910
  key: string;
911
+ culture?: string;
910
912
  });
911
913
  /**
912
914
  * The URL endpoint for the Bing geocoder service
@@ -1811,6 +1813,10 @@ export class Cartesian2 {
1811
1813
  * An immutable Cartesian2 instance initialized to (0.0, 0.0).
1812
1814
  */
1813
1815
  static readonly ZERO: Cartesian2;
1816
+ /**
1817
+ * An immutable Cartesian2 instance initialized to (1.0, 1.0).
1818
+ */
1819
+ static readonly ONE: Cartesian2;
1814
1820
  /**
1815
1821
  * An immutable Cartesian2 instance initialized to (1.0, 0.0).
1816
1822
  */
@@ -2221,6 +2227,10 @@ export class Cartesian3 {
2221
2227
  * An immutable Cartesian3 instance initialized to (0.0, 0.0, 0.0).
2222
2228
  */
2223
2229
  static readonly ZERO: Cartesian3;
2230
+ /**
2231
+ * An immutable Cartesian3 instance initialized to (1.0, 1.0, 1.0).
2232
+ */
2233
+ static readonly ONE: Cartesian3;
2224
2234
  /**
2225
2235
  * An immutable Cartesian3 instance initialized to (1.0, 0.0, 0.0).
2226
2236
  */
@@ -2543,6 +2553,10 @@ export class Cartesian4 {
2543
2553
  * An immutable Cartesian4 instance initialized to (0.0, 0.0, 0.0, 0.0).
2544
2554
  */
2545
2555
  static readonly ZERO: Cartesian4;
2556
+ /**
2557
+ * An immutable Cartesian4 instance initialized to (1.0, 1.0, 1.0, 1.0).
2558
+ */
2559
+ static readonly ONE: Cartesian4;
2546
2560
  /**
2547
2561
  * An immutable Cartesian4 instance initialized to (1.0, 0.0, 0.0, 0.0).
2548
2562
  */
@@ -6373,6 +6387,23 @@ export namespace EventHelper {
6373
6387
  type RemoveCallback = () => void;
6374
6388
  }
6375
6389
 
6390
+ /**
6391
+ * Flags to enable experimental features in CesiumJS. Stability and performance
6392
+ may not be optimal when these are enabled. Experimental features are subject
6393
+ to change without Cesium's standard deprecation policy.
6394
+ <p>
6395
+ Experimental features must still uphold Cesium's quality standards. Here
6396
+ are some guidelines:
6397
+ </p>
6398
+ <ul>
6399
+ <li>Experimental features must have high unit test coverage like any other feature.</li>
6400
+ <li>Experimental features are intended for large features where there is benefit of merging some of the code sooner (e.g. to avoid long-running staging branches)</li>
6401
+ <li>Experimental flags should be short-lived. Make it clear in the PR what it would take to promote the feature to a regular feature.</li>
6402
+ <li>To avoid cluttering the code, check the flag in as few places as possible. Ideally this would be a single place.</li>
6403
+ </ul>
6404
+ */
6405
+ export var ExperimentalFeatures: any;
6406
+
6376
6407
  /**
6377
6408
  * Constants to determine how an interpolated value is extrapolated
6378
6409
  when querying outside the bounds of available data.
@@ -18920,7 +18951,7 @@ export namespace CorridorGraphics {
18920
18951
  */
18921
18952
  type ConstructorOptions = {
18922
18953
  show?: Property | boolean;
18923
- positions?: Property | Cartesian3;
18954
+ positions?: Property | Cartesian3[];
18924
18955
  width?: Property | number;
18925
18956
  height?: Property | number;
18926
18957
  heightReference?: Property | HeightReference;
@@ -21107,6 +21138,7 @@ export namespace KmlDataSource {
21107
21138
  * @property [clampToGround = false] - true if we want the geometry features (Polygons, LineStrings and LinearRings) clamped to the ground.
21108
21139
  * @property [ellipsoid = Ellipsoid.WGS84] - The global ellipsoid used for geographical calculations.
21109
21140
  * @property [credit] - A credit for the data source, which is displayed on the canvas.
21141
+ * @property [screenOverlayContainer] - A container for ScreenOverlay images.
21110
21142
  */
21111
21143
  type LoadOptions = {
21112
21144
  camera: Camera;
@@ -21115,6 +21147,7 @@ export namespace KmlDataSource {
21115
21147
  clampToGround?: boolean;
21116
21148
  ellipsoid?: Ellipsoid;
21117
21149
  credit?: Credit | string;
21150
+ screenOverlayContainer?: Element | string;
21118
21151
  };
21119
21152
  }
21120
21153
 
@@ -21222,13 +21255,19 @@ export class KmlDataSource {
21222
21255
  * @param [options.sourceUri] - Overrides the url to use for resolving relative links and other KML network features.
21223
21256
  * @param [options.clampToGround = false] - true if we want the geometry features (Polygons, LineStrings and LinearRings) clamped to the ground. If true, lines will use corridors so use Entity.corridor instead of Entity.polyline.
21224
21257
  * @param [options.ellipsoid = Ellipsoid.WGS84] - The global ellipsoid used for geographical calculations.
21258
+ * @param [options.screenOverlayContainer] - A container for ScreenOverlay images.
21225
21259
  * @returns A promise that will resolve to this instances once the KML is loaded.
21226
21260
  */
21227
21261
  load(data: Resource | string | Document | Blob, options?: {
21228
21262
  sourceUri?: Resource | string;
21229
21263
  clampToGround?: boolean;
21230
21264
  ellipsoid?: Ellipsoid;
21265
+ screenOverlayContainer?: Element | string;
21231
21266
  }): Promise<KmlDataSource>;
21267
+ /**
21268
+ * Cleans up any non-entity elements created by the data source. Currently this only affects ScreenOverlay elements.
21269
+ */
21270
+ destroy(): void;
21232
21271
  /**
21233
21272
  * Updates any NetworkLink that require updating.
21234
21273
  * @param time - The simulation time.
@@ -26736,7 +26775,7 @@ modifications. Also listen to the {@link Cesium3DTileset#tileVisible} event to r
26736
26775
  </p>
26737
26776
  <p>
26738
26777
  Do not construct this directly. Access it through {@link Cesium3DTileContent#getFeature}
26739
- or picking using {@link Scene#pick} and {@link Scene#pickPosition}.
26778
+ or picking using {@link Scene#pick}.
26740
26779
  </p>
26741
26780
  * @example
26742
26781
  * // On mouse over, display all the properties for a feature in the console log.
@@ -26809,6 +26848,35 @@ export class Cesium3DTileFeature {
26809
26848
  * @returns The value of the property or <code>undefined</code> if the feature does not have this property.
26810
26849
  */
26811
26850
  getProperty(name: string): any;
26851
+ /**
26852
+ * Returns a copy of the feature's property with the given name, examining all
26853
+ the metadata from 3D Tiles 1.0 formats, the EXT_mesh_features and legacy
26854
+ EXT_feature_metadata glTF extensions, and the 3DTILES_metadata 3D Tiles
26855
+ extension. Metadata is checked against name from most specific to most
26856
+ general and the first match is returned. Metadata is checked in this order:
26857
+
26858
+ <ol>
26859
+ <li>Batch table (feature metadata) property by semantic</li>
26860
+ <li>Batch table (feature metadata) property by property ID</li>
26861
+ <li>Tile metadata property by semantic</li>
26862
+ <li>Tile metadata property by property ID</li>
26863
+ <li>Group metadata property by semantic</li>
26864
+ <li>Group metadata property by property ID</li>
26865
+ <li>Tileset metadata property by semantic</li>
26866
+ <li>Tileset metadata property by property ID</li>
26867
+ <li>Otherwise, return undefined</li>
26868
+ </ol>
26869
+ <p>
26870
+ For 3D Tiles Next details, see the {@link https://github.com/CesiumGS/3d-tiles/tree/3d-tiles-next/extensions/3DTILES_metadata|3DTILES_metadata Extension}
26871
+ for 3D Tiles, as well as the {@link https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_mesh_features|EXT_mesh_features Extension}
26872
+ for glTF. For the legacy glTF extension, see {@link https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_feature_metadata|EXT_feature_metadata Extension}
26873
+ </p>
26874
+ * @param content - The content for accessing the metadata
26875
+ * @param batchId - The batch ID (or feature ID) of the feature to get a property for
26876
+ * @param name - The semantic or property ID of the feature. Semantics are checked before property IDs in each granularity of metadata.
26877
+ * @returns The value of the property or <code>undefined</code> if the feature does not have this property.
26878
+ */
26879
+ static getPropertyInherited(content: Cesium3DTileContent, batchId: number, name: string): any;
26812
26880
  /**
26813
26881
  * Sets the value of the feature's property with the given name.
26814
26882
  <p>
@@ -27719,6 +27787,15 @@ export class Cesium3DTileset {
27719
27787
  });
27720
27788
  */
27721
27789
  style: Cesium3DTileStyle | undefined;
27790
+ /**
27791
+ * A custom shader to apply to all tiles in the tileset. Only used for
27792
+ contents that use {@link ModelExperimental}. Using custom shaders with a
27793
+ {@link Cesium3DTileStyle} may lead to undefined behavior.
27794
+ <p>
27795
+ To enable {@link ModelExperimental}, set {@link ExperimentalFeatures.enableModelExperimental} to <code>true</code>.
27796
+ </p>
27797
+ */
27798
+ customShader: CustomShader | undefined;
27722
27799
  /**
27723
27800
  * The maximum screen space error used to drive level of detail refinement. This value helps determine when a tile
27724
27801
  refines to its descendants, and therefore plays a major role in balancing performance with visual quality.
@@ -28990,6 +29067,200 @@ export class ClippingPlaneCollection {
28990
29067
  destroy(): void;
28991
29068
  }
28992
29069
 
29070
+ /**
29071
+ * A renderable collection of clouds in the 3D scene.
29072
+ <br /><br />
29073
+ <div align='center'>
29074
+ <img src='Images/CumulusCloud.png' width='400' height='300' /><br />
29075
+ Example cumulus clouds
29076
+ </div>
29077
+ <br /><br />
29078
+ Clouds are added and removed from the collection using {@link CloudCollection#add}
29079
+ and {@link CloudCollection#remove}.
29080
+ * @example
29081
+ * // Create a cloud collection with two cumulus clouds
29082
+ var clouds = scene.primitives.add(new Cesium.CloudCollection());
29083
+ clouds.add({
29084
+ position : new Cesium.Cartesian3(1.0, 2.0, 3.0),
29085
+ maximumSize: new Cesium.Cartesian3(20.0, 12.0, 8.0)
29086
+ });
29087
+ clouds.add({
29088
+ position : new Cesium.Cartesian3(4.0, 5.0, 6.0),
29089
+ maximumSize: new Cesium.Cartesian3(15.0, 9.0, 9.0),
29090
+ slice: 0.5
29091
+ });
29092
+ * @param [options] - Object with the following properties:
29093
+ * @param [options.show = true] - Whether to display the clouds.
29094
+ * @param [options.noiseDetail = 16.0] - Desired amount of detail in the noise texture.
29095
+ * @param [options.noiseOffset = Cartesian3.ZERO] - Desired translation of data in noise texture.
29096
+ * @param [options.debugBillboards = false] - For debugging only. Determines if the billboards are rendered with an opaque color.
29097
+ * @param [options.debugEllipsoids = false] - For debugging only. Determines if the clouds will be rendered as opaque ellipsoids.
29098
+ */
29099
+ export class CloudCollection {
29100
+ constructor(options?: {
29101
+ show?: boolean;
29102
+ noiseDetail?: number;
29103
+ noiseOffset?: number;
29104
+ debugBillboards?: boolean;
29105
+ debugEllipsoids?: boolean;
29106
+ });
29107
+ /**
29108
+ * <p>
29109
+ Controls the amount of detail captured in the precomputed noise texture
29110
+ used to render the cumulus clouds. In order for the texture to be tileable,
29111
+ this must be a power of two. For best results, set this to be a power of two
29112
+ between <code>8.0</code> and <code>32.0</code> (inclusive).
29113
+ </p>
29114
+
29115
+ <div align='center'>
29116
+ <table border='0' cellpadding='5'><tr>
29117
+ <td align='center'>
29118
+ <code>clouds.noiseDetail = 8.0;</code><br/>
29119
+ <img src='Images/CloudCollection.noiseDetail8.png' width='250' height='158' />
29120
+ </td>
29121
+ <td align='center'>
29122
+ <code>clouds.noiseDetail = 32.0;</code><br/>
29123
+ <img src='Images/CloudCollection.noiseDetail32.png' width='250' height='158' />
29124
+ </td>
29125
+ </tr></table>
29126
+ </div>
29127
+ */
29128
+ noiseDetail: number;
29129
+ /**
29130
+ * <p>
29131
+ Applies a translation to noise texture coordinates to generate different data.
29132
+ This can be modified if the default noise does not generate good-looking clouds.
29133
+ </p>
29134
+
29135
+ <div align='center'>
29136
+ <table border='0' cellpadding='5'><tr>
29137
+ <td align='center'>
29138
+ <code>default</code><br/>
29139
+ <img src='Images/CloudCollection.noiseOffsetdefault.png' width='250' height='158' />
29140
+ </td>
29141
+ <td align='center'>
29142
+ <code>clouds.noiseOffset = new Cesium.Cartesian3(10, 20, 10);</code><br/>
29143
+ <img src='Images/CloudCollection.noiseOffsetx10y20z10.png' width='250' height='158' />
29144
+ </td>
29145
+ </tr></table>
29146
+ </div>
29147
+ */
29148
+ noiseOffset: Cartesian3;
29149
+ /**
29150
+ * Determines if billboards in this collection will be shown.
29151
+ */
29152
+ show: boolean;
29153
+ /**
29154
+ * This property is for debugging only; it is not for production use nor is it optimized.
29155
+ <p>
29156
+ Renders the billboards with one opaque color for the sake of debugging.
29157
+ </p>
29158
+ */
29159
+ debugBillboards: boolean;
29160
+ /**
29161
+ * This property is for debugging only; it is not for production use nor is it optimized.
29162
+ <p>
29163
+ Draws the clouds as opaque, monochrome ellipsoids for the sake of debugging.
29164
+ If <code>debugBillboards</code> is also true, then the ellipsoids will draw on top of the billboards.
29165
+ </p>
29166
+ */
29167
+ debugEllipsoids: boolean;
29168
+ /**
29169
+ * Returns the number of clouds in this collection.
29170
+ */
29171
+ length: number;
29172
+ /**
29173
+ * Creates and adds a cloud with the specified initial properties to the collection.
29174
+ The added cloud is returned so it can be modified or removed from the collection later.
29175
+ * @example
29176
+ * // Example 1: Add a cumulus cloud, specifying all the default values.
29177
+ var c = clouds.add({
29178
+ show : true,
29179
+ position : Cesium.Cartesian3.ZERO,
29180
+ scale : new Cesium.Cartesian2(20.0, 12.0),
29181
+ maximumSize: new Cesium.Cartesian3(20.0, 12.0, 12.0),
29182
+ slice: -1.0,
29183
+ cloudType : CloudType.CUMULUS
29184
+ });
29185
+ * @example
29186
+ * // Example 2: Specify only the cloud's cartographic position.
29187
+ var c = clouds.add({
29188
+ position : Cesium.Cartesian3.fromDegrees(longitude, latitude, height)
29189
+ });
29190
+ * @param [options] - A template describing the cloud's properties as shown in Example 1.
29191
+ * @returns The cloud that was added to the collection.
29192
+ */
29193
+ add(options?: any): CumulusCloud;
29194
+ /**
29195
+ * Removes a cloud from the collection.
29196
+ * @example
29197
+ * var c = clouds.add(...);
29198
+ clouds.remove(c); // Returns true
29199
+ * @param cloud - The cloud to remove.
29200
+ * @returns <code>true</code> if the cloud was removed; <code>false</code> if the cloud was not found in the collection.
29201
+ */
29202
+ remove(cloud: CumulusCloud): boolean;
29203
+ /**
29204
+ * Removes all clouds from the collection.
29205
+ * @example
29206
+ * clouds.add(...);
29207
+ clouds.add(...);
29208
+ clouds.removeAll();
29209
+ */
29210
+ removeAll(): void;
29211
+ /**
29212
+ * Check whether this collection contains a given cloud.
29213
+ * @param [cloud] - The cloud to check for.
29214
+ * @returns true if this collection contains the cloud, false otherwise.
29215
+ */
29216
+ contains(cloud?: CumulusCloud): boolean;
29217
+ /**
29218
+ * Returns the cloud in the collection at the specified index. Indices are zero-based
29219
+ and increase as clouds are added. Removing a cloud shifts all clouds after
29220
+ it to the left, changing their indices. This function is commonly used with
29221
+ {@link CloudCollection#length} to iterate over all the clouds in the collection.
29222
+ * @example
29223
+ * // Toggle the show property of every cloud in the collection
29224
+ var len = clouds.length;
29225
+ for (var i = 0; i < len; ++i) {
29226
+ var c = clouds.get(i);
29227
+ c.show = !c.show;
29228
+ }
29229
+ * @param index - The zero-based index of the cloud.
29230
+ * @returns The cloud at the specified index.
29231
+ */
29232
+ get(index: number): CumulusCloud;
29233
+ /**
29234
+ * Returns true if this object was destroyed; otherwise, false.
29235
+ <br /><br />
29236
+ If this object was destroyed, it should not be used; calling any function other than
29237
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
29238
+ * @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
29239
+ */
29240
+ isDestroyed(): boolean;
29241
+ /**
29242
+ * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
29243
+ release of WebGL resources, instead of relying on the garbage collector to destroy this object.
29244
+ <br /><br />
29245
+ Once an object is destroyed, it should not be used; calling any function other than
29246
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
29247
+ assign the return value (<code>undefined</code>) to the object as done in the example.
29248
+ * @example
29249
+ * clouds = clouds && clouds.destroy();
29250
+ */
29251
+ destroy(): void;
29252
+ }
29253
+
29254
+ /**
29255
+ * Specifies the type of the cloud that is added to a {@link CloudCollection} in {@link CloudCollection#add}.
29256
+ */
29257
+ export enum CloudType {
29258
+ /**
29259
+ * Cumulus cloud.
29260
+ */
29261
+ CUMULUS = 0
29262
+ }
29263
+
28993
29264
  /**
28994
29265
  * Defines different modes for blending between a target color and a primitive's source color.
28995
29266
 
@@ -29286,6 +29557,144 @@ export enum CullFace {
29286
29557
  FRONT_AND_BACK = WebGLConstants.FRONT_AND_BACK
29287
29558
  }
29288
29559
 
29560
+ /**
29561
+ * A cumulus cloud billboard positioned in the 3D scene, that is created and rendered using a {@link CloudCollection}.
29562
+ A cloud is created and its initial properties are set by calling {@link CloudCollection#add}.
29563
+ and {@link CloudCollection#remove}.
29564
+ <br /><br />
29565
+ <div align='center'>
29566
+ <img src='Images/CumulusCloud.png' width='400' height='300' /><br />
29567
+ Example cumulus clouds
29568
+ </div>
29569
+ */
29570
+ export class CumulusCloud {
29571
+ constructor();
29572
+ /**
29573
+ * Determines if this cumulus cloud will be shown. Use this to hide or show a cloud, instead
29574
+ of removing it and re-adding it to the collection.
29575
+ */
29576
+ show: boolean;
29577
+ /**
29578
+ * Gets or sets the Cartesian position of this cumulus cloud.
29579
+ */
29580
+ position: Cartesian3;
29581
+ /**
29582
+ * <p>Gets or sets the scale of the cumulus cloud billboard in meters.
29583
+ The <code>scale</code> property will affect the size of the billboard,
29584
+ but not the cloud's actual appearance.</p>
29585
+ <div align='center'>
29586
+ <table border='0' cellpadding='5'><tr>
29587
+ <td align='center'>
29588
+ <code>cloud.scale = new Cesium.Cartesian2(12, 8);</code><br/>
29589
+ <img src='Images/CumulusCloud.scalex12y8.png' width='250' height='158' />
29590
+ </td>
29591
+ <td align='center'>
29592
+ <code>cloud.scale = new Cesium.Cartesian2(24, 10);</code><br/>
29593
+ <img src='Images/CumulusCloud.scalex24y10.png' width='250' height='158' />
29594
+ </td>
29595
+ </tr></table>
29596
+ </div>
29597
+
29598
+ <p>To modify the cloud's appearance, modify its <code>maximumSize</code>
29599
+ and <code>slice</code> properties.</p>
29600
+ */
29601
+ scale: Cartesian2;
29602
+ /**
29603
+ * <p>Gets or sets the maximum size of the cumulus cloud rendered on the billboard.
29604
+ This defines a maximum ellipsoid volume that the cloud can appear in.
29605
+ Rather than guaranteeing a specific size, this specifies a boundary for the
29606
+ cloud to appear in, and changing it can affect the shape of the cloud.</p>
29607
+ <p>Changing the z-value of <code>maximumSize</code> has the most dramatic effect
29608
+ on the cloud's appearance because it changes the depth of the cloud, and thus the
29609
+ positions at which the cloud-shaping texture is sampled.</p>
29610
+ <div align='center'>
29611
+ <table border='0' cellpadding='5'>
29612
+ <tr>
29613
+ <td align='center'>
29614
+ <code>cloud.maximumSize = new Cesium.Cartesian3(14, 9, 10);</code><br/>
29615
+ <img src='Images/CumulusCloud.maximumSizex14y9z10.png' width='250' height='158' />
29616
+ </td>
29617
+ <td align='center'>
29618
+ <code>cloud.maximumSize.x = 25;</code><br/>
29619
+ <img src='Images/CumulusCloud.maximumSizex25.png' width='250' height='158' />
29620
+ </td>
29621
+ </tr>
29622
+ <tr>
29623
+ <td align='center'>
29624
+ <code>cloud.maximumSize.y = 5;</code><br/>
29625
+ <img src='Images/CumulusCloud.maximumSizey5.png' width='250' height='158' />
29626
+ </td>
29627
+ <td align='center'>
29628
+ <code>cloud.maximumSize.z = 17;</code><br/>
29629
+ <img src='Images/CumulusCloud.maximumSizez17.png' width='250' height='158' />
29630
+ </td>
29631
+ </tr>
29632
+ </table>
29633
+ </div>
29634
+
29635
+ <p>To modify the billboard's actual size, modify the cloud's <code>scale</code> property.</p>
29636
+ */
29637
+ maximumSize: Cartesian3;
29638
+ /**
29639
+ * <p>Gets or sets the "slice" of the cloud that is rendered on the billboard, i.e.
29640
+ the specific cross-section of the cloud chosen for the billboard's appearance.
29641
+ Given a value between 0 and 1, the slice specifies how deeply into the cloud
29642
+ to intersect based on its maximum size in the z-direction.</p>
29643
+ <div align='center'>
29644
+ <table border='0' cellpadding='5'><tr>
29645
+ <td align='center'><code>cloud.slice = 0.32;</code><br/><img src='Images/CumulusCloud.slice0.32.png' width='250' height='158' /></td>
29646
+ <td align='center'><code>cloud.slice = 0.5;</code><br/><img src='Images/CumulusCloud.slice0.5.png' width='250' height='158' /></td>
29647
+ <td align='center'><code>cloud.slice = 0.6;</code><br/><img src='Images/CumulusCloud.slice0.6.png' width='250' height='158' /></td>
29648
+ </tr></table>
29649
+ </div>
29650
+
29651
+ <br />
29652
+ <p>Due to the nature in which this slice is calculated,
29653
+ values below <code>0.2</code> may result in cross-sections that are too small,
29654
+ and the edge of the ellipsoid will be visible. Similarly, values above <code>0.7</code>
29655
+ will cause the cloud to appear smaller. Values outside the range <code>[0.1, 0.9]</code>
29656
+ should be avoided entirely because they do not produce desirable results.</p>
29657
+
29658
+ <div align='center'>
29659
+ <table border='0' cellpadding='5'><tr>
29660
+ <td align='center'><code>cloud.slice = 0.08;</code><br/><img src='Images/CumulusCloud.slice0.08.png' width='250' height='158' /></td>
29661
+ <td align='center'><code>cloud.slice = 0.8;</code><br/><img src='Images/CumulusCloud.slice0.8.png' width='250' height='158' /></td>
29662
+ </tr></table>
29663
+ </div>
29664
+
29665
+ <p>If <code>slice</code> is set to a negative number, the cloud will not render a cross-section.
29666
+ Instead, it will render the outside of the ellipsoid that is visible. For clouds with
29667
+ small values of `maximumSize.z`, this can produce good-looking results, but for larger
29668
+ clouds, this can result in a cloud that is undesirably warped to the ellipsoid volume.</p>
29669
+
29670
+ <div align='center'>
29671
+ <table border='0' cellpadding='5'><tr>
29672
+ <td align='center'>
29673
+ <code>cloud.slice = -1.0;<br/>cloud.maximumSize.z = 18;</code><br/>
29674
+ <img src='Images/CumulusCloud.slice-1z18.png' width='250' height='158' />
29675
+ </td>
29676
+ <td align='center'>
29677
+ <code>cloud.slice = -1.0;<br/>cloud.maximumSize.z = 30;</code><br/>
29678
+ <img src='Images/CumulusCloud.slice-1z30.png' width='250' height='158' /></td>
29679
+ </tr></table>
29680
+ </div>
29681
+ */
29682
+ slice: number;
29683
+ /**
29684
+ * Gets or sets the brightness of the cloud. This can be used to give clouds
29685
+ a darker, grayer appearance.
29686
+ <br /><br />
29687
+ <div align='center'>
29688
+ <table border='0' cellpadding='5'><tr>
29689
+ <td align='center'><code>cloud.brightness = 1.0;</code><br/><img src='Images/CumulusCloud.brightness1.png' width='250' height='158' /></td>
29690
+ <td align='center'><code>cloud.brightness = 0.6;</code><br/><img src='Images/CumulusCloud.brightness0.6.png' width='250' height='158' /></td>
29691
+ <td align='center'><code>cloud.brightness = 0.0;</code><br/><img src='Images/CumulusCloud.brightness0.png' width='250' height='158' /></td>
29692
+ </tr></table>
29693
+ </div>
29694
+ */
29695
+ brightness: number;
29696
+ }
29697
+
29289
29698
  /**
29290
29699
  * Visualizes a vertex attribute by displaying it as a color for debugging.
29291
29700
  <p>
@@ -32743,7 +33152,7 @@ export enum LabelStyle {
32743
33152
  }
32744
33153
 
32745
33154
  /**
32746
- * A light source. This type describes an interface and is not intended to be instantiated directly.
33155
+ * A light source. This type describes an interface and is not intended to be instantiated directly. Together, <code>color</code> and <code>intensity</code> produce a high-dynamic-range light color. <code>intensity</code> can also be used individually to dim or brighten the light without changing the hue.
32747
33156
  */
32748
33157
  export class Light {
32749
33158
  constructor();
@@ -32752,7 +33161,7 @@ export class Light {
32752
33161
  */
32753
33162
  color: Color;
32754
33163
  /**
32755
- * The intensity of the light.
33164
+ * The intensity controls the strength of the light. <code>intensity</code> has a minimum value of 0.0 and no maximum value.
32756
33165
  */
32757
33166
  intensity: number;
32758
33167
  }
@@ -34532,6 +34941,606 @@ export enum ModelAnimationLoop {
34532
34941
  MIRRORED_REPEAT = 2
34533
34942
  }
34534
34943
 
34944
+ /**
34945
+ * An object describing a uniform, its type, and an initial value
34946
+ * @property type - The Glsl type of the uniform.
34947
+ * @property value - The initial value of the uniform
34948
+ */
34949
+ export type UniformSpecifier = {
34950
+ type: UniformType;
34951
+ value: boolean | number | Cartesian2 | Cartesian3 | Cartesian4 | Matrix2 | Matrix3 | Matrix4 | TextureUniform;
34952
+ };
34953
+
34954
+ /**
34955
+ * A user defined GLSL shader used with {@link ModelExperimental} as well
34956
+ as {@link Cesium3DTileset}.
34957
+ <p>
34958
+ If texture uniforms are used, additional resource management must be done:
34959
+ </p>
34960
+ <ul>
34961
+ <li>
34962
+ The <code>update</code> function must be called each frame. When a
34963
+ custom shader is passed to a {@link ModelExperimental} or a
34964
+ {@link Cesium3DTileset}, this step is handled automaticaly
34965
+ </li>
34966
+ <li>
34967
+ {@link CustomShader#destroy} must be called when the custom shader is
34968
+ no longer needed to clean up GPU resources properly. The application
34969
+ is responsible for calling this method.
34970
+ </li>
34971
+ </ul>
34972
+ <p>
34973
+ To enable the use of {@link ModelExperimental} in {@link Cesium3DTileset}, set {@link ExperimentalFeatures.enableModelExperimental} to <code>true</code>.
34974
+ </p>
34975
+ * @example
34976
+ * var customShader = new CustomShader({
34977
+ uniforms: {
34978
+ u_colorIndex: {
34979
+ type: Cesium.UniformType.FLOAT,
34980
+ value: 1.0
34981
+ },
34982
+ u_normalMap: {
34983
+ type: Cesium.UniformType.SAMPLER_2D,
34984
+ value: new Cesium.TextureUniform({
34985
+ url: "http://example.com/normal.png"
34986
+ })
34987
+ }
34988
+ },
34989
+ varyings: {
34990
+ v_selectedColor: Cesium.VaryingType.VEC3
34991
+ },
34992
+ vertexShaderText: `
34993
+ void vertexMain(VertexInput vsInput, inout vec3 position) {
34994
+ v_selectedColor = mix(vsInput.attributes.color_0, vsInput.attributes.color_1, u_colorIndex);
34995
+ position += 0.1 * vsInput.attributes.normal;
34996
+ }
34997
+ `,
34998
+ fragmentShaderText: `
34999
+ void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {
35000
+ material.normal = texture2D(u_normalMap, fsInput.attributes.texCoord_0);
35001
+ material.diffuse = v_selectedColor;
35002
+ }
35003
+ `
35004
+ });
35005
+ * @param options - An object with the following options
35006
+ * @param [options.mode = CustomShaderMode.MODIFY_MATERIAL] - The custom shader mode, which determines how the custom shader code is inserted into the fragment shader.
35007
+ * @param [options.lightingModel] - The lighting model (e.g. PBR or unlit). If present, this overrides the default lighting for the model.
35008
+ * @param [options.isTranslucent = false] - If set, the model will be rendered as translucent. This overrides the default settings for the model.
35009
+ * @param [options.uniforms] - A dictionary for user-defined uniforms. The key is the uniform name that will appear in the GLSL code. The value is an object that describes the uniform type and initial value
35010
+ * @param [options.varyings] - A dictionary for declaring additional GLSL varyings used in the shader. The key is the varying name that will appear in the GLSL code. The value is the data type of the varying. For each varying, the declaration will be added to the top of the shader automatically. The caller is responsible for assigning a value in the vertex shader and using the value in the fragment shader.
35011
+ * @param [options.vertexShaderText] - The custom vertex shader as a string of GLSL code. It must include a GLSL function called vertexMain. See the example for the expected signature. If not specified, the custom vertex shader step will be skipped in the computed vertex shader.
35012
+ * @param [options.fragmentShaderText] - The custom fragment shader as a string of GLSL code. It must include a GLSL function called fragmentMain. See the example for the expected signature. If not specified, the custom fragment shader step will be skipped in the computed fragment shader.
35013
+ */
35014
+ export class CustomShader {
35015
+ constructor(options: {
35016
+ mode?: CustomShaderMode;
35017
+ lightingModel?: LightingModel;
35018
+ isTranslucent?: boolean;
35019
+ uniforms?: {
35020
+ [key: string]: UniformSpecifier;
35021
+ };
35022
+ varyings?: {
35023
+ [key: string]: VaryingType;
35024
+ };
35025
+ vertexShaderText?: string;
35026
+ fragmentShaderText?: string;
35027
+ });
35028
+ /**
35029
+ * Update the value of a uniform declared in the shader
35030
+ * @param uniformName - The GLSL name of the uniform. This must match one of the uniforms declared in the constructor
35031
+ * @param value - The new value of the uniform.
35032
+ */
35033
+ setUniform(uniformName: string, value: boolean | number | Cartesian2 | Cartesian3 | Cartesian4 | Matrix2 | Matrix3 | Matrix4 | string | Resource): void;
35034
+ }
35035
+
35036
+ /**
35037
+ * A value determining how the custom shader interacts with the overall
35038
+ fragment shader. This is used by {@link CustomShaderPipelineStage}
35039
+ */
35040
+ export const mode: CustomShaderMode;
35041
+
35042
+ /**
35043
+ * The lighting model to use when using the custom shader.
35044
+ This is used by {@link CustomShaderPipelineStage}
35045
+ */
35046
+ export const lightingModel: LightingModel;
35047
+
35048
+ /**
35049
+ * Additional uniforms as declared by the user.
35050
+ */
35051
+ export const uniforms: {
35052
+ [key: string]: UniformSpecifier;
35053
+ };
35054
+
35055
+ /**
35056
+ * Additional varyings as declared by the user.
35057
+ This is used by {@link CustomShaderPipelineStage}
35058
+ */
35059
+ export const varyings: {
35060
+ [key: string]: VaryingType;
35061
+ };
35062
+
35063
+ /**
35064
+ * The user-defined GLSL code for the vertex shader
35065
+ */
35066
+ export const vertexShaderText: string;
35067
+
35068
+ /**
35069
+ * The user-defined GLSL code for the fragment shader
35070
+ */
35071
+ export const fragmentShaderText: string;
35072
+
35073
+ /**
35074
+ * Whether the shader should be rendered as translucent
35075
+ */
35076
+ export const isTranslucent: boolean;
35077
+
35078
+ /**
35079
+ * An enum describing how the {@link CustomShader} will be added to the
35080
+ fragment shader. This determines how the shader interacts with the material.
35081
+ */
35082
+ export enum CustomShaderMode {
35083
+ /**
35084
+ * The custom shader will be used to modify the results of the material stage
35085
+ before lighting is applied.
35086
+ */
35087
+ MODIFY_MATERIAL = "MODIFY_MATERIAL",
35088
+ /**
35089
+ * The custom shader will be used instead of the material stage. This is a hint
35090
+ to optimize out the material processing code.
35091
+ */
35092
+ REPLACE_MATERIAL = "REPLACE_MATERIAL"
35093
+ }
35094
+
35095
+ /**
35096
+ * The lighting model to use for lighting a {@link ModelExperimental}.
35097
+ */
35098
+ export enum LightingModel {
35099
+ /**
35100
+ * Use unlit shading, i.e. skip lighting calculations. The model's
35101
+ diffuse color (assumed to be linear RGB, not sRGB) is used directly
35102
+ when computing <code>gl_FragColor</code>. The alpha mode is still
35103
+ applied.
35104
+ */
35105
+ UNLIT = 0,
35106
+ /**
35107
+ * Use physically-based rendering lighting calculations. This includes
35108
+ both PBR metallic roughness and PBR specular glossiness. Image-based
35109
+ lighting is also applied when possible.
35110
+ */
35111
+ PBR = 1
35112
+ }
35113
+
35114
+ /**
35115
+ * A 3D model. This is a new architecture that is more decoupled than the older {@link Model}. This class is still experimental.
35116
+ <p>
35117
+ Do not call this function directly, instead use the `from` functions to create
35118
+ the Model from your source data type.
35119
+ </p>
35120
+ * @param options - Object with the following properties:
35121
+ * @param options.resource - The Resource to the 3D model.
35122
+ * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms the model from model to world coordinates.
35123
+ * @param [options.debugShowBoundingVolume = false] - For debugging only. Draws the bounding sphere for each draw command in the model.
35124
+ * @param [options.cull = true] - Whether or not to cull the model using frustum/horizon culling. If the model is part of a 3D Tiles tileset, this property will always be false, since the 3D Tiles culling system is used.
35125
+ * @param [options.opaquePass = Pass.OPAQUE] - The pass to use in the {@link DrawCommand} for the opaque portions of the model.
35126
+ * @param [options.allowPicking = true] - When <code>true</code>, each primitive is pickable with {@link Scene#pick}.
35127
+ * @param [options.customShader] - A custom shader. This will add user-defined GLSL code to the vertex and fragment shaders. Using custom shaders with a {@link Cesium3DTileStyle} may lead to undefined behavior.
35128
+ * @param [options.content] - The tile content this model belongs to. This property will be undefined if model is not loaded as part of a tileset.
35129
+ * @param [options.show = true] - Whether or not to render the model.
35130
+ * @param [options.color] - A color that blends with the model's rendered color.
35131
+ * @param [options.colorBlendMode = ColorBlendMode.HIGHLIGHT] - Defines how the color blends with the model.
35132
+ * @param [options.colorBlendAmount = 0.5] - Value used to determine the color strength when the <code>colorBlendMode</code> is <code>MIX</code>. A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with any value in-between resulting in a mix of the two.
35133
+ * @param [options.featureIdAttributeIndex = 0] - The index of the feature ID attribute to use for picking features per-instance or per-primitive.
35134
+ * @param [options.featureIdTextureIndex = 0] - The index of the feature ID texture to use for picking features per-primitive.
35135
+ */
35136
+ export class ModelExperimental {
35137
+ constructor(options: {
35138
+ resource: Resource;
35139
+ modelMatrix?: Matrix4;
35140
+ debugShowBoundingVolume?: boolean;
35141
+ cull?: boolean;
35142
+ opaquePass?: boolean;
35143
+ allowPicking?: boolean;
35144
+ customShader?: CustomShader;
35145
+ content?: Cesium3DTileContent;
35146
+ show?: boolean;
35147
+ color?: Color;
35148
+ colorBlendMode?: ColorBlendMode;
35149
+ colorBlendAmount?: number;
35150
+ featureIdAttributeIndex?: number;
35151
+ featureIdTextureIndex?: number;
35152
+ });
35153
+ /**
35154
+ * When <code>true</code>, this model is ready to render, i.e., the external binary, image,
35155
+ and shader files were downloaded and the WebGL resources were created. This is set to
35156
+ <code>true</code> right before {@link ModelExperimental#readyPromise} is resolved.
35157
+ */
35158
+ readonly ready: boolean;
35159
+ /**
35160
+ * Gets the promise that will be resolved when this model is ready to render, i.e. when the external resources
35161
+ have been downloaded and the WebGL resources are created.
35162
+ <p>
35163
+ This promise is resolved at the end of the frame before the first frame the model is rendered in.
35164
+ </p>
35165
+ */
35166
+ readonly readyPromise: Promise<ModelExperimental>;
35167
+ /**
35168
+ * The model's custom shader, if it exists. Using custom shaders with a {@link Cesium3DTileStyle}
35169
+ may lead to undefined behavior.
35170
+ */
35171
+ customShader: CustomShader;
35172
+ /**
35173
+ * The color to blend with the model's rendered color.
35174
+ */
35175
+ color: Color;
35176
+ /**
35177
+ * Defines how the color blends with the model.
35178
+ */
35179
+ colorBlendMode: Cesium3DTileColorBlendMode | ColorBlendMode;
35180
+ /**
35181
+ * Value used to determine the color strength when the <code>colorBlendMode</code> is <code>MIX</code>. A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with any value in-between resulting in a mix of the two.
35182
+ */
35183
+ colorBlendAmount: number;
35184
+ /**
35185
+ * Gets the model's bounding sphere.
35186
+ */
35187
+ readonly boundingSphere: BoundingSphere;
35188
+ /**
35189
+ * This property is for debugging only; it is not for production use nor is it optimized.
35190
+ <p>
35191
+ Draws the bounding sphere for each draw command in the model.
35192
+ </p>
35193
+ */
35194
+ debugShowBoundingVolume: boolean;
35195
+ /**
35196
+ * Whether or not to render the model.
35197
+ */
35198
+ show: boolean;
35199
+ /**
35200
+ * The index of the feature ID attribute to use for picking features per-instance or per-primitive.
35201
+ */
35202
+ featureIdAttributeIndex: number;
35203
+ /**
35204
+ * The index of the feature ID texture to use for picking features per-primitive.
35205
+ */
35206
+ featureIdTextureIndex: number;
35207
+ /**
35208
+ * Called when {@link Viewer} or {@link CesiumWidget} render the scene to
35209
+ get the draw commands needed to render this primitive.
35210
+ <p>
35211
+ Do not call this function directly. This is documented just to
35212
+ list the exceptions that may be propagated when the scene is rendered:
35213
+ </p>
35214
+ */
35215
+ update(): void;
35216
+ /**
35217
+ * Returns true if this object was destroyed; otherwise, false.
35218
+ <br /><br />
35219
+ If this object was destroyed, it should not be used; calling any function other than
35220
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
35221
+ * @returns <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
35222
+ */
35223
+ isDestroyed(): boolean;
35224
+ /**
35225
+ * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
35226
+ release of WebGL resources, instead of relying on the garbage collector to destroy this object.
35227
+ <br /><br />
35228
+ Once an object is destroyed, it should not be used; calling any function other than
35229
+ <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
35230
+ assign the return value (<code>undefined</code>) to the object as done in the example.
35231
+ * @example
35232
+ * model = model && model.destroy();
35233
+ */
35234
+ destroy(): void;
35235
+ /**
35236
+ * <p>
35237
+ Creates a model from a glTF asset. When the model is ready to render, i.e., when the external binary, image,
35238
+ and shader files are downloaded and the WebGL resources are created, the {@link Model#readyPromise} is resolved.
35239
+ </p>
35240
+ <p>
35241
+ The model can be a traditional glTF asset with a .gltf extension or a Binary glTF using the .glb extension.
35242
+ * @param options - Object with the following properties:
35243
+ * @param options.gltf - A Resource/URL to a glTF/glb file, a binary glTF buffer, or a JSON object containing the glTF contents
35244
+ * @param [options.basePath = ''] - The base path that paths in the glTF JSON are relative to.
35245
+ * @param [options.modelMatrix = Matrix4.IDENTITY] - The 4x4 transformation matrix that transforms the model from model to world coordinates.
35246
+ * @param [options.incrementallyLoadTextures = true] - Determine if textures may continue to stream in after the model is loaded.
35247
+ * @param [options.releaseGltfJson = false] - When true, the glTF JSON is released once the glTF is loaded. This is is especially useful for cases like 3D Tiles, where each .gltf model is unique and caching the glTF JSON is not effective.
35248
+ * @param [options.debugShowBoundingVolume = false] - For debugging only. Draws the bounding sphere for each draw command in the model.
35249
+ * @param [options.cull = true] - Whether or not to cull the model using frustum/horizon culling. If the model is part of a 3D Tiles tileset, this property will always be false, since the 3D Tiles culling system is used.
35250
+ * @param [options.opaquePass = Pass.OPAQUE] - The pass to use in the {@link DrawCommand} for the opaque portions of the model.
35251
+ * @param [options.upAxis = Axis.Y] - The up-axis of the glTF model.
35252
+ * @param [options.forwardAxis = Axis.Z] - The forward-axis of the glTF model.
35253
+ * @param [options.allowPicking = true] - When <code>true</code>, each primitive is pickable with {@link Scene#pick}.
35254
+ * @param [options.customShader] - A custom shader. This will add user-defined GLSL code to the vertex and fragment shaders. Using custom shaders with a {@link Cesium3DTileStyle} may lead to undefined behavior.
35255
+ * @param [options.content] - The tile content this model belongs to. This property will be undefined if model is not loaded as part of a tileset.
35256
+ * @param [options.show = true] - Whether or not to render the model.
35257
+ * @param [options.color] - A color that blends with the model's rendered color.
35258
+ * @param [options.colorBlendMode = ColorBlendMode.HIGHLIGHT] - Defines how the color blends with the model.
35259
+ * @param [options.colorBlendAmount = 0.5] - Value used to determine the color strength when the <code>colorBlendMode</code> is <code>MIX</code>. A value of 0.0 results in the model's rendered color while a value of 1.0 results in a solid color, with any value in-between resulting in a mix of the two.
35260
+ * @param [options.featureIdAttributeIndex = 0] - The index of the feature ID attribute to use for picking features per-instance or per-primitive.
35261
+ * @param [options.featureIdTextureIndex = 0] - The index of the feature ID texture to use for picking features per-primitive.
35262
+ * @returns The newly created model.
35263
+ */
35264
+ static fromGltf(options: {
35265
+ gltf: string | Resource | Uint8Array | any;
35266
+ basePath?: string | Resource;
35267
+ modelMatrix?: Matrix4;
35268
+ incrementallyLoadTextures?: boolean;
35269
+ releaseGltfJson?: boolean;
35270
+ debugShowBoundingVolume?: boolean;
35271
+ cull?: boolean;
35272
+ opaquePass?: boolean;
35273
+ upAxis?: Axis;
35274
+ forwardAxis?: Axis;
35275
+ allowPicking?: boolean;
35276
+ customShader?: CustomShader;
35277
+ content?: Cesium3DTileContent;
35278
+ show?: boolean;
35279
+ color?: Color;
35280
+ colorBlendMode?: ColorBlendMode;
35281
+ colorBlendAmount?: number;
35282
+ featureIdAttributeIndex?: number;
35283
+ featureIdTextureIndex?: number;
35284
+ }): ModelExperimental;
35285
+ }
35286
+
35287
+ /**
35288
+ * The style to apply the to the features in the model. Cannot be applied if a {@link CustomShader} is also applied.
35289
+ */
35290
+ export var style: Cesium3DTileStyle;
35291
+
35292
+ /**
35293
+ * The 4x4 transformation matrix that transforms the model from model to world coordinates.
35294
+ When this is the identity matrix, the model is drawn in world coordinates, i.e., Earth's Cartesian WGS84 coordinates.
35295
+ Local reference frames can be used by providing a different transformation matrix, like that returned
35296
+ by {@link Transforms.eastNorthUpToFixedFrame}.
35297
+ * @example
35298
+ * var origin = Cesium.Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
35299
+ m.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(origin);
35300
+ */
35301
+ export var modelMatrix: Matrix4;
35302
+
35303
+ /**
35304
+ * A feature of a {@link ModelExperimental}.
35305
+ <p>
35306
+ Provides access to a feature's properties stored in the model's feature table.
35307
+ </p>
35308
+ <p>
35309
+ Modifications to a <code>ModelFeature</code> object have the lifetime of the model.
35310
+ </p>
35311
+ <p>
35312
+ Do not construct this directly. Access it through picking using {@link Scene#pick}.
35313
+ </p>
35314
+ * @example
35315
+ * // On mouse over, display all the properties for a feature in the console log.
35316
+ handler.setInputAction(function(movement) {
35317
+ var feature = scene.pick(movement.endPosition);
35318
+ if (feature instanceof Cesium.ModelFeature) {
35319
+ console.log(feature);
35320
+ }
35321
+ }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
35322
+ * @param options - Object with the following properties:
35323
+ * @param options.model - The model the feature belongs to.
35324
+ * @param options.featureId - The unique integral identifier for this feature.
35325
+ */
35326
+ export class ModelFeature {
35327
+ constructor(options: {
35328
+ model: ModelExperimental;
35329
+ featureId: number;
35330
+ });
35331
+ /**
35332
+ * Gets or sets if the feature will be shown. This is set for all features
35333
+ when a style's show is evaluated.
35334
+ */
35335
+ show: boolean;
35336
+ /**
35337
+ * Gets or sets the highlight color multiplied with the feature's color. When
35338
+ this is white, the feature's color is not changed. This is set for all features
35339
+ when a style's color is evaluated.
35340
+ */
35341
+ color: Color;
35342
+ /**
35343
+ * Returns whether the feature contains this property.
35344
+ * @param name - The case-sensitive name of the property.
35345
+ * @returns Whether the feature contains this property.
35346
+ */
35347
+ hasProperty(name: string): boolean;
35348
+ /**
35349
+ * Returns a copy of the value of the feature's property with the given name.
35350
+ * @example
35351
+ * // Display all the properties for a feature in the console log.
35352
+ var propertyNames = feature.getPropertyNames();
35353
+ var length = propertyNames.length;
35354
+ for (var i = 0; i < length; ++i) {
35355
+ var propertyName = propertyNames[i];
35356
+ console.log(propertyName + ': ' + feature.getProperty(propertyName));
35357
+ }
35358
+ * @param name - The case-sensitive name of the property.
35359
+ * @returns The value of the property or <code>undefined</code> if the feature does not have this property.
35360
+ */
35361
+ getProperty(name: string): any;
35362
+ /**
35363
+ * Returns a copy of the feature's property with the given name, examining all
35364
+ the metadata from the EXT_mesh_features and legacy EXT_feature_metadata glTF
35365
+ extensions. Metadata is checked against name from most specific to most
35366
+ general and the first match is returned. Metadata is checked in this order:
35367
+ <ol>
35368
+ <li>Feature metadata property by semantic</li>
35369
+ <li>Feature metadata property by property ID</li>
35370
+ </ol>
35371
+ <p>
35372
+ See the {@link https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_mesh_features|EXT_mesh_features Extension} as well as the
35373
+ previous {@link https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_feature_metadata|EXT_feature_metadata Extension} for glTF.
35374
+ </p>
35375
+ * @param name - The semantic or property ID of the feature. Semantics are checked before property IDs in each granularity of metadata.
35376
+ * @returns The value of the property or <code>undefined</code> if the feature does not have this property.
35377
+ */
35378
+ getPropertyInherited(name: string): any;
35379
+ /**
35380
+ * Returns an array of property names for the feature.
35381
+ * @param [results] - An array into which to store the results.
35382
+ * @returns The names of the feature's properties.
35383
+ */
35384
+ getPropertyNames(results?: string[]): string[];
35385
+ /**
35386
+ * Sets the value of the feature's property with the given name.
35387
+ * @example
35388
+ * var height = feature.getProperty('Height'); // e.g., the height of a building
35389
+ * @example
35390
+ * var name = 'clicked';
35391
+ if (feature.getProperty(name)) {
35392
+ console.log('already clicked');
35393
+ } else {
35394
+ feature.setProperty(name, true);
35395
+ console.log('first click');
35396
+ }
35397
+ * @param name - The case-sensitive name of the property.
35398
+ * @param value - The value of the property that will be copied.
35399
+ * @returns <code>true</code> if the property was set, <code>false</code> otherwise.
35400
+ */
35401
+ setProperty(name: string, value: any): boolean;
35402
+ }
35403
+
35404
+ /**
35405
+ * The bounding sphere that contains all the vertices in this primitive.
35406
+ */
35407
+ export var boundingSphere: BoundingSphere;
35408
+
35409
+ /**
35410
+ * A simple struct that serves as a value of a <code>sampler2D</code>-valued
35411
+ uniform. This is used with {@link CustomShader} and {@link TextureManager}
35412
+ * @param options - An object with the following properties:
35413
+ * @param [options.typedArray] - A typed array storing the contents of a texture. Values are stored in row-major order. Since WebGL uses a y-up convention for textures, rows are listed from bottom to top.
35414
+ * @param [options.width] - The width of the image. Required when options.typedArray is present
35415
+ * @param [options.height] - The height of the image. Required when options.typedArray is present.
35416
+ * @param [options.url] - A URL string or resource pointing to a texture image.
35417
+ * @param [options.repeat = true] - When defined, the texture sampler will be set to wrap in both directions
35418
+ * @param [options.pixelFormat = PixelFormat.RGBA] - When options.typedArray is defined, this is used to determine the pixel format of the texture
35419
+ * @param [options.pixelDatatype = PixelDatatype.UNSIGNED_BYTE] - When options.typedArray is defined, this is the data type of pixel values in the typed array.
35420
+ * @param [textureMinificationFilter = TextureMinificationFilter.LINEAR] - The minification filter of the texture sampler.
35421
+ * @param [textureMagnificationFilter = TextureMagnificationFilter.LINEAR] - The magnification filter of the texture sampler.
35422
+ * @param [options.maximumAnisotropy = 1.0] - The maximum anisotropy of the texture sampler
35423
+ */
35424
+ export class TextureUniform {
35425
+ constructor(options: {
35426
+ typedArray?: Uint8Array;
35427
+ width?: number;
35428
+ height?: number;
35429
+ url?: string | Resource;
35430
+ repeat?: boolean;
35431
+ pixelFormat?: PixelFormat;
35432
+ pixelDatatype?: PixelDatatype;
35433
+ maximumAnisotropy?: number;
35434
+ }, textureMinificationFilter?: TextureMinificationFilter, textureMagnificationFilter?: TextureMagnificationFilter);
35435
+ }
35436
+
35437
+ /**
35438
+ * An enum of the basic GLSL uniform types. These can be used with
35439
+ {@link CustomShader} to declare user-defined uniforms.
35440
+ */
35441
+ export enum UniformType {
35442
+ /**
35443
+ * A single floating point value.
35444
+ */
35445
+ FLOAT = "float",
35446
+ /**
35447
+ * A vector of 2 floating point values.
35448
+ */
35449
+ VEC2 = "vec2",
35450
+ /**
35451
+ * A vector of 3 floating point values.
35452
+ */
35453
+ VEC3 = "vec3",
35454
+ /**
35455
+ * A vector of 4 floating point values.
35456
+ */
35457
+ VEC4 = "vec4",
35458
+ /**
35459
+ * A single integer value
35460
+ */
35461
+ INT = "int",
35462
+ /**
35463
+ * A vector of 2 integer values.
35464
+ */
35465
+ INT_VEC2 = "ivec2",
35466
+ /**
35467
+ * A vector of 3 integer values.
35468
+ */
35469
+ INT_VEC3 = "ivec3",
35470
+ /**
35471
+ * A vector of 4 integer values.
35472
+ */
35473
+ INT_VEC4 = "ivec4",
35474
+ /**
35475
+ * A single boolean value.
35476
+ */
35477
+ BOOL = "bool",
35478
+ /**
35479
+ * A vector of 2 boolean values.
35480
+ */
35481
+ BOOL_VEC2 = "bvec2",
35482
+ /**
35483
+ * A vector of 3 boolean values.
35484
+ */
35485
+ BOOL_VEC3 = "bvec3",
35486
+ /**
35487
+ * A vector of 4 boolean values.
35488
+ */
35489
+ BOOL_VEC4 = "bvec4",
35490
+ /**
35491
+ * A 2x2 matrix of floating point values.
35492
+ */
35493
+ MAT2 = "mat2",
35494
+ /**
35495
+ * A 3x3 matrix of floating point values.
35496
+ */
35497
+ MAT3 = "mat2",
35498
+ /**
35499
+ * A 3x3 matrix of floating point values.
35500
+ */
35501
+ MAT4 = "mat4",
35502
+ /**
35503
+ * A 2D sampled texture.
35504
+ */
35505
+ SAMPLER_2D = "sampler2D",
35506
+ SAMPLER_CUBE = "samplerCube"
35507
+ }
35508
+
35509
+ /**
35510
+ * An enum for the GLSL varying types. These can be used for declaring varyings
35511
+ in {@link CustomShader}
35512
+ */
35513
+ export enum VaryingType {
35514
+ /**
35515
+ * A single floating point value.
35516
+ */
35517
+ FLOAT = "float",
35518
+ /**
35519
+ * A vector of 2 floating point values.
35520
+ */
35521
+ VEC2 = "vec2",
35522
+ /**
35523
+ * A vector of 3 floating point values.
35524
+ */
35525
+ VEC3 = "vec3",
35526
+ /**
35527
+ * A vector of 4 floating point values.
35528
+ */
35529
+ VEC4 = "vec4",
35530
+ /**
35531
+ * A 2x2 matrix of floating point values.
35532
+ */
35533
+ MAT2 = "mat2",
35534
+ /**
35535
+ * A 3x3 matrix of floating point values.
35536
+ */
35537
+ MAT3 = "mat2",
35538
+ /**
35539
+ * A 3x3 matrix of floating point values.
35540
+ */
35541
+ MAT4 = "mat4"
35542
+ }
35543
+
34535
35544
  /**
34536
35545
  * A model's material with modifiable parameters. A glTF material
34537
35546
  contains parameters defined by the material's technique with values
@@ -37049,7 +38058,7 @@ var scene = new Cesium.Scene({
37049
38058
  allowTextureFilterAnisotropic : false
37050
38059
  }
37051
38060
  });
37052
- * @param [options] - Object with the following properties:
38061
+ * @param options - Object with the following properties:
37053
38062
  * @param options.canvas - The HTML canvas element to create the scene for.
37054
38063
  * @param [options.contextOptions] - Context and WebGL creation properties. See details above.
37055
38064
  * @param [options.creditContainer] - The HTML element in which the credits will be displayed.
@@ -37063,7 +38072,7 @@ var scene = new Cesium.Scene({
37063
38072
  * @param [options.maximumRenderTimeChange = 0.0] - If requestRenderMode is true, this value defines the maximum change in simulation time allowed before a render is requested. See {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}.
37064
38073
  */
37065
38074
  export class Scene {
37066
- constructor(options?: {
38075
+ constructor(options: {
37067
38076
  canvas: HTMLCanvasElement;
37068
38077
  contextOptions?: any;
37069
38078
  creditContainer?: Element;
@@ -37446,10 +38455,6 @@ export class Scene {
37446
38455
  * Gets or sets the current mode of the scene.
37447
38456
  */
37448
38457
  mode: SceneMode;
37449
- /**
37450
- * Gets or sets the scalar used to exaggerate the terrain.
37451
- */
37452
- terrainExaggeration: number;
37453
38458
  /**
37454
38459
  * When <code>true</code>, splits the scene into two viewports with steroscopic views for the left and right eyes.
37455
38460
  Used for cardboard and WebVR.
@@ -42917,6 +43922,8 @@ declare module "cesium/Source/Scene/ClassificationPrimitive" { import { Classifi
42917
43922
  declare module "cesium/Source/Scene/ClassificationType" { import { ClassificationType } from 'cesium'; export default ClassificationType; }
42918
43923
  declare module "cesium/Source/Scene/ClippingPlane" { import { ClippingPlane } from 'cesium'; export default ClippingPlane; }
42919
43924
  declare module "cesium/Source/Scene/ClippingPlaneCollection" { import { ClippingPlaneCollection } from 'cesium'; export default ClippingPlaneCollection; }
43925
+ declare module "cesium/Source/Scene/CloudCollection" { import { CloudCollection } from 'cesium'; export default CloudCollection; }
43926
+ declare module "cesium/Source/Scene/CloudType" { import { CloudType } from 'cesium'; export default CloudType; }
42920
43927
  declare module "cesium/Source/Scene/ColorBlendMode" { import { ColorBlendMode } from 'cesium'; export default ColorBlendMode; }
42921
43928
  declare module "cesium/Source/Scene/ConditionsExpression" { import { ConditionsExpression } from 'cesium'; export default ConditionsExpression; }
42922
43929
  declare module "cesium/Source/Scene/ConeEmitter" { import { ConeEmitter } from 'cesium'; export default ConeEmitter; }
@@ -42926,6 +43933,7 @@ declare module "cesium/Source/Scene/createTangentSpaceDebugPrimitive" { import {
42926
43933
  declare module "cesium/Source/Scene/createWorldImagery" { import { createWorldImagery } from 'cesium'; export default createWorldImagery; }
42927
43934
  declare module "cesium/Source/Scene/CreditDisplay" { import { CreditDisplay } from 'cesium'; export default CreditDisplay; }
42928
43935
  declare module "cesium/Source/Scene/CullFace" { import { CullFace } from 'cesium'; export default CullFace; }
43936
+ declare module "cesium/Source/Scene/CumulusCloud" { import { CumulusCloud } from 'cesium'; export default CumulusCloud; }
42929
43937
  declare module "cesium/Source/Scene/DebugAppearance" { import { DebugAppearance } from 'cesium'; export default DebugAppearance; }
42930
43938
  declare module "cesium/Source/Scene/DebugCameraPrimitive" { import { DebugCameraPrimitive } from 'cesium'; export default DebugCameraPrimitive; }
42931
43939
  declare module "cesium/Source/Scene/DebugModelMatrixPrimitive" { import { DebugModelMatrixPrimitive } from 'cesium'; export default DebugModelMatrixPrimitive; }
@@ -43022,6 +44030,14 @@ declare module "cesium/Source/Widgets/Command" { import { Command } from 'cesium
43022
44030
  declare module "cesium/Source/Widgets/createCommand" { import { createCommand } from 'cesium'; export default createCommand; }
43023
44031
  declare module "cesium/Source/Widgets/SvgPathBindingHandler" { import { SvgPathBindingHandler } from 'cesium'; export default SvgPathBindingHandler; }
43024
44032
  declare module "cesium/Source/Widgets/ToggleButtonViewModel" { import { ToggleButtonViewModel } from 'cesium'; export default ToggleButtonViewModel; }
44033
+ declare module "cesium/Source/Scene/ModelExperimental/CustomShader" { import { CustomShader } from 'cesium'; export default CustomShader; }
44034
+ declare module "cesium/Source/Scene/ModelExperimental/CustomShaderMode" { import { CustomShaderMode } from 'cesium'; export default CustomShaderMode; }
44035
+ declare module "cesium/Source/Scene/ModelExperimental/LightingModel" { import { LightingModel } from 'cesium'; export default LightingModel; }
44036
+ declare module "cesium/Source/Scene/ModelExperimental/ModelExperimental" { import { ModelExperimental } from 'cesium'; export default ModelExperimental; }
44037
+ declare module "cesium/Source/Scene/ModelExperimental/ModelFeature" { import { ModelFeature } from 'cesium'; export default ModelFeature; }
44038
+ declare module "cesium/Source/Scene/ModelExperimental/TextureUniform" { import { TextureUniform } from 'cesium'; export default TextureUniform; }
44039
+ declare module "cesium/Source/Scene/ModelExperimental/UniformType" { import { UniformType } from 'cesium'; export default UniformType; }
44040
+ declare module "cesium/Source/Scene/ModelExperimental/VaryingType" { import { VaryingType } from 'cesium'; export default VaryingType; }
43025
44041
  declare module "cesium/Source/Widgets/Animation/Animation" { import { Animation } from 'cesium'; export default Animation; }
43026
44042
  declare module "cesium/Source/Widgets/Animation/AnimationViewModel" { import { AnimationViewModel } from 'cesium'; export default AnimationViewModel; }
43027
44043
  declare module "cesium/Source/Widgets/BaseLayerPicker/BaseLayerPicker" { import { BaseLayerPicker } from 'cesium'; export default BaseLayerPicker; }