@cesium/engine 14.0.0 → 16.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.
- package/Build/Workers/{chunk-WVNLSTOF.js → chunk-2TQ64T4I.js} +2 -2
- package/Build/Workers/{chunk-ED6GLQTK.js → chunk-34EWMUFG.js} +1 -1
- package/Build/Workers/{chunk-HEZHXDYB.js → chunk-4LHK6E47.js} +1 -1
- package/Build/Workers/{chunk-7EO56M5R.js → chunk-5TN3LG2T.js} +2 -2
- package/Build/Workers/{chunk-7ZB2RVIQ.js → chunk-6B7KGA5P.js} +16 -19
- package/Build/Workers/{chunk-3QLSKXKF.js → chunk-B75OO2DU.js} +7 -10
- package/Build/Workers/{chunk-Q4ZVWJXX.js → chunk-COOLDICB.js} +9 -11
- package/Build/Workers/{chunk-3PIZQT3I.js → chunk-CQNYYX3N.js} +4 -4
- package/Build/Workers/{chunk-JPDKYBLF.js → chunk-CUJH7PS5.js} +27 -29
- package/Build/Workers/{chunk-CI2HEJFC.js → chunk-EAWYQ44R.js} +39 -41
- package/Build/Workers/{chunk-SDIDRZDG.js → chunk-EJJDBH5W.js} +7 -7
- package/Build/Workers/{chunk-5KWRW7YL.js → chunk-EO44CO62.js} +2 -2
- package/Build/Workers/{chunk-N2XAJBC6.js → chunk-EOIUWEAK.js} +26 -28
- package/Build/Workers/{chunk-YJX7X577.js → chunk-ERKJ7IWJ.js} +21 -23
- package/Build/Workers/{chunk-J7IH4EYI.js → chunk-ESED7XBA.js} +13 -16
- package/Build/Workers/{chunk-F4CUH4MR.js → chunk-FW2OX42E.js} +18 -21
- package/Build/Workers/{chunk-FX4R4MTH.js → chunk-GH6I7PBY.js} +6 -9
- package/Build/Workers/{chunk-FYGLNDKG.js → chunk-GQVSADCI.js} +19 -22
- package/Build/Workers/{chunk-TY4DKOWR.js → chunk-ICU72UPR.js} +4 -4
- package/Build/Workers/{chunk-DT5NFR5C.js → chunk-ILVAXLMC.js} +7 -7
- package/Build/Workers/{chunk-ZGFIT57T.js → chunk-KKV6XBF5.js} +27 -23
- package/Build/Workers/{chunk-HKHQ3EDR.js → chunk-KV6TEHXY.js} +4 -4
- package/Build/Workers/{chunk-B4GSRXE3.js → chunk-LCSH4ZOB.js} +7 -10
- package/Build/Workers/{chunk-LNSWJ43X.js → chunk-M5J3S3HY.js} +17 -26
- package/Build/Workers/{chunk-LJBJM6VI.js → chunk-NB6D74SQ.js} +6 -6
- package/Build/Workers/{chunk-4CHMVQTQ.js → chunk-NREPBWCX.js} +14 -14
- package/Build/Workers/{chunk-PWF4EY5P.js → chunk-OD4Q7HE5.js} +4 -4
- package/Build/Workers/{chunk-77XPS7ZA.js → chunk-OMFZ4IN6.js} +15 -24
- package/Build/Workers/{chunk-HUFQVUMY.js → chunk-OMZGZVHI.js} +12 -17
- package/Build/Workers/{chunk-LOZ4NKY3.js → chunk-ORIMMEHO.js} +18 -20
- package/Build/Workers/{chunk-5S5OOA6U.js → chunk-OWLBD6BL.js} +1 -1
- package/Build/Workers/{chunk-VCNOFQYH.js → chunk-PB6SE3SZ.js} +9 -12
- package/Build/Workers/{chunk-3JBEPBPL.js → chunk-PT6U7UNY.js} +25 -30
- package/Build/Workers/{chunk-G3BVMPWG.js → chunk-RWAFHSX3.js} +2 -2
- package/Build/Workers/{chunk-KHWLAQVA.js → chunk-S2NKKWYE.js} +1 -1
- package/Build/Workers/{chunk-FFBJDW4A.js → chunk-S3IQBSIB.js} +6 -6
- package/Build/Workers/{chunk-3LYROPON.js → chunk-SCUQTTCN.js} +16 -19
- package/Build/Workers/{chunk-ZMNLEL6W.js → chunk-TBSA4MNF.js} +5 -8
- package/Build/Workers/{chunk-EWDGNOJE.js → chunk-TEUGW455.js} +9 -12
- package/Build/Workers/{chunk-XK4OP6VA.js → chunk-TL5YKZJF.js} +33 -41
- package/Build/Workers/{chunk-KM6MITPF.js → chunk-V4Y7C25O.js} +46 -42
- package/Build/Workers/{chunk-OMXHEJTK.js → chunk-VNDECE6N.js} +2 -2
- package/Build/Workers/{chunk-LS3KVHYY.js → chunk-VVTAI2TN.js} +6 -9
- package/Build/Workers/{chunk-WEHZP4SE.js → chunk-VXAAIRJ7.js} +129 -146
- package/Build/Workers/{chunk-MVM4JV5U.js → chunk-WGIOUM2S.js} +9 -12
- package/Build/Workers/{chunk-JHBPC4LK.js → chunk-XF6EBVKV.js} +7 -7
- package/Build/Workers/{chunk-D7ZBZPHV.js → chunk-XMKE4XB2.js} +5 -5
- package/Build/Workers/{chunk-7UHKH6M3.js → chunk-YA4XALD5.js} +34 -36
- package/Build/Workers/{chunk-KSYBJA4M.js → chunk-YFXXUW6U.js} +6 -12
- package/Build/Workers/{chunk-Z3QWTHI7.js → chunk-YL26OJCG.js} +21 -23
- package/Build/Workers/{chunk-K4AH3TDT.js → chunk-ZLJDDRGB.js} +14 -17
- package/Build/Workers/combineGeometry.js +21 -22
- package/Build/Workers/createBoxGeometry.js +15 -16
- package/Build/Workers/createBoxOutlineGeometry.js +20 -25
- package/Build/Workers/createCircleGeometry.js +26 -28
- package/Build/Workers/createCircleOutlineGeometry.js +19 -21
- package/Build/Workers/createCoplanarPolygonGeometry.js +38 -42
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +34 -36
- package/Build/Workers/createCorridorGeometry.js +42 -49
- package/Build/Workers/createCorridorOutlineGeometry.js +36 -43
- package/Build/Workers/createCylinderGeometry.js +17 -18
- package/Build/Workers/createCylinderOutlineGeometry.js +23 -25
- package/Build/Workers/createEllipseGeometry.js +23 -24
- package/Build/Workers/createEllipseOutlineGeometry.js +16 -17
- package/Build/Workers/createEllipsoidGeometry.js +16 -17
- package/Build/Workers/createEllipsoidOutlineGeometry.js +15 -16
- package/Build/Workers/createFrustumGeometry.js +15 -16
- package/Build/Workers/createFrustumOutlineGeometry.js +18 -21
- package/Build/Workers/createGeometry.js +22 -25
- package/Build/Workers/createGroundPolylineGeometry.js +34 -42
- package/Build/Workers/createPlaneGeometry.js +19 -21
- package/Build/Workers/createPlaneOutlineGeometry.js +12 -13
- package/Build/Workers/createPolygonGeometry.js +45 -50
- package/Build/Workers/createPolygonOutlineGeometry.js +39 -44
- package/Build/Workers/createPolylineGeometry.js +33 -40
- package/Build/Workers/createPolylineVolumeGeometry.js +37 -44
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +32 -39
- package/Build/Workers/createRectangleGeometry.js +41 -51
- package/Build/Workers/createRectangleOutlineGeometry.js +28 -33
- package/Build/Workers/createSimplePolylineGeometry.js +29 -34
- package/Build/Workers/createSphereGeometry.js +17 -20
- package/Build/Workers/createSphereOutlineGeometry.js +16 -19
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +12 -13
- package/Build/Workers/createVectorTileGeometries.js +21 -22
- package/Build/Workers/createVectorTilePoints.js +11 -12
- package/Build/Workers/createVectorTilePolygons.js +19 -20
- package/Build/Workers/createVectorTilePolylines.js +12 -13
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -23
- package/Build/Workers/createVerticesFromHeightmap.js +31 -58
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -18
- package/Build/Workers/createWallGeometry.js +30 -35
- package/Build/Workers/createWallOutlineGeometry.js +28 -33
- package/Build/Workers/decodeDraco.js +10 -11
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
- package/Build/Workers/decodeI3S.js +10 -16
- package/Build/Workers/transcodeKTX2.js +50 -46
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +19 -20
- package/Source/Core/ApproximateTerrainHeights.js +2 -3
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +6 -6
- package/Source/Core/AxisAlignedBoundingBox.js +2 -3
- package/Source/Core/BingMapsGeocoderService.js +2 -2
- package/Source/Core/BoundingRectangle.js +7 -8
- package/Source/Core/BoundingSphere.js +10 -11
- package/Source/Core/BoxGeometry.js +7 -7
- package/Source/Core/BoxOutlineGeometry.js +7 -9
- package/Source/Core/Cartesian2.js +4 -5
- package/Source/Core/Cartesian3.js +7 -8
- package/Source/Core/Cartesian4.js +6 -7
- package/Source/Core/Cartographic.js +5 -6
- package/Source/Core/CatmullRomSpline.js +2 -2
- package/Source/Core/CesiumTerrainProvider.js +11 -14
- package/Source/Core/CircleGeometry.js +2 -2
- package/Source/Core/CircleOutlineGeometry.js +2 -2
- package/Source/Core/Clock.js +7 -10
- package/Source/Core/Color.js +28 -28
- package/Source/Core/ColorGeometryInstanceAttribute.js +4 -5
- package/Source/Core/ComponentDatatype.js +4 -6
- package/Source/Core/CoplanarPolygonGeometry.js +8 -10
- package/Source/Core/CoplanarPolygonOutlineGeometry.js +5 -5
- package/Source/Core/CorridorGeometry.js +15 -20
- package/Source/Core/CorridorOutlineGeometry.js +10 -15
- package/Source/Core/Credit.js +1 -2
- package/Source/Core/CullingVolume.js +1 -2
- package/Source/Core/CustomHeightmapTerrainProvider.js +3 -3
- package/Source/Core/CylinderGeometry.js +7 -7
- package/Source/Core/CylinderOutlineGeometry.js +7 -7
- package/Source/Core/DistanceDisplayCondition.js +4 -5
- package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +2 -3
- package/Source/Core/EarthOrientationParameters.js +4 -4
- package/Source/Core/EllipseGeometry.js +17 -23
- package/Source/Core/EllipseOutlineGeometry.js +12 -15
- package/Source/Core/Ellipsoid.js +7 -8
- package/Source/Core/EllipsoidGeodesic.js +1 -2
- package/Source/Core/EllipsoidGeometry.js +15 -15
- package/Source/Core/EllipsoidOutlineGeometry.js +15 -15
- package/Source/Core/EllipsoidRhumbLine.js +3 -4
- package/Source/Core/EllipsoidTangentPlane.js +1 -2
- package/Source/Core/EllipsoidTerrainProvider.js +4 -4
- package/Source/Core/EllipsoidalOccluder.js +2 -3
- package/Source/Core/FeatureDetection.js +1 -2
- package/Source/Core/Frozen.js +24 -0
- package/Source/Core/FrustumGeometry.js +7 -8
- package/Source/Core/FrustumOutlineGeometry.js +3 -4
- package/Source/Core/GeographicProjection.js +1 -2
- package/Source/Core/GeographicTilingScheme.js +6 -12
- package/Source/Core/Geometry.js +4 -7
- package/Source/Core/GeometryAttribute.js +3 -3
- package/Source/Core/GeometryAttributes.js +2 -2
- package/Source/Core/GeometryInstance.js +4 -6
- package/Source/Core/GeometryInstanceAttribute.js +3 -3
- package/Source/Core/GeometryPipeline.js +3 -4
- package/Source/Core/GoogleEarthEnterpriseMetadata.js +13 -24
- package/Source/Core/GoogleEarthEnterpriseTerrainData.js +9 -12
- package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +3 -3
- package/Source/Core/GoogleGeocoderService.js +2 -2
- package/Source/Core/GregorianDate.js +8 -9
- package/Source/Core/GroundPolylineGeometry.js +8 -8
- package/Source/Core/HeadingPitchRange.js +3 -4
- package/Source/Core/HeadingPitchRoll.js +3 -4
- package/Source/Core/Heap.js +3 -4
- package/Source/Core/HeightmapTerrainData.js +22 -38
- package/Source/Core/HeightmapTessellator.js +21 -37
- package/Source/Core/HermitePolynomialApproximation.js +1 -2
- package/Source/Core/HermiteSpline.js +5 -5
- package/Source/Core/ITwinPlatform.js +66 -12
- package/Source/Core/Iau2006XysData.js +8 -10
- package/Source/Core/IntersectionTests.js +1 -2
- package/Source/Core/Interval.js +2 -4
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/IonGeocoderService.js +6 -10
- package/Source/Core/IonResource.js +6 -6
- package/Source/Core/JulianDate.js +11 -12
- package/Source/Core/LinearSpline.js +2 -2
- package/Source/Core/ManagedArray.js +2 -3
- package/Source/Core/Math.js +36 -27
- package/Source/Core/Matrix2.js +7 -8
- package/Source/Core/Matrix3.js +12 -13
- package/Source/Core/Matrix4.js +28 -28
- package/Source/Core/MorphWeightSpline.js +2 -2
- package/Source/Core/NearFarScalar.js +6 -7
- package/Source/Core/Occluder.js +1 -2
- package/Source/Core/OffsetGeometryInstanceAttribute.js +3 -4
- package/Source/Core/OpenCageGeocoderService.js +1 -2
- package/Source/Core/OrientedBoundingBox.js +7 -8
- package/Source/Core/OrthographicFrustum.js +6 -6
- package/Source/Core/OrthographicOffCenterFrustum.js +4 -4
- package/Source/Core/PerspectiveFrustum.js +8 -8
- package/Source/Core/PerspectiveOffCenterFrustum.js +4 -4
- package/Source/Core/PlaneGeometry.js +5 -5
- package/Source/Core/PolygonGeometry.js +16 -19
- package/Source/Core/PolygonGeometryLibrary.js +27 -6
- package/Source/Core/PolygonOutlineGeometry.js +11 -14
- package/Source/Core/PolygonPipeline.js +5 -6
- package/Source/Core/PolylineGeometry.js +10 -15
- package/Source/Core/PolylinePipeline.js +7 -14
- package/Source/Core/PolylineVolumeGeometry.js +8 -13
- package/Source/Core/PolylineVolumeOutlineGeometry.js +7 -12
- package/Source/Core/QuantizedMeshTerrainData.js +12 -16
- package/Source/Core/Quaternion.js +7 -8
- package/Source/Core/QuaternionSpline.js +2 -2
- package/Source/Core/Ray.js +2 -3
- package/Source/Core/Rectangle.js +18 -19
- package/Source/Core/RectangleGeometry.js +17 -25
- package/Source/Core/RectangleGeometryLibrary.js +1 -1
- package/Source/Core/RectangleOutlineGeometry.js +10 -13
- package/Source/Core/Request.js +6 -6
- package/Source/Core/RequestScheduler.js +4 -6
- package/Source/Core/Resource.js +13 -16
- package/Source/Core/S2Cell.js +2 -3
- package/Source/Core/ScreenSpaceEventHandler.js +1 -2
- package/Source/Core/ShowGeometryInstanceAttribute.js +1 -2
- package/Source/Core/Simon1994PlanetaryPositions.js +9 -9
- package/Source/Core/SimplePolylineGeometry.js +8 -11
- package/Source/Core/SphereGeometry.js +1 -2
- package/Source/Core/SphereOutlineGeometry.js +1 -2
- package/Source/Core/Spherical.js +4 -5
- package/Source/Core/Spline.js +1 -2
- package/Source/Core/SteppedSpline.js +2 -2
- package/Source/Core/TaskProcessor.js +2 -9
- package/Source/Core/TerrainData.js +1 -1
- package/Source/Core/TerrainEncoding.js +4 -11
- package/Source/Core/TerrainMesh.js +1 -3
- package/Source/Core/TerrainProvider.js +1 -1
- package/Source/Core/TexturePacker.js +166 -0
- package/Source/Core/TileProviderError.js +1 -2
- package/Source/Core/TimeInterval.js +7 -7
- package/Source/Core/TimeIntervalCollection.js +7 -7
- package/Source/Core/Tipsify.js +5 -5
- package/Source/Core/Transforms.js +10 -15
- package/Source/Core/TranslationRotationScale.js +3 -6
- package/Source/Core/VRTheWorldTerrainProvider.js +5 -5
- package/Source/Core/VertexFormat.js +10 -10
- package/Source/Core/VerticalExaggeration.js +1 -1
- package/Source/Core/VideoSynchronizer.js +6 -6
- package/Source/Core/WallGeometry.js +8 -11
- package/Source/Core/WallOutlineGeometry.js +7 -10
- package/Source/Core/WebMercatorProjection.js +1 -2
- package/Source/Core/WebMercatorTilingScheme.js +5 -11
- package/Source/Core/arrayRemoveDuplicates.js +1 -2
- package/Source/Core/clone.js +1 -3
- package/Source/Core/combine.js +1 -2
- package/Source/Core/createWorldBathymetryAsync.js +3 -3
- package/Source/Core/createWorldTerrainAsync.js +4 -4
- package/Source/Core/defaultValue.js +20 -1
- package/Source/Core/destroyObject.js +1 -5
- package/Source/Core/getAbsoluteUri.js +1 -2
- package/Source/Core/getMagic.js +1 -2
- package/Source/Core/getStringFromTypedArray.js +2 -3
- package/Source/Core/loadImageFromTypedArray.js +2 -6
- package/Source/Core/oneTimeWarning.js +1 -2
- package/Source/Core/writeTextToCanvas.js +10 -13
- package/Source/DataSources/BillboardGraphics.js +27 -53
- package/Source/DataSources/BillboardVisualizer.js +3 -3
- package/Source/DataSources/BoxGraphics.js +13 -18
- package/Source/DataSources/CallbackPositionProperty.js +1 -2
- package/Source/DataSources/Cesium3DTilesetGraphics.js +6 -8
- package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
- package/Source/DataSources/CompositePositionProperty.js +1 -2
- package/Source/DataSources/ConstantPositionProperty.js +1 -2
- package/Source/DataSources/CorridorGraphics.js +23 -35
- package/Source/DataSources/CylinderGraphics.js +18 -25
- package/Source/DataSources/CzmlDataSource.js +34 -60
- package/Source/DataSources/DataSourceClock.js +12 -13
- package/Source/DataSources/DataSourceCollection.js +2 -3
- package/Source/DataSources/DataSourceDisplay.js +2 -5
- package/Source/DataSources/EllipseGraphics.js +26 -40
- package/Source/DataSources/EllipsoidGeometryUpdater.js +1 -2
- package/Source/DataSources/EllipsoidGraphics.js +21 -32
- package/Source/DataSources/Entity.js +7 -9
- package/Source/DataSources/EntityCluster.js +53 -28
- package/Source/DataSources/EntityView.js +1 -2
- package/Source/DataSources/GeoJsonDataSource.js +12 -12
- package/Source/DataSources/GeometryUpdater.js +12 -17
- package/Source/DataSources/GeometryVisualizer.js +2 -3
- package/Source/DataSources/GpxDataSource.js +4 -7
- package/Source/DataSources/GridMaterialProperty.js +2 -2
- package/Source/DataSources/GroundGeometryUpdater.js +1 -2
- package/Source/DataSources/ImageMaterialProperty.js +2 -2
- package/Source/DataSources/KmlDataSource.js +84 -158
- package/Source/DataSources/LabelGraphics.js +27 -56
- package/Source/DataSources/LabelVisualizer.js +1 -2
- package/Source/DataSources/ModelGraphics.js +29 -63
- package/Source/DataSources/ModelVisualizer.js +1 -2
- package/Source/DataSources/NodeTransformationProperty.js +2 -2
- package/Source/DataSources/PathGraphics.js +10 -12
- package/Source/DataSources/PlaneGraphics.js +13 -15
- package/Source/DataSources/PointGraphics.js +17 -32
- package/Source/DataSources/PolygonGraphics.js +28 -45
- package/Source/DataSources/PolylineDashMaterialProperty.js +2 -2
- package/Source/DataSources/PolylineGeometryUpdater.js +9 -14
- package/Source/DataSources/PolylineGlowMaterialProperty.js +2 -2
- package/Source/DataSources/PolylineGraphics.js +16 -23
- package/Source/DataSources/PolylineOutlineMaterialProperty.js +2 -2
- package/Source/DataSources/PolylineVisualizer.js +2 -3
- package/Source/DataSources/PolylineVolumeGraphics.js +15 -17
- package/Source/DataSources/PositionPropertyArray.js +1 -2
- package/Source/DataSources/Property.js +1 -2
- package/Source/DataSources/PropertyBag.js +1 -2
- package/Source/DataSources/RectangleGraphics.js +23 -35
- package/Source/DataSources/Rotation.js +4 -5
- package/Source/DataSources/SampledPositionProperty.js +2 -3
- package/Source/DataSources/SampledProperty.js +6 -11
- package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -2
- package/Source/DataSources/StripeMaterialProperty.js +2 -2
- package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +1 -2
- package/Source/DataSources/VelocityOrientationProperty.js +1 -2
- package/Source/DataSources/VelocityVectorProperty.js +1 -2
- package/Source/DataSources/WallGraphics.js +15 -23
- package/Source/DataSources/createPropertyDescriptor.js +2 -3
- package/Source/DataSources/exportKml.js +11 -14
- package/Source/Renderer/Buffer.js +5 -5
- package/Source/Renderer/ClearCommand.js +2 -2
- package/Source/Renderer/ComputeCommand.js +3 -3
- package/Source/Renderer/Context.js +22 -37
- package/Source/Renderer/CubeMap.js +6 -6
- package/Source/Renderer/CubeMapFace.js +11 -12
- package/Source/Renderer/DrawCommand.js +14 -25
- package/Source/Renderer/Framebuffer.js +3 -3
- package/Source/Renderer/FramebufferManager.js +25 -39
- package/Source/Renderer/MultisampleFramebuffer.js +2 -2
- package/Source/Renderer/RenderState.js +63 -92
- package/Source/Renderer/Renderbuffer.js +4 -4
- package/Source/Renderer/Sampler.js +2 -2
- package/Source/Renderer/ShaderBuilder.js +2 -3
- package/Source/Renderer/ShaderProgram.js +3 -3
- package/Source/Renderer/ShaderSource.js +3 -3
- package/Source/Renderer/Texture.js +16 -15
- package/Source/Renderer/TextureAtlas.js +802 -0
- package/Source/Renderer/UniformState.js +6 -11
- package/Source/Renderer/VertexArray.js +14 -23
- package/Source/Renderer/VertexArrayFacade.js +7 -11
- package/Source/Scene/Appearance.js +4 -4
- package/Source/Scene/ArcGisMapServerImageryProvider.js +23 -37
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/B3dmParser.js +2 -3
- package/Source/Scene/BatchTableHierarchy.js +6 -13
- package/Source/Scene/Billboard.js +105 -182
- package/Source/Scene/BillboardCollection.js +140 -224
- package/Source/Scene/BillboardLoadState.js +44 -0
- package/Source/Scene/BillboardTexture.js +348 -0
- package/Source/Scene/BingMapsImageryProvider.js +6 -6
- package/Source/Scene/BoxEmitter.js +1 -2
- package/Source/Scene/BufferLoader.js +2 -2
- package/Source/Scene/Camera.js +45 -64
- package/Source/Scene/CameraFlightPath.js +6 -6
- package/Source/Scene/Cesium3DContentGroup.js +2 -2
- package/Source/Scene/Cesium3DTile.js +3 -4
- package/Source/Scene/Cesium3DTileBatchTable.js +6 -49
- package/Source/Scene/Cesium3DTileFeatureTable.js +2 -3
- package/Source/Scene/Cesium3DTilePointFeature.js +10 -18
- package/Source/Scene/Cesium3DTileStyle.js +4 -7
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +419 -137
- package/Source/Scene/Cesium3DTileset.js +77 -143
- package/Source/Scene/Cesium3DTilesetMetadata.js +3 -3
- package/Source/Scene/Cesium3DTilesetStatistics.js +0 -1
- package/Source/Scene/CircleEmitter.js +2 -3
- package/Source/Scene/ClassificationPrimitive.js +15 -26
- package/Source/Scene/ClippingPlaneCollection.js +7 -12
- package/Source/Scene/ClippingPolygon.js +1 -2
- package/Source/Scene/ClippingPolygonCollection.js +4 -4
- package/Source/Scene/CloudCollection.js +9 -11
- package/Source/Scene/Composite3DTileContent.js +1 -2
- package/Source/Scene/ConeEmitter.js +1 -2
- package/Source/Scene/ContentMetadata.js +2 -2
- package/Source/Scene/CreditDisplay.js +5 -9
- package/Source/Scene/CumulusCloud.js +9 -15
- package/Source/Scene/DebugAppearance.js +7 -7
- package/Source/Scene/DebugCameraPrimitive.js +5 -5
- package/Source/Scene/DebugModelMatrixPrimitive.js +6 -8
- package/Source/Scene/DepthPlane.js +1 -2
- package/Source/Scene/DirectionalLight.js +2 -3
- package/Source/Scene/DiscardMissingTileImagePolicy.js +2 -2
- package/Source/Scene/DynamicEnvironmentMapManager.js +15 -24
- package/Source/Scene/EllipsoidPrimitive.js +11 -19
- package/Source/Scene/EllipsoidSurfaceAppearance.js +11 -15
- package/Source/Scene/Expression.js +1 -0
- package/Source/Scene/FrameRateMonitor.js +12 -21
- package/Source/Scene/FrustumCommands.js +2 -3
- package/Source/Scene/Geometry3DTileContent.js +9 -16
- package/Source/Scene/Globe.js +3 -4
- package/Source/Scene/GlobeSurfaceTileProvider.js +9 -18
- package/Source/Scene/GlobeTranslucencyState.js +12 -25
- package/Source/Scene/GltfBufferViewLoader.js +4 -4
- package/Source/Scene/GltfDracoLoader.js +2 -2
- package/Source/Scene/GltfImageLoader.js +2 -2
- package/Source/Scene/GltfIndexBufferLoader.js +5 -5
- package/Source/Scene/GltfJsonLoader.js +2 -2
- package/Source/Scene/GltfLoader.js +22 -37
- package/Source/Scene/GltfLoaderUtil.js +11 -11
- package/Source/Scene/GltfPipeline/addDefaults.js +37 -64
- package/Source/Scene/GltfPipeline/addToArray.js +1 -3
- package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +2 -5
- package/Source/Scene/GltfPipeline/parseGlb.js +1 -5
- package/Source/Scene/GltfPipeline/removeUnusedElements.js +1 -2
- package/Source/Scene/GltfPipeline/updateVersion.js +28 -49
- package/Source/Scene/GltfStructuralMetadataLoader.js +5 -6
- package/Source/Scene/GltfTextureLoader.js +3 -3
- package/Source/Scene/GltfVertexBufferLoader.js +5 -5
- package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +2 -2
- package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +3 -4
- package/Source/Scene/GridImageryProvider.js +10 -13
- package/Source/Scene/GroundPolylinePrimitive.js +11 -22
- package/Source/Scene/GroundPrimitive.js +13 -24
- package/Source/Scene/GroupMetadata.js +2 -2
- package/Source/Scene/I3SDataProvider.js +10 -15
- package/Source/Scene/I3SNode.js +1 -6
- package/Source/Scene/I3SSublayer.js +1 -2
- package/Source/Scene/I3SSymbology.js +2 -3
- package/Source/Scene/I3dmParser.js +1 -2
- package/Source/Scene/ITwinData.js +11 -6
- package/Source/Scene/ImageBasedLighting.js +2 -2
- package/Source/Scene/ImageryLayer.js +42 -71
- package/Source/Scene/ImageryLayerCollection.js +2 -3
- package/Source/Scene/Implicit3DTileContent.js +3 -4
- package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -5
- package/Source/Scene/ImplicitMetadataView.js +2 -2
- package/Source/Scene/ImplicitSubtree.js +10 -15
- package/Source/Scene/ImplicitSubtreeCache.js +3 -3
- package/Source/Scene/ImplicitSubtreeMetadata.js +2 -2
- package/Source/Scene/InstanceAttributeSemantic.js +1 -1
- package/Source/Scene/IonImageryProvider.js +3 -3
- package/Source/Scene/KeyframeNode.js +16 -2
- package/Source/Scene/Label.js +19 -36
- package/Source/Scene/LabelCollection.js +218 -196
- package/Source/Scene/MapboxImageryProvider.js +4 -4
- package/Source/Scene/MapboxStyleImageryProvider.js +5 -5
- package/Source/Scene/Material.js +14 -20
- package/Source/Scene/MaterialAppearance.js +12 -18
- package/Source/Scene/Megatexture.js +145 -82
- package/Source/Scene/MetadataClass.js +4 -4
- package/Source/Scene/MetadataClassProperty.js +11 -14
- package/Source/Scene/MetadataEnum.js +4 -7
- package/Source/Scene/MetadataEnumValue.js +2 -2
- package/Source/Scene/MetadataSchema.js +4 -4
- package/Source/Scene/MetadataSchemaLoader.js +2 -2
- package/Source/Scene/MetadataTable.js +2 -2
- package/Source/Scene/MetadataTableProperty.js +17 -31
- package/Source/Scene/Model/AlphaPipelineStage.js +1 -2
- package/Source/Scene/Model/B3dmLoader.js +15 -26
- package/Source/Scene/Model/BatchTexturePipelineStage.js +1 -2
- package/Source/Scene/Model/ClassificationModelDrawCommand.js +2 -2
- package/Source/Scene/Model/CustomShader.js +10 -14
- package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +3 -3
- package/Source/Scene/Model/FeatureIdPipelineStage.js +1 -5
- package/Source/Scene/Model/GeoJsonLoader.js +5 -8
- package/Source/Scene/Model/I3dmLoader.js +13 -21
- package/Source/Scene/Model/MaterialPipelineStage.js +1 -2
- package/Source/Scene/Model/Model.js +41 -63
- package/Source/Scene/Model/ModelAnimation.js +5 -6
- package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
- package/Source/Scene/Model/ModelAnimationCollection.js +4 -4
- package/Source/Scene/Model/ModelArticulation.js +2 -2
- package/Source/Scene/Model/ModelArticulationStage.js +2 -2
- package/Source/Scene/Model/ModelDrawCommand.js +3 -3
- package/Source/Scene/Model/ModelFeatureTable.js +3 -9
- package/Source/Scene/Model/ModelLightingOptions.js +3 -3
- package/Source/Scene/Model/ModelNode.js +1 -1
- package/Source/Scene/Model/ModelRuntimeNode.js +2 -2
- package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -2
- package/Source/Scene/Model/ModelSceneGraph.js +2 -2
- package/Source/Scene/Model/ModelSkin.js +2 -2
- package/Source/Scene/Model/ModelUtility.js +5 -1
- package/Source/Scene/Model/PickingPipelineStage.js +1 -2
- package/Source/Scene/Model/PntsLoader.js +6 -6
- package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -5
- package/Source/Scene/Model/PrimitiveOutlineGenerator.js +2 -2
- package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +2 -3
- package/Source/Scene/Model/TextureUniform.js +5 -8
- package/Source/Scene/Model/VaryingType.js +2 -2
- package/Source/Scene/Model/pickModel.js +4 -5
- package/Source/Scene/Moon.js +5 -5
- package/Source/Scene/OpenStreetMapImageryProvider.js +7 -7
- package/Source/Scene/OrderedGroundPrimitiveCollection.js +1 -2
- package/Source/Scene/Particle.js +11 -17
- package/Source/Scene/ParticleBurst.js +5 -5
- package/Source/Scene/ParticleSystem.js +24 -54
- package/Source/Scene/PerInstanceColorAppearance.js +8 -8
- package/Source/Scene/PerformanceDisplay.js +3 -3
- package/Source/Scene/PickFramebuffer.js +4 -5
- package/Source/Scene/Picking.js +3 -4
- package/Source/Scene/PntsParser.js +1 -2
- package/Source/Scene/PointCloud.js +6 -12
- package/Source/Scene/PointCloudShading.js +9 -18
- package/Source/Scene/PointPrimitive.js +11 -21
- package/Source/Scene/PointPrimitiveCollection.js +6 -14
- package/Source/Scene/Polyline.js +5 -5
- package/Source/Scene/PolylineCollection.js +5 -10
- package/Source/Scene/PolylineColorAppearance.js +7 -11
- package/Source/Scene/PolylineMaterialAppearance.js +7 -11
- package/Source/Scene/PostProcessStage.js +2 -2
- package/Source/Scene/PostProcessStageComposite.js +3 -6
- package/Source/Scene/Primitive.js +21 -42
- package/Source/Scene/PrimitiveCollection.js +4 -4
- package/Source/Scene/PrimitivePipeline.js +1 -2
- package/Source/Scene/PropertyAttribute.js +2 -2
- package/Source/Scene/PropertyAttributeProperty.js +4 -4
- package/Source/Scene/PropertyTable.js +2 -2
- package/Source/Scene/PropertyTexture.js +2 -2
- package/Source/Scene/PropertyTextureProperty.js +4 -4
- package/Source/Scene/QuadtreePrimitive.js +84 -66
- package/Source/Scene/QuadtreeTile.js +170 -0
- package/Source/Scene/ResourceCache.js +11 -11
- package/Source/Scene/ResourceCacheKey.js +11 -11
- package/Source/Scene/Scene.js +66 -40
- package/Source/Scene/ScreenSpaceCameraController.js +10 -20
- package/Source/Scene/ShadowMap.js +15 -15
- package/Source/Scene/ShadowVolumeAppearance.js +1 -2
- package/Source/Scene/SingleTileImageryProvider.js +4 -4
- package/Source/Scene/SkyAtmosphere.js +1 -2
- package/Source/Scene/SkyBox.js +1 -2
- package/Source/Scene/SpatialNode.js +4 -11
- package/Source/Scene/SphereEmitter.js +2 -3
- package/Source/Scene/StructuralMetadata.js +2 -2
- package/Source/Scene/SunLight.js +4 -4
- package/Source/Scene/SupportedImageFormats.js +4 -4
- package/Source/Scene/TileBoundingRegion.js +4 -5
- package/Source/Scene/TileBoundingS2Cell.js +3 -4
- package/Source/Scene/TileCoordinatesImageryProvider.js +5 -5
- package/Source/Scene/TileMapServiceImageryProvider.js +18 -27
- package/Source/Scene/TileMetadata.js +2 -2
- package/Source/Scene/TilesetMetadata.js +2 -2
- package/Source/Scene/TimeDynamicImagery.js +2 -2
- package/Source/Scene/TimeDynamicPointCloud.js +8 -10
- package/Source/Scene/TweenCollection.js +13 -16
- package/Source/Scene/UrlTemplateImageryProvider.js +11 -15
- package/Source/Scene/Vector3DTileClampedPolylines.js +1 -2
- package/Source/Scene/Vector3DTileContent.js +16 -20
- package/Source/Scene/Vector3DTileGeometry.js +1 -2
- package/Source/Scene/Vector3DTilePoints.js +2 -5
- package/Source/Scene/Vector3DTilePolygons.js +2 -3
- package/Source/Scene/Vector3DTilePolylines.js +1 -2
- package/Source/Scene/Vector3DTilePrimitive.js +9 -13
- package/Source/Scene/VoxelBoxShape.js +14 -8
- package/Source/Scene/VoxelCell.js +6 -5
- package/Source/Scene/VoxelContent.js +171 -107
- package/Source/Scene/VoxelCylinderShape.js +69 -69
- package/Source/Scene/VoxelEllipsoidShape.js +17 -8
- package/Source/Scene/VoxelMetadataOrder.js +24 -0
- package/Source/Scene/VoxelPrimitive.js +134 -79
- package/Source/Scene/VoxelProvider.js +22 -29
- package/Source/Scene/VoxelRenderResources.js +26 -7
- package/Source/Scene/VoxelShape.js +10 -3
- package/Source/Scene/VoxelTraversal.js +260 -180
- package/Source/Scene/WebMapServiceImageryProvider.js +17 -24
- package/Source/Scene/WebMapTileServiceImageryProvider.js +7 -10
- package/Source/Scene/createElevationBandMaterial.js +4 -4
- package/Source/Scene/createGooglePhotorealistic3DTileset.js +8 -16
- package/Source/Scene/createOsmBuildingsAsync.js +3 -6
- package/Source/Scene/createTangentSpaceDebugPrimitive.js +4 -6
- package/Source/Scene/createWorldImageryAsync.js +3 -3
- package/Source/Scene/findContentMetadata.js +2 -5
- package/Source/Scene/findTileMetadata.js +2 -5
- package/Source/Scene/parseBatchTable.js +1 -5
- package/Source/Scene/parseFeatureMetadataLegacy.js +2 -2
- package/Source/Scene/parseStructuralMetadata.js +2 -2
- package/Source/Scene/processVoxelProperties.js +3 -0
- package/Source/Shaders/GlobeFS.glsl +10 -1
- package/Source/Shaders/GlobeFS.js +10 -1
- package/Source/Shaders/Voxels/Megatexture.glsl +4 -16
- package/Source/Shaders/Voxels/Megatexture.js +4 -16
- package/Source/Shaders/Voxels/Octree.glsl +44 -7
- package/Source/Shaders/Voxels/Octree.js +44 -7
- package/Source/Shaders/Voxels/VoxelFS.glsl +9 -15
- package/Source/Shaders/Voxels/VoxelFS.js +9 -15
- package/Source/Shaders/Voxels/convertUvToCylinder.glsl +15 -15
- package/Source/Shaders/Voxels/convertUvToCylinder.js +15 -15
- package/Source/Widget/CesiumWidget.js +17 -25
- package/Source/Workers/createGeometry.js +1 -2
- package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -2
- package/Source/Workers/decodeI3S.js +1 -5
- package/Source/Workers/transcodeKTX2.js +1 -2
- package/index.d.ts +231 -92
- package/index.js +315 -310
- package/package.json +3 -3
- package/Build/Workers/chunk-TVL3F7IU.js +0 -39
- package/Source/Scene/TextureAtlas.js +0 -558
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cesium/engine",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.0.0",
|
|
4
4
|
"description": "CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"3D",
|
|
@@ -42,10 +42,10 @@
|
|
|
42
42
|
"grapheme-splitter": "^1.0.4",
|
|
43
43
|
"jsep": "^1.3.8",
|
|
44
44
|
"kdbush": "^4.0.1",
|
|
45
|
-
"ktx-parse": "^0.
|
|
45
|
+
"ktx-parse": "^1.0.0",
|
|
46
46
|
"lerc": "^2.0.0",
|
|
47
47
|
"mersenne-twister": "^1.1.0",
|
|
48
|
-
"meshoptimizer": "^0.
|
|
48
|
+
"meshoptimizer": "^0.23.0",
|
|
49
49
|
"pako": "^2.0.4",
|
|
50
50
|
"protobufjs": "^7.1.0",
|
|
51
51
|
"rbush": "3.0.1",
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Cesium - https://github.com/CesiumGS/cesium
|
|
4
|
-
* Version 1.126
|
|
5
|
-
*
|
|
6
|
-
* Copyright 2011-2022 Cesium Contributors
|
|
7
|
-
*
|
|
8
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
-
* you may not use this file except in compliance with the License.
|
|
10
|
-
* You may obtain a copy of the License at
|
|
11
|
-
*
|
|
12
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
-
*
|
|
14
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
15
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
-
* See the License for the specific language governing permissions and
|
|
18
|
-
* limitations under the License.
|
|
19
|
-
*
|
|
20
|
-
* Columbus View (Pat. Pend.)
|
|
21
|
-
*
|
|
22
|
-
* Portions licensed separately.
|
|
23
|
-
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
// packages/engine/Source/Core/defaultValue.js
|
|
28
|
-
function defaultValue(a, b) {
|
|
29
|
-
if (a !== void 0 && a !== null) {
|
|
30
|
-
return a;
|
|
31
|
-
}
|
|
32
|
-
return b;
|
|
33
|
-
}
|
|
34
|
-
defaultValue.EMPTY_OBJECT = Object.freeze({});
|
|
35
|
-
var defaultValue_default = defaultValue;
|
|
36
|
-
|
|
37
|
-
export {
|
|
38
|
-
defaultValue_default
|
|
39
|
-
};
|
|
@@ -1,558 +0,0 @@
|
|
|
1
|
-
import BoundingRectangle from "../Core/BoundingRectangle.js";
|
|
2
|
-
import Cartesian2 from "../Core/Cartesian2.js";
|
|
3
|
-
import createGuid from "../Core/createGuid.js";
|
|
4
|
-
import defaultValue from "../Core/defaultValue.js";
|
|
5
|
-
import defined from "../Core/defined.js";
|
|
6
|
-
import destroyObject from "../Core/destroyObject.js";
|
|
7
|
-
import DeveloperError from "../Core/DeveloperError.js";
|
|
8
|
-
import PixelFormat from "../Core/PixelFormat.js";
|
|
9
|
-
import Resource from "../Core/Resource.js";
|
|
10
|
-
import RuntimeError from "../Core/RuntimeError.js";
|
|
11
|
-
import Framebuffer from "../Renderer/Framebuffer.js";
|
|
12
|
-
import Texture from "../Renderer/Texture.js";
|
|
13
|
-
|
|
14
|
-
// The atlas is made up of regions of space called nodes that contain images or child nodes.
|
|
15
|
-
function TextureAtlasNode(
|
|
16
|
-
bottomLeft,
|
|
17
|
-
topRight,
|
|
18
|
-
childNode1,
|
|
19
|
-
childNode2,
|
|
20
|
-
imageIndex,
|
|
21
|
-
) {
|
|
22
|
-
this.bottomLeft = defaultValue(bottomLeft, Cartesian2.ZERO);
|
|
23
|
-
this.topRight = defaultValue(topRight, Cartesian2.ZERO);
|
|
24
|
-
this.childNode1 = childNode1;
|
|
25
|
-
this.childNode2 = childNode2;
|
|
26
|
-
this.imageIndex = imageIndex;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const defaultInitialSize = new Cartesian2(16.0, 16.0);
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* A TextureAtlas stores multiple images in one square texture and keeps
|
|
33
|
-
* track of the texture coordinates for each image. TextureAtlas is dynamic,
|
|
34
|
-
* meaning new images can be added at any point in time.
|
|
35
|
-
* Texture coordinates are subject to change if the texture atlas resizes, so it is
|
|
36
|
-
* important to check {@link TextureAtlas#getGUID} before using old values.
|
|
37
|
-
*
|
|
38
|
-
* @alias TextureAtlas
|
|
39
|
-
* @constructor
|
|
40
|
-
*
|
|
41
|
-
* @param {object} options Object with the following properties:
|
|
42
|
-
* @param {Scene} options.context The context in which the texture gets created.
|
|
43
|
-
* @param {PixelFormat} [options.pixelFormat=PixelFormat.RGBA] The pixel format of the texture.
|
|
44
|
-
* @param {number} [options.borderWidthInPixels=1] The amount of spacing between adjacent images in pixels.
|
|
45
|
-
* @param {Cartesian2} [options.initialSize=new Cartesian2(16.0, 16.0)] The initial side lengths of the texture.
|
|
46
|
-
*
|
|
47
|
-
* @exception {DeveloperError} borderWidthInPixels must be greater than or equal to zero.
|
|
48
|
-
* @exception {DeveloperError} initialSize must be greater than zero.
|
|
49
|
-
*
|
|
50
|
-
* @private
|
|
51
|
-
*/
|
|
52
|
-
function TextureAtlas(options) {
|
|
53
|
-
options = defaultValue(options, defaultValue.EMPTY_OBJECT);
|
|
54
|
-
const borderWidthInPixels = defaultValue(options.borderWidthInPixels, 1.0);
|
|
55
|
-
const initialSize = defaultValue(options.initialSize, defaultInitialSize);
|
|
56
|
-
|
|
57
|
-
//>>includeStart('debug', pragmas.debug);
|
|
58
|
-
if (!defined(options.context)) {
|
|
59
|
-
throw new DeveloperError("context is required.");
|
|
60
|
-
}
|
|
61
|
-
if (borderWidthInPixels < 0) {
|
|
62
|
-
throw new DeveloperError(
|
|
63
|
-
"borderWidthInPixels must be greater than or equal to zero.",
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
if (initialSize.x < 1 || initialSize.y < 1) {
|
|
67
|
-
throw new DeveloperError("initialSize must be greater than zero.");
|
|
68
|
-
}
|
|
69
|
-
//>>includeEnd('debug');
|
|
70
|
-
|
|
71
|
-
this._context = options.context;
|
|
72
|
-
this._pixelFormat = defaultValue(options.pixelFormat, PixelFormat.RGBA);
|
|
73
|
-
this._borderWidthInPixels = borderWidthInPixels;
|
|
74
|
-
this._textureCoordinates = [];
|
|
75
|
-
this._guid = createGuid();
|
|
76
|
-
this._idHash = {};
|
|
77
|
-
this._indexHash = {};
|
|
78
|
-
this._initialSize = initialSize;
|
|
79
|
-
|
|
80
|
-
this._root = undefined;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
Object.defineProperties(TextureAtlas.prototype, {
|
|
84
|
-
/**
|
|
85
|
-
* The amount of spacing between adjacent images in pixels.
|
|
86
|
-
* @memberof TextureAtlas.prototype
|
|
87
|
-
* @type {number}
|
|
88
|
-
*/
|
|
89
|
-
borderWidthInPixels: {
|
|
90
|
-
get: function () {
|
|
91
|
-
return this._borderWidthInPixels;
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* An array of {@link BoundingRectangle} texture coordinate regions for all the images in the texture atlas.
|
|
97
|
-
* The x and y values of the rectangle correspond to the bottom-left corner of the texture coordinate.
|
|
98
|
-
* The coordinates are in the order that the corresponding images were added to the atlas.
|
|
99
|
-
* @memberof TextureAtlas.prototype
|
|
100
|
-
* @type {BoundingRectangle[]}
|
|
101
|
-
*/
|
|
102
|
-
textureCoordinates: {
|
|
103
|
-
get: function () {
|
|
104
|
-
return this._textureCoordinates;
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* The texture that all of the images are being written to.
|
|
110
|
-
* @memberof TextureAtlas.prototype
|
|
111
|
-
* @type {Texture}
|
|
112
|
-
*/
|
|
113
|
-
texture: {
|
|
114
|
-
get: function () {
|
|
115
|
-
if (!defined(this._texture)) {
|
|
116
|
-
this._texture = new Texture({
|
|
117
|
-
context: this._context,
|
|
118
|
-
width: this._initialSize.x,
|
|
119
|
-
height: this._initialSize.y,
|
|
120
|
-
pixelFormat: this._pixelFormat,
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
return this._texture;
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* The number of images in the texture atlas. This value increases
|
|
129
|
-
* every time addImage or addImages is called.
|
|
130
|
-
* Texture coordinates are subject to change if the texture atlas resizes, so it is
|
|
131
|
-
* important to check {@link TextureAtlas#getGUID} before using old values.
|
|
132
|
-
* @memberof TextureAtlas.prototype
|
|
133
|
-
* @type {number}
|
|
134
|
-
*/
|
|
135
|
-
numberOfImages: {
|
|
136
|
-
get: function () {
|
|
137
|
-
return this._textureCoordinates.length;
|
|
138
|
-
},
|
|
139
|
-
},
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* The atlas' globally unique identifier (GUID).
|
|
143
|
-
* The GUID changes whenever the texture atlas is modified.
|
|
144
|
-
* Classes that use a texture atlas should check if the GUID
|
|
145
|
-
* has changed before processing the atlas data.
|
|
146
|
-
* @memberof TextureAtlas.prototype
|
|
147
|
-
* @type {string}
|
|
148
|
-
*/
|
|
149
|
-
guid: {
|
|
150
|
-
get: function () {
|
|
151
|
-
return this._guid;
|
|
152
|
-
},
|
|
153
|
-
},
|
|
154
|
-
});
|
|
155
|
-
|
|
156
|
-
// Builds a larger texture and copies the old texture into the new one.
|
|
157
|
-
function resizeAtlas(textureAtlas, image) {
|
|
158
|
-
const context = textureAtlas._context;
|
|
159
|
-
const numImages = textureAtlas.numberOfImages;
|
|
160
|
-
const scalingFactor = 2.0;
|
|
161
|
-
const borderWidthInPixels = textureAtlas._borderWidthInPixels;
|
|
162
|
-
if (numImages > 0) {
|
|
163
|
-
const oldAtlasWidth = textureAtlas._texture.width;
|
|
164
|
-
const oldAtlasHeight = textureAtlas._texture.height;
|
|
165
|
-
const atlasWidth =
|
|
166
|
-
scalingFactor * (oldAtlasWidth + image.width + borderWidthInPixels);
|
|
167
|
-
const atlasHeight =
|
|
168
|
-
scalingFactor * (oldAtlasHeight + image.height + borderWidthInPixels);
|
|
169
|
-
const widthRatio = oldAtlasWidth / atlasWidth;
|
|
170
|
-
const heightRatio = oldAtlasHeight / atlasHeight;
|
|
171
|
-
|
|
172
|
-
// Create new node structure, putting the old root node in the bottom left.
|
|
173
|
-
const nodeBottomRight = new TextureAtlasNode(
|
|
174
|
-
new Cartesian2(oldAtlasWidth + borderWidthInPixels, borderWidthInPixels),
|
|
175
|
-
new Cartesian2(atlasWidth, oldAtlasHeight),
|
|
176
|
-
);
|
|
177
|
-
const nodeBottomHalf = new TextureAtlasNode(
|
|
178
|
-
new Cartesian2(),
|
|
179
|
-
new Cartesian2(atlasWidth, oldAtlasHeight),
|
|
180
|
-
textureAtlas._root,
|
|
181
|
-
nodeBottomRight,
|
|
182
|
-
);
|
|
183
|
-
const nodeTopHalf = new TextureAtlasNode(
|
|
184
|
-
new Cartesian2(borderWidthInPixels, oldAtlasHeight + borderWidthInPixels),
|
|
185
|
-
new Cartesian2(atlasWidth, atlasHeight),
|
|
186
|
-
);
|
|
187
|
-
const nodeMain = new TextureAtlasNode(
|
|
188
|
-
new Cartesian2(),
|
|
189
|
-
new Cartesian2(atlasWidth, atlasHeight),
|
|
190
|
-
nodeBottomHalf,
|
|
191
|
-
nodeTopHalf,
|
|
192
|
-
);
|
|
193
|
-
|
|
194
|
-
// Resize texture coordinates.
|
|
195
|
-
for (let i = 0; i < textureAtlas._textureCoordinates.length; i++) {
|
|
196
|
-
const texCoord = textureAtlas._textureCoordinates[i];
|
|
197
|
-
if (defined(texCoord)) {
|
|
198
|
-
texCoord.x *= widthRatio;
|
|
199
|
-
texCoord.y *= heightRatio;
|
|
200
|
-
texCoord.width *= widthRatio;
|
|
201
|
-
texCoord.height *= heightRatio;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
// Copy larger texture.
|
|
206
|
-
const newTexture = new Texture({
|
|
207
|
-
context: textureAtlas._context,
|
|
208
|
-
width: atlasWidth,
|
|
209
|
-
height: atlasHeight,
|
|
210
|
-
pixelFormat: textureAtlas._pixelFormat,
|
|
211
|
-
});
|
|
212
|
-
|
|
213
|
-
const framebuffer = new Framebuffer({
|
|
214
|
-
context: context,
|
|
215
|
-
colorTextures: [textureAtlas._texture],
|
|
216
|
-
destroyAttachments: false,
|
|
217
|
-
});
|
|
218
|
-
|
|
219
|
-
framebuffer._bind();
|
|
220
|
-
newTexture.copyFromFramebuffer(0, 0, 0, 0, atlasWidth, atlasHeight);
|
|
221
|
-
framebuffer._unBind();
|
|
222
|
-
framebuffer.destroy();
|
|
223
|
-
textureAtlas._texture =
|
|
224
|
-
textureAtlas._texture && textureAtlas._texture.destroy();
|
|
225
|
-
textureAtlas._texture = newTexture;
|
|
226
|
-
textureAtlas._root = nodeMain;
|
|
227
|
-
} else {
|
|
228
|
-
// First image exceeds initialSize
|
|
229
|
-
let initialWidth = scalingFactor * (image.width + 2 * borderWidthInPixels);
|
|
230
|
-
let initialHeight =
|
|
231
|
-
scalingFactor * (image.height + 2 * borderWidthInPixels);
|
|
232
|
-
if (initialWidth < textureAtlas._initialSize.x) {
|
|
233
|
-
initialWidth = textureAtlas._initialSize.x;
|
|
234
|
-
}
|
|
235
|
-
if (initialHeight < textureAtlas._initialSize.y) {
|
|
236
|
-
initialHeight = textureAtlas._initialSize.y;
|
|
237
|
-
}
|
|
238
|
-
textureAtlas._texture =
|
|
239
|
-
textureAtlas._texture && textureAtlas._texture.destroy();
|
|
240
|
-
textureAtlas._texture = new Texture({
|
|
241
|
-
context: textureAtlas._context,
|
|
242
|
-
width: initialWidth,
|
|
243
|
-
height: initialHeight,
|
|
244
|
-
pixelFormat: textureAtlas._pixelFormat,
|
|
245
|
-
});
|
|
246
|
-
textureAtlas._root = new TextureAtlasNode(
|
|
247
|
-
new Cartesian2(borderWidthInPixels, borderWidthInPixels),
|
|
248
|
-
new Cartesian2(initialWidth, initialHeight),
|
|
249
|
-
);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
// A recursive function that finds the best place to insert
|
|
254
|
-
// a new image based on existing image 'nodes'.
|
|
255
|
-
// Inspired by: http://blackpawn.com/texts/lightmaps/default.html
|
|
256
|
-
function findNode(textureAtlas, node, image) {
|
|
257
|
-
if (!defined(node)) {
|
|
258
|
-
return undefined;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
// If a leaf node
|
|
262
|
-
if (!defined(node.childNode1) && !defined(node.childNode2)) {
|
|
263
|
-
// Node already contains an image, don't add to it.
|
|
264
|
-
if (defined(node.imageIndex)) {
|
|
265
|
-
return undefined;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
const nodeWidth = node.topRight.x - node.bottomLeft.x;
|
|
269
|
-
const nodeHeight = node.topRight.y - node.bottomLeft.y;
|
|
270
|
-
const widthDifference = nodeWidth - image.width;
|
|
271
|
-
const heightDifference = nodeHeight - image.height;
|
|
272
|
-
|
|
273
|
-
// Node is smaller than the image.
|
|
274
|
-
if (widthDifference < 0 || heightDifference < 0) {
|
|
275
|
-
return undefined;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
// If the node is the same size as the image, return the node
|
|
279
|
-
if (widthDifference === 0 && heightDifference === 0) {
|
|
280
|
-
return node;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
// Vertical split (childNode1 = left half, childNode2 = right half).
|
|
284
|
-
if (widthDifference > heightDifference) {
|
|
285
|
-
node.childNode1 = new TextureAtlasNode(
|
|
286
|
-
new Cartesian2(node.bottomLeft.x, node.bottomLeft.y),
|
|
287
|
-
new Cartesian2(node.bottomLeft.x + image.width, node.topRight.y),
|
|
288
|
-
);
|
|
289
|
-
// Only make a second child if the border gives enough space.
|
|
290
|
-
const childNode2BottomLeftX =
|
|
291
|
-
node.bottomLeft.x + image.width + textureAtlas._borderWidthInPixels;
|
|
292
|
-
if (childNode2BottomLeftX < node.topRight.x) {
|
|
293
|
-
node.childNode2 = new TextureAtlasNode(
|
|
294
|
-
new Cartesian2(childNode2BottomLeftX, node.bottomLeft.y),
|
|
295
|
-
new Cartesian2(node.topRight.x, node.topRight.y),
|
|
296
|
-
);
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
// Horizontal split (childNode1 = bottom half, childNode2 = top half).
|
|
300
|
-
else {
|
|
301
|
-
node.childNode1 = new TextureAtlasNode(
|
|
302
|
-
new Cartesian2(node.bottomLeft.x, node.bottomLeft.y),
|
|
303
|
-
new Cartesian2(node.topRight.x, node.bottomLeft.y + image.height),
|
|
304
|
-
);
|
|
305
|
-
// Only make a second child if the border gives enough space.
|
|
306
|
-
const childNode2BottomLeftY =
|
|
307
|
-
node.bottomLeft.y + image.height + textureAtlas._borderWidthInPixels;
|
|
308
|
-
if (childNode2BottomLeftY < node.topRight.y) {
|
|
309
|
-
node.childNode2 = new TextureAtlasNode(
|
|
310
|
-
new Cartesian2(node.bottomLeft.x, childNode2BottomLeftY),
|
|
311
|
-
new Cartesian2(node.topRight.x, node.topRight.y),
|
|
312
|
-
);
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
return findNode(textureAtlas, node.childNode1, image);
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
// If not a leaf node
|
|
319
|
-
return (
|
|
320
|
-
findNode(textureAtlas, node.childNode1, image) ||
|
|
321
|
-
findNode(textureAtlas, node.childNode2, image)
|
|
322
|
-
);
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
// Adds image of given index to the texture atlas. Called from addImage and addImages.
|
|
326
|
-
function addImage(textureAtlas, image, index) {
|
|
327
|
-
const node = findNode(textureAtlas, textureAtlas._root, image);
|
|
328
|
-
if (defined(node)) {
|
|
329
|
-
// Found a node that can hold the image.
|
|
330
|
-
node.imageIndex = index;
|
|
331
|
-
|
|
332
|
-
// Add texture coordinate and write to texture
|
|
333
|
-
const atlasWidth = textureAtlas._texture.width;
|
|
334
|
-
const atlasHeight = textureAtlas._texture.height;
|
|
335
|
-
const nodeWidth = node.topRight.x - node.bottomLeft.x;
|
|
336
|
-
const nodeHeight = node.topRight.y - node.bottomLeft.y;
|
|
337
|
-
const x = node.bottomLeft.x / atlasWidth;
|
|
338
|
-
const y = node.bottomLeft.y / atlasHeight;
|
|
339
|
-
const w = nodeWidth / atlasWidth;
|
|
340
|
-
const h = nodeHeight / atlasHeight;
|
|
341
|
-
textureAtlas._textureCoordinates[index] = new BoundingRectangle(x, y, w, h);
|
|
342
|
-
textureAtlas._texture.copyFrom({
|
|
343
|
-
source: image,
|
|
344
|
-
xOffset: node.bottomLeft.x,
|
|
345
|
-
yOffset: node.bottomLeft.y,
|
|
346
|
-
});
|
|
347
|
-
} else {
|
|
348
|
-
// No node found, must resize the texture atlas.
|
|
349
|
-
resizeAtlas(textureAtlas, image);
|
|
350
|
-
addImage(textureAtlas, image, index);
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
textureAtlas._guid = createGuid();
|
|
354
|
-
}
|
|
355
|
-
|
|
356
|
-
function getIndex(atlas, image) {
|
|
357
|
-
if (!defined(atlas) || atlas.isDestroyed()) {
|
|
358
|
-
return -1;
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
const index = atlas.numberOfImages;
|
|
362
|
-
|
|
363
|
-
addImage(atlas, image, index);
|
|
364
|
-
|
|
365
|
-
return index;
|
|
366
|
-
}
|
|
367
|
-
|
|
368
|
-
/**
|
|
369
|
-
* If the image is already in the atlas, the existing index is returned. Otherwise, the result is undefined.
|
|
370
|
-
*
|
|
371
|
-
* @param {string} id An identifier to detect whether the image already exists in the atlas.
|
|
372
|
-
* @returns {number|undefined} The image index, or undefined if the image does not exist in the atlas.
|
|
373
|
-
*/
|
|
374
|
-
TextureAtlas.prototype.getImageIndex = function (id) {
|
|
375
|
-
//>>includeStart('debug', pragmas.debug);
|
|
376
|
-
if (!defined(id)) {
|
|
377
|
-
throw new DeveloperError("id is required.");
|
|
378
|
-
}
|
|
379
|
-
//>>includeEnd('debug');
|
|
380
|
-
|
|
381
|
-
return this._indexHash[id];
|
|
382
|
-
};
|
|
383
|
-
|
|
384
|
-
/**
|
|
385
|
-
* Adds an image to the atlas synchronously. If the image is already in the atlas, the atlas is unchanged and
|
|
386
|
-
* the existing index is used.
|
|
387
|
-
*
|
|
388
|
-
* @param {string} id An identifier to detect whether the image already exists in the atlas.
|
|
389
|
-
* @param {HTMLImageElement|HTMLCanvasElement} image An image or canvas to add to the texture atlas.
|
|
390
|
-
* @returns {number} The image index.
|
|
391
|
-
*/
|
|
392
|
-
TextureAtlas.prototype.addImageSync = function (id, image) {
|
|
393
|
-
//>>includeStart('debug', pragmas.debug);
|
|
394
|
-
if (!defined(id)) {
|
|
395
|
-
throw new DeveloperError("id is required.");
|
|
396
|
-
}
|
|
397
|
-
if (!defined(image)) {
|
|
398
|
-
throw new DeveloperError("image is required.");
|
|
399
|
-
}
|
|
400
|
-
//>>includeEnd('debug');
|
|
401
|
-
|
|
402
|
-
let index = this._indexHash[id];
|
|
403
|
-
if (defined(index)) {
|
|
404
|
-
// we're already aware of this source
|
|
405
|
-
return index;
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
index = getIndex(this, image);
|
|
409
|
-
// store the promise
|
|
410
|
-
this._idHash[id] = Promise.resolve(index);
|
|
411
|
-
this._indexHash[id] = index;
|
|
412
|
-
// but return the value synchronously
|
|
413
|
-
return index;
|
|
414
|
-
};
|
|
415
|
-
|
|
416
|
-
/**
|
|
417
|
-
* Adds an image to the atlas. If the image is already in the atlas, the atlas is unchanged and
|
|
418
|
-
* the existing index is used.
|
|
419
|
-
*
|
|
420
|
-
* @param {string} id An identifier to detect whether the image already exists in the atlas.
|
|
421
|
-
* @param {HTMLImageElement|HTMLCanvasElement|string|Resource|Promise|TextureAtlas.CreateImageCallback} image An image or canvas to add to the texture atlas,
|
|
422
|
-
* or a URL to an Image, or a Promise for an image, or a function that creates an image.
|
|
423
|
-
* @returns {Promise<number>} A Promise for the image index.
|
|
424
|
-
*/
|
|
425
|
-
TextureAtlas.prototype.addImage = function (id, image) {
|
|
426
|
-
//>>includeStart('debug', pragmas.debug);
|
|
427
|
-
if (!defined(id)) {
|
|
428
|
-
throw new DeveloperError("id is required.");
|
|
429
|
-
}
|
|
430
|
-
if (!defined(image)) {
|
|
431
|
-
throw new DeveloperError("image is required.");
|
|
432
|
-
}
|
|
433
|
-
//>>includeEnd('debug');
|
|
434
|
-
|
|
435
|
-
let indexPromise = this._idHash[id];
|
|
436
|
-
if (defined(indexPromise)) {
|
|
437
|
-
// we're already aware of this source
|
|
438
|
-
return indexPromise;
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
// not in atlas, create the promise for the index
|
|
442
|
-
|
|
443
|
-
if (typeof image === "function") {
|
|
444
|
-
// if image is a function, call it
|
|
445
|
-
image = image(id);
|
|
446
|
-
//>>includeStart('debug', pragmas.debug);
|
|
447
|
-
if (!defined(image)) {
|
|
448
|
-
throw new DeveloperError("image is required.");
|
|
449
|
-
}
|
|
450
|
-
//>>includeEnd('debug');
|
|
451
|
-
} else if (typeof image === "string" || image instanceof Resource) {
|
|
452
|
-
// Get a resource
|
|
453
|
-
const resource = Resource.createIfNeeded(image);
|
|
454
|
-
image = resource.fetchImage();
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
const that = this;
|
|
458
|
-
indexPromise = Promise.resolve(image).then(function (image) {
|
|
459
|
-
const index = getIndex(that, image);
|
|
460
|
-
that._indexHash[id] = index;
|
|
461
|
-
return index;
|
|
462
|
-
});
|
|
463
|
-
|
|
464
|
-
// store the promise
|
|
465
|
-
this._idHash[id] = indexPromise;
|
|
466
|
-
|
|
467
|
-
return indexPromise;
|
|
468
|
-
};
|
|
469
|
-
|
|
470
|
-
/**
|
|
471
|
-
* Add a sub-region of an existing atlas image as additional image indices.
|
|
472
|
-
*
|
|
473
|
-
* @param {string} id The identifier of the existing image.
|
|
474
|
-
* @param {BoundingRectangle} subRegion An {@link BoundingRectangle} sub-region measured in pixels from the bottom-left.
|
|
475
|
-
*
|
|
476
|
-
* @returns {Promise<number>} A Promise for the image index.
|
|
477
|
-
*/
|
|
478
|
-
TextureAtlas.prototype.addSubRegion = function (id, subRegion) {
|
|
479
|
-
//>>includeStart('debug', pragmas.debug);
|
|
480
|
-
if (!defined(id)) {
|
|
481
|
-
throw new DeveloperError("id is required.");
|
|
482
|
-
}
|
|
483
|
-
if (!defined(subRegion)) {
|
|
484
|
-
throw new DeveloperError("subRegion is required.");
|
|
485
|
-
}
|
|
486
|
-
//>>includeEnd('debug');
|
|
487
|
-
|
|
488
|
-
const indexPromise = this._idHash[id];
|
|
489
|
-
if (!defined(indexPromise)) {
|
|
490
|
-
throw new RuntimeError(`image with id "${id}" not found in the atlas.`);
|
|
491
|
-
}
|
|
492
|
-
|
|
493
|
-
const that = this;
|
|
494
|
-
return Promise.resolve(indexPromise).then(function (index) {
|
|
495
|
-
if (index === -1) {
|
|
496
|
-
// the atlas is destroyed
|
|
497
|
-
return -1;
|
|
498
|
-
}
|
|
499
|
-
const atlasWidth = that._texture.width;
|
|
500
|
-
const atlasHeight = that._texture.height;
|
|
501
|
-
|
|
502
|
-
const baseRegion = that._textureCoordinates[index];
|
|
503
|
-
const x = baseRegion.x + subRegion.x / atlasWidth;
|
|
504
|
-
const y = baseRegion.y + subRegion.y / atlasHeight;
|
|
505
|
-
const w = subRegion.width / atlasWidth;
|
|
506
|
-
const h = subRegion.height / atlasHeight;
|
|
507
|
-
const newIndex =
|
|
508
|
-
that._textureCoordinates.push(new BoundingRectangle(x, y, w, h)) - 1;
|
|
509
|
-
that._indexHash[id] = newIndex;
|
|
510
|
-
|
|
511
|
-
that._guid = createGuid();
|
|
512
|
-
|
|
513
|
-
return newIndex;
|
|
514
|
-
});
|
|
515
|
-
};
|
|
516
|
-
|
|
517
|
-
/**
|
|
518
|
-
* Returns true if this object was destroyed; otherwise, false.
|
|
519
|
-
* <br /><br />
|
|
520
|
-
* If this object was destroyed, it should not be used; calling any function other than
|
|
521
|
-
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
|
|
522
|
-
*
|
|
523
|
-
* @returns {boolean} True if this object was destroyed; otherwise, false.
|
|
524
|
-
*
|
|
525
|
-
* @see TextureAtlas#destroy
|
|
526
|
-
*/
|
|
527
|
-
TextureAtlas.prototype.isDestroyed = function () {
|
|
528
|
-
return false;
|
|
529
|
-
};
|
|
530
|
-
|
|
531
|
-
/**
|
|
532
|
-
* Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
|
|
533
|
-
* release of WebGL resources, instead of relying on the garbage collector to destroy this object.
|
|
534
|
-
* <br /><br />
|
|
535
|
-
* Once an object is destroyed, it should not be used; calling any function other than
|
|
536
|
-
* <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
|
|
537
|
-
* assign the return value (<code>undefined</code>) to the object as done in the example.
|
|
538
|
-
*
|
|
539
|
-
* @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
|
|
540
|
-
*
|
|
541
|
-
*
|
|
542
|
-
* @example
|
|
543
|
-
* atlas = atlas && atlas.destroy();
|
|
544
|
-
*
|
|
545
|
-
* @see TextureAtlas#isDestroyed
|
|
546
|
-
*/
|
|
547
|
-
TextureAtlas.prototype.destroy = function () {
|
|
548
|
-
this._texture = this._texture && this._texture.destroy();
|
|
549
|
-
return destroyObject(this);
|
|
550
|
-
};
|
|
551
|
-
|
|
552
|
-
/**
|
|
553
|
-
* A function that creates an image.
|
|
554
|
-
* @callback TextureAtlas.CreateImageCallback
|
|
555
|
-
* @param {string} id The identifier of the image to load.
|
|
556
|
-
* @returns {HTMLImageElement|Promise<HTMLImageElement>} The image, or a promise that will resolve to an image.
|
|
557
|
-
*/
|
|
558
|
-
export default TextureAtlas;
|