@cesium/engine 22.2.0 → 22.3.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 (215) hide show
  1. package/Build/Workers/{chunk-C35SJ4QP.js → chunk-2MLJ46ZZ.js} +13 -13
  2. package/Build/Workers/{chunk-JERDRSEI.js → chunk-4BBANFU6.js} +1 -1
  3. package/Build/Workers/{chunk-JONWM4IO.js → chunk-4O2ARYS7.js} +1 -1
  4. package/Build/Workers/{chunk-VGH2CSC7.js → chunk-4R6FGUFP.js} +9 -9
  5. package/Build/Workers/{chunk-IVN5HSOI.js → chunk-5PJB7ASO.js} +6 -6
  6. package/Build/Workers/{chunk-35J4D6PX.js → chunk-6GBGEUWR.js} +2 -2
  7. package/Build/Workers/{chunk-DCR62BCO.js → chunk-6WDMPXQ7.js} +12 -12
  8. package/Build/Workers/{chunk-4ZQN7M7E.js → chunk-7ATKQRBM.js} +10 -10
  9. package/Build/Workers/{chunk-FPRM6PCE.js → chunk-7SLNBIZS.js} +5 -34
  10. package/Build/Workers/{chunk-VSZ5DB2W.js → chunk-7U5YNLF3.js} +1 -1
  11. package/Build/Workers/{chunk-I4D5IP46.js → chunk-AFGP5BXS.js} +7 -7
  12. package/Build/Workers/{chunk-IWOSJVFQ.js → chunk-AWELU5C6.js} +14 -14
  13. package/Build/Workers/{chunk-LDSQMLRC.js → chunk-BO22JHBX.js} +3 -3
  14. package/Build/Workers/{chunk-2YVTOY5Z.js → chunk-D2PEV362.js} +10 -10
  15. package/Build/Workers/{chunk-PSHZAHFE.js → chunk-D63Z7KKL.js} +11 -11
  16. package/Build/Workers/{chunk-AMWXJ5A7.js → chunk-D6OKR3BQ.js} +2 -2
  17. package/Build/Workers/{chunk-I45CATZK.js → chunk-E4YDCSQK.js} +9 -9
  18. package/Build/Workers/{chunk-YFEZPDAY.js → chunk-EAAH543Q.js} +11 -11
  19. package/Build/Workers/{chunk-SDUH3N6G.js → chunk-EOSX23OS.js} +4 -4
  20. package/Build/Workers/{chunk-A3NUMZBG.js → chunk-EUDHHS7K.js} +6 -6
  21. package/Build/Workers/{chunk-BKYJBTHW.js → chunk-EY5HOJFQ.js} +5 -5
  22. package/Build/Workers/{chunk-64PJ4MTB.js → chunk-FDOLXORR.js} +7 -7
  23. package/Build/Workers/{chunk-WH4HDRGN.js → chunk-FS42VX2H.js} +2 -2
  24. package/Build/Workers/{chunk-ED4UXMYY.js → chunk-FUDC3KOT.js} +5 -5
  25. package/Build/Workers/{chunk-CQCEPC6N.js → chunk-HWGP4GVC.js} +13 -13
  26. package/Build/Workers/{chunk-QO6Z5UJE.js → chunk-IHFAFGR2.js} +2 -2
  27. package/Build/Workers/{chunk-72LZ3FN6.js → chunk-IXL46IYV.js} +12 -12
  28. package/Build/Workers/{chunk-JFN2DQHY.js → chunk-K2PLKJJG.js} +5 -5
  29. package/Build/Workers/{chunk-NY3CWLIZ.js → chunk-K4PGSAR5.js} +8 -8
  30. package/Build/Workers/{chunk-UBJYWGMV.js → chunk-KIJR26N3.js} +16 -16
  31. package/Build/Workers/{chunk-MWGB6DLR.js → chunk-L4OFWHNI.js} +1 -1
  32. package/Build/Workers/{chunk-XPNY2VY3.js → chunk-LK7GEFGB.js} +2 -2
  33. package/Build/Workers/{chunk-3JB2X2PR.js → chunk-LWZHJWYK.js} +6 -6
  34. package/Build/Workers/{chunk-ZGWX2R5I.js → chunk-LYBNPUEI.js} +4 -4
  35. package/Build/Workers/{chunk-4I7BCCNU.js → chunk-M5DVYXJJ.js} +6 -6
  36. package/Build/Workers/{chunk-4MCPC4TE.js → chunk-MASEF4OV.js} +8 -8
  37. package/Build/Workers/{chunk-FM5XPC2E.js → chunk-N66PIK46.js} +4 -4
  38. package/Build/Workers/{chunk-C6FTHSJA.js → chunk-N6XBJBI7.js} +6 -6
  39. package/Build/Workers/{chunk-7OPRTZBT.js → chunk-NO3LMU7T.js} +7 -7
  40. package/Build/Workers/{chunk-DIJ7IG5D.js → chunk-NVL7JXAQ.js} +10 -10
  41. package/Build/Workers/{chunk-O3GWUTWM.js → chunk-OOYICVOK.js} +1 -1
  42. package/Build/Workers/{chunk-K6BXEBAF.js → chunk-PJLRXIMS.js} +17 -17
  43. package/Build/Workers/{chunk-7CDQUIP5.js → chunk-S2KVL7OJ.js} +8 -8
  44. package/Build/Workers/{chunk-PMDPP22G.js → chunk-T5MJDW43.js} +7 -7
  45. package/Build/Workers/{chunk-GMHDOQPH.js → chunk-TCOUGKXF.js} +4 -4
  46. package/Build/Workers/{chunk-ZUWF63QU.js → chunk-TMGLPEZW.js} +4 -4
  47. package/Build/Workers/{chunk-JUOSYFXT.js → chunk-TY5JXMVO.js} +1 -1
  48. package/Build/Workers/{chunk-3HUEBDFC.js → chunk-VIQIKMTZ.js} +14 -14
  49. package/Build/Workers/{chunk-N5MNKWED.js → chunk-VRAAQ3FS.js} +2 -2
  50. package/Build/Workers/{chunk-K64RQCRK.js → chunk-W5NV72VR.js} +17 -17
  51. package/Build/Workers/{chunk-G6WQA27G.js → chunk-WHLGBMBC.js} +5 -5
  52. package/Build/Workers/{chunk-2JNPWPLE.js → chunk-WUWPKBOZ.js} +6 -6
  53. package/Build/Workers/{chunk-MSTAVM2N.js → chunk-XLIJV3YZ.js} +10 -10
  54. package/Build/Workers/{chunk-V26Y7ZQL.js → chunk-Y5MRBKQN.js} +37 -27
  55. package/Build/Workers/{chunk-L2FSBEW2.js → chunk-YHPBT4I5.js} +5 -5
  56. package/Build/Workers/{chunk-7MGTX4WP.js → chunk-ZGGVEGTA.js} +12 -12
  57. package/Build/Workers/{chunk-P7ISUYLW.js → chunk-ZWWN2CQH.js} +4 -4
  58. package/Build/Workers/combineGeometry.js +24 -24
  59. package/Build/Workers/createBoxGeometry.js +18 -18
  60. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  61. package/Build/Workers/createCircleGeometry.js +26 -26
  62. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  63. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
  64. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  65. package/Build/Workers/createCorridorGeometry.js +29 -29
  66. package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
  67. package/Build/Workers/createCylinderGeometry.js +20 -20
  68. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  69. package/Build/Workers/createEllipseGeometry.js +26 -26
  70. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  71. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  72. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  73. package/Build/Workers/createFrustumGeometry.js +18 -18
  74. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  75. package/Build/Workers/createGeometry.js +24 -24
  76. package/Build/Workers/createGroundPolylineGeometry.js +22 -22
  77. package/Build/Workers/createPlaneGeometry.js +16 -16
  78. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  79. package/Build/Workers/createPolygonGeometry.js +32 -32
  80. package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
  81. package/Build/Workers/createPolylineGeometry.js +25 -25
  82. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  83. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  84. package/Build/Workers/createRectangleGeometry.js +27 -27
  85. package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
  86. package/Build/Workers/createSimplePolylineGeometry.js +23 -23
  87. package/Build/Workers/createSphereGeometry.js +19 -19
  88. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  89. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  90. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  91. package/Build/Workers/createVectorTileGeometries.js +24 -24
  92. package/Build/Workers/createVectorTilePoints.js +13 -13
  93. package/Build/Workers/createVectorTilePolygons.js +22 -22
  94. package/Build/Workers/createVectorTilePolylines.js +14 -14
  95. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  96. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  97. package/Build/Workers/createVerticesFromHeightmap.js +22 -22
  98. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  99. package/Build/Workers/createWallGeometry.js +24 -24
  100. package/Build/Workers/createWallOutlineGeometry.js +23 -23
  101. package/Build/Workers/decodeDraco.js +10 -10
  102. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  103. package/Build/Workers/decodeI3S.js +10 -10
  104. package/Build/Workers/gaussianSplatSorter.js +4 -4
  105. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  106. package/Build/Workers/incrementallyBuildTerrainPicker.js +20 -12
  107. package/Build/Workers/transcodeKTX2.js +6 -6
  108. package/Build/Workers/transferTypedArrayTest.js +1 -1
  109. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  110. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  111. package/Source/Core/BoxGeometry.js +1 -1
  112. package/Source/Core/CornerType.js +1 -1
  113. package/Source/Core/CorridorGeometry.js +1 -1
  114. package/Source/Core/FeatureDetection.js +1 -32
  115. package/Source/Core/Geometry.js +1 -1
  116. package/Source/Core/IntersectionTests.js +2 -2
  117. package/Source/Core/Ion.js +1 -1
  118. package/Source/Core/PinBuilder.js +1 -1
  119. package/Source/Core/PolygonGeometry.js +1 -1
  120. package/Source/Core/PolylineGeometry.js +1 -1
  121. package/Source/Core/PolylineVolumeGeometry.js +1 -1
  122. package/Source/Core/RectangleGeometry.js +1 -1
  123. package/Source/Core/ScreenSpaceEventHandler.js +4 -8
  124. package/Source/Core/TerrainMesh.js +11 -8
  125. package/Source/Core/TerrainPicker.js +24 -7
  126. package/Source/Core/VideoSynchronizer.js +1 -1
  127. package/Source/Core/WallGeometry.js +1 -1
  128. package/Source/Core/writeTextToCanvas.js +40 -86
  129. package/Source/DataSources/BillboardGraphics.js +1 -1
  130. package/Source/DataSources/BoxGraphics.js +1 -1
  131. package/Source/DataSources/CallbackPositionProperty.js +1 -1
  132. package/Source/DataSources/CorridorGraphics.js +1 -1
  133. package/Source/DataSources/CzmlDataSource.js +1 -1
  134. package/Source/DataSources/EllipseGraphics.js +1 -1
  135. package/Source/DataSources/EllipsoidGraphics.js +1 -1
  136. package/Source/DataSources/Entity.js +1 -1
  137. package/Source/DataSources/EntityCluster.js +2 -2
  138. package/Source/DataSources/GeoJsonDataSource.js +2 -2
  139. package/Source/DataSources/GpxDataSource.js +1 -1
  140. package/Source/DataSources/KmlDataSource.js +1 -1
  141. package/Source/DataSources/KmlTour.js +1 -1
  142. package/Source/DataSources/LabelGraphics.js +1 -1
  143. package/Source/DataSources/ModelGraphics.js +1 -1
  144. package/Source/DataSources/PlaneGraphics.js +1 -1
  145. package/Source/DataSources/PolygonGraphics.js +1 -1
  146. package/Source/DataSources/PolylineGraphics.js +1 -1
  147. package/Source/DataSources/PolylineVolumeGraphics.js +1 -1
  148. package/Source/DataSources/RectangleGraphics.js +1 -1
  149. package/Source/DataSources/WallGraphics.js +1 -1
  150. package/Source/DataSources/exportKml.js +1 -1
  151. package/Source/Renderer/Context.js +11 -10
  152. package/Source/Renderer/ContextLimits.js +66 -33
  153. package/Source/Renderer/ShaderSource.js +19 -18
  154. package/Source/Renderer/Texture.js +1 -1
  155. package/Source/Renderer/Texture3D.js +166 -7
  156. package/Source/Renderer/TextureAtlas.js +2 -2
  157. package/Source/Scene/Appearance.js +1 -1
  158. package/Source/Scene/ArcGisMapService.js +1 -1
  159. package/Source/Scene/Billboard.js +1 -1
  160. package/Source/Scene/BillboardCollection.js +1 -1
  161. package/Source/Scene/BillboardTexture.js +4 -1
  162. package/Source/Scene/Camera.js +13 -2
  163. package/Source/Scene/ClippingPlaneCollection.js +2 -2
  164. package/Source/Scene/CloudCollection.js +2 -2
  165. package/Source/Scene/CumulusCloud.js +1 -1
  166. package/Source/Scene/DynamicEnvironmentMapManager.js +41 -26
  167. package/Source/Scene/Fog.js +1 -1
  168. package/Source/Scene/GaussianSplatPrimitive.js +1 -1
  169. package/Source/Scene/Globe.js +3 -10
  170. package/Source/Scene/GltfLoader.js +10 -0
  171. package/Source/Scene/ImageBasedLighting.js +2 -2
  172. package/Source/Scene/ImageryLayerCollection.js +2 -2
  173. package/Source/Scene/ImageryProvider.js +2 -2
  174. package/Source/Scene/Label.js +1 -1
  175. package/Source/Scene/LabelCollection.js +1 -1
  176. package/Source/Scene/Material.js +1 -1
  177. package/Source/Scene/MaterialAppearance.js +1 -1
  178. package/Source/Scene/Megatexture.js +174 -242
  179. package/Source/Scene/Model/MaterialPipelineStage.js +17 -0
  180. package/Source/Scene/Model/Model.js +1 -1
  181. package/Source/Scene/ModelComponents.js +10 -0
  182. package/Source/Scene/ParticleSystem.js +2 -2
  183. package/Source/Scene/PointPrimitive.js +1 -1
  184. package/Source/Scene/Polyline.js +0 -1
  185. package/Source/Scene/PolylineCollection.js +1 -4
  186. package/Source/Scene/PolylineColorAppearance.js +1 -6
  187. package/Source/Scene/PolylineMaterialAppearance.js +1 -6
  188. package/Source/Scene/PostProcessStageCollection.js +1 -1
  189. package/Source/Scene/QuadtreePrimitive.js +6 -3
  190. package/Source/Scene/ShadowMap.js +1 -2
  191. package/Source/Scene/Vector3DTileClampedPolylines.js +1 -5
  192. package/Source/Scene/Vector3DTilePolylines.js +1 -5
  193. package/Source/Scene/VoxelPrimitive.js +16 -33
  194. package/Source/Scene/VoxelRenderResources.js +1 -8
  195. package/Source/Scene/VoxelTraversal.js +16 -61
  196. package/Source/Scene/WebMapTileServiceImageryProvider.js +1 -1
  197. package/Source/Scene/createElevationBandMaterial.js +1 -1
  198. package/Source/Scene/processVoxelProperties.js +1 -1
  199. package/Source/Shaders/Builtin/Functions/columbusViewMorph.glsl +8 -1
  200. package/Source/Shaders/Builtin/Functions/columbusViewMorph.js +8 -1
  201. package/Source/Shaders/Model/ModelFS.glsl +8 -0
  202. package/Source/Shaders/Model/ModelFS.js +8 -0
  203. package/Source/Shaders/Model/ModelVS.glsl +2 -0
  204. package/Source/Shaders/Model/ModelVS.js +2 -0
  205. package/Source/Shaders/Voxels/IntersectionUtils.glsl +1 -1
  206. package/Source/Shaders/Voxels/IntersectionUtils.js +1 -1
  207. package/Source/Shaders/Voxels/Megatexture.glsl +15 -83
  208. package/Source/Shaders/Voxels/Megatexture.js +15 -83
  209. package/Source/Shaders/Voxels/Octree.glsl +6 -9
  210. package/Source/Shaders/Voxels/Octree.js +6 -9
  211. package/Source/Widget/CesiumWidget.js +1 -1
  212. package/Source/Workers/incrementallyBuildTerrainPicker.js +16 -2
  213. package/index.d.ts +18 -4
  214. package/index.js +90 -90
  215. package/package.json +2 -1
@@ -1,105 +1,37 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
- export default "// See Octree.glsl for the definitions of SampleData and intMod\n\
2
+ export default "// See Octree.glsl for the definitions of SampleData\n\
3
3
  \n\
4
4
  /* Megatexture defines (set in Scene/VoxelRenderResources.js)\n\
5
5
  #define SAMPLE_COUNT ###\n\
6
- #define NEAREST_SAMPLING\n\
7
6
  #define PADDING\n\
8
7
  */\n\
9
8
  \n\
10
- uniform ivec2 u_megatextureSliceDimensions; // number of slices per tile, in two dimensions\n\
11
- uniform ivec2 u_megatextureTileDimensions; // number of tiles per megatexture, in two dimensions\n\
12
- uniform vec2 u_megatextureVoxelSizeUv;\n\
13
- uniform vec2 u_megatextureSliceSizeUv;\n\
14
- uniform vec2 u_megatextureTileSizeUv;\n\
9
+ uniform ivec3 u_megatextureTileCounts; // number of tiles in the megatexture, along each axis\n\
15
10
  \n\
16
- // Integer min, max, clamp: For WebGL1 only\n\
17
- int intMin(int a, int b) {\n\
18
- return a <= b ? a : b;\n\
19
- }\n\
20
- int intMax(int a, int b) {\n\
21
- return a >= b ? a : b;\n\
22
- }\n\
23
- int intClamp(int v, int minVal, int maxVal) {\n\
24
- return intMin(intMax(v, minVal), maxVal);\n\
25
- }\n\
26
- \n\
27
- vec2 index1DTo2DTexcoord(int index, ivec2 dimensions, vec2 uvScale)\n\
11
+ vec3 index1DTo3DTexCoord(int index)\n\
28
12
  {\n\
29
- int indexX = intMod(index, dimensions.x);\n\
30
- int indexY = index / dimensions.x;\n\
31
- return vec2(indexX, indexY) * uvScale;\n\
13
+ int tilesPerZ = u_megatextureTileCounts.x * u_megatextureTileCounts.y;\n\
14
+ int iz = index / tilesPerZ;\n\
15
+ int remainder = index - iz * tilesPerZ;\n\
16
+ int iy = remainder / u_megatextureTileCounts.x;\n\
17
+ int ix = remainder - iy * u_megatextureTileCounts.x;\n\
18
+ return vec3(ix, iy, iz) / vec3(u_megatextureTileCounts);\n\
32
19
  }\n\
33
20
  \n\
34
- /*\n\
35
- How is 3D data stored in a 2D megatexture?\n\
36
- \n\
37
- In this example there is only one loaded tile and it has 2x2x2 voxels (8 voxels total).\n\
38
- The data is sliced by Z. The data at Z = 0 is placed in texels (0,0), (0,1), (1,0), (1,1) and\n\
39
- the data at Z = 1 is placed in texels (2,0), (2,1), (3,0), (3,1).\n\
40
- Note that there could be empty space in the megatexture because it's a power of two.\n\
41
- \n\
42
- 0 1 2 3\n\
43
- +---+---+---+---+\n\
44
- | | | | | 3\n\
45
- +---+---+---+---+\n\
46
- | | | | | 2\n\
47
- +-------+-------+\n\
48
- |010|110|011|111| 1\n\
49
- |--- ---|--- ---|\n\
50
- |000|100|001|101| 0\n\
51
- +-------+-------+\n\
52
- \n\
53
- When doing linear interpolation the megatexture needs to be sampled twice: once for\n\
54
- the Z slice above the voxel coordinate and once for the slice below. The two slices\n\
55
- are interpolated with fract(coord.z - 0.5). For example, a Z coordinate of 1.0 is\n\
56
- halfway between two Z slices so the interpolation factor is 0.5. Below is a side view\n\
57
- of the 3D voxel grid with voxel coordinates on the left side.\n\
58
- \n\
59
- 2 +---+\n\
60
- |001|\n\
61
- 1 +-z-+\n\
62
- |000|\n\
63
- 0 +---+\n\
64
- \n\
65
- When doing nearest neighbor the megatexture only needs to be sampled once at the closest Z slice.\n\
66
- */\n\
67
- \n\
68
21
  Properties getPropertiesFromMegatexture(in SampleData sampleData) {\n\
69
22
  int tileIndex = sampleData.megatextureIndex;\n\
70
23
  \n\
71
24
  vec3 voxelCoord = sampleData.inputCoordinate;\n\
72
- #if defined(NEAREST_SAMPLING)\n\
73
- // Round to the center of the nearest voxel\n\
74
- voxelCoord = floor(voxelCoord) + vec3(0.5);\n\
75
- #endif\n\
76
25
  \n\
77
- // Tile location\n\
78
- vec2 tileUvOffset = index1DTo2DTexcoord(tileIndex, u_megatextureTileDimensions, u_megatextureTileSizeUv);\n\
79
- \n\
80
- // Slice location\n\
81
- float slice = voxelCoord.z - 0.5;\n\
82
- int sliceIndex = int(floor(slice));\n\
83
- int sliceIndex0 = intClamp(sliceIndex, 0, u_inputDimensions.z - 1);\n\
84
- vec2 sliceUvOffset0 = index1DTo2DTexcoord(sliceIndex0, u_megatextureSliceDimensions, u_megatextureSliceSizeUv);\n\
26
+ // UV coordinate of the lower corner of the tile in the megatexture\n\
27
+ vec3 tileUvOffset = index1DTo3DTexCoord(tileIndex);\n\
85
28
  \n\
86
29
  // Voxel location\n\
87
- vec2 voxelUvOffset = clamp(voxelCoord.xy, vec2(0.5), vec2(u_inputDimensions.xy) - vec2(0.5)) * u_megatextureVoxelSizeUv;\n\
88
- \n\
89
- // Final location in the megatexture\n\
90
- vec2 uv0 = tileUvOffset + sliceUvOffset0 + voxelUvOffset;\n\
30
+ vec3 tileDimensions = vec3(u_inputDimensions);\n\
31
+ vec3 clampedVoxelCoord = clamp(voxelCoord, vec3(0.5), tileDimensions - vec3(0.5));\n\
32
+ vec3 voxelUv = clampedVoxelCoord / tileDimensions / vec3(u_megatextureTileCounts);\n\
91
33
  \n\
92
- #if defined(NEAREST_SAMPLING)\n\
93
- return getPropertiesFromMegatextureAtUv(uv0);\n\
94
- #else\n\
95
- float sliceLerp = fract(slice);\n\
96
- int sliceIndex1 = intMin(sliceIndex + 1, u_inputDimensions.z - 1);\n\
97
- vec2 sliceUvOffset1 = index1DTo2DTexcoord(sliceIndex1, u_megatextureSliceDimensions, u_megatextureSliceSizeUv);\n\
98
- vec2 uv1 = tileUvOffset + sliceUvOffset1 + voxelUvOffset;\n\
99
- Properties properties0 = getPropertiesFromMegatextureAtUv(uv0);\n\
100
- Properties properties1 = getPropertiesFromMegatextureAtUv(uv1);\n\
101
- return mixProperties(properties0, properties1, sliceLerp);\n\
102
- #endif\n\
34
+ return getPropertiesFromMegatextureAtUv(tileUvOffset + voxelUv);\n\
103
35
  }\n\
104
36
  \n\
105
37
  // Convert an array of sample datas to a final weighted properties.\n\
@@ -44,10 +44,6 @@ struct SampleData {
44
44
  #endif
45
45
  };
46
46
 
47
- // Integer mod: For WebGL1 only
48
- int intMod(in int a, in int b) {
49
- return a - (b * (a / b));
50
- }
51
47
  int normU8_toInt(in float value) {
52
48
  return int(value * 255.0);
53
49
  }
@@ -69,14 +65,14 @@ OctreeNodeData getOctreeNodeData(in vec2 octreeUv) {
69
65
 
70
66
  OctreeNodeData getOctreeChildData(in int parentOctreeIndex, in ivec3 childCoord) {
71
67
  int childIndex = childCoord.z * 4 + childCoord.y * 2 + childCoord.x;
72
- int octreeCoordX = intMod(parentOctreeIndex, u_octreeInternalNodeTilesPerRow) * 9 + 1 + childIndex;
68
+ int octreeCoordX = (parentOctreeIndex % u_octreeInternalNodeTilesPerRow) * 9 + 1 + childIndex;
73
69
  int octreeCoordY = parentOctreeIndex / u_octreeInternalNodeTilesPerRow;
74
70
  vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5);
75
71
  return getOctreeNodeData(octreeUv);
76
72
  }
77
73
 
78
74
  int getOctreeParentIndex(in int octreeIndex) {
79
- int octreeCoordX = intMod(octreeIndex, u_octreeInternalNodeTilesPerRow) * 9;
75
+ int octreeCoordX = (octreeIndex % u_octreeInternalNodeTilesPerRow) * 9;
80
76
  int octreeCoordY = octreeIndex / u_octreeInternalNodeTilesPerRow;
81
77
  vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5);
82
78
  vec4 parentData = texture(u_octreeInternalNodeTexture, octreeUv);
@@ -106,8 +102,9 @@ void addSampleCoordinates(in TileAndUvCoordinate tileAndUv, inout SampleData sam
106
102
  #if defined(Y_UP_METADATA_ORDER)
107
103
  #if defined(SHAPE_BOX)
108
104
  float inputY = inputCoordinate.y;
109
- inputCoordinate.y = float(u_inputDimensions.y) - inputCoordinate.z;
110
- inputCoordinate.z = inputY;
105
+ inputCoordinate.y = inputCoordinate.z;
106
+ // u_inputDimensions.z is the y-up dimension along the 3D Tiles y-axis.
107
+ inputCoordinate.z = float(u_inputDimensions.z) - inputY;
111
108
  #elif defined(SHAPE_CYLINDER)
112
109
  float angle = inputCoordinate.y;
113
110
  float height = inputCoordinate.z;
@@ -139,7 +136,7 @@ void getOctreeLeafSampleDatas(in OctreeNodeData data, in ivec4 octreeCoords, out
139
136
  int leafIndex = data.data;
140
137
  int leafNodeTexelCount = 2;
141
138
  // Adding 0.5 moves to the center of the texel
142
- float leafCoordXStart = float(intMod(leafIndex, u_octreeLeafNodeTilesPerRow) * leafNodeTexelCount) + 0.5;
139
+ float leafCoordXStart = float((leafIndex % u_octreeLeafNodeTilesPerRow) * leafNodeTexelCount) + 0.5;
143
140
  float leafCoordY = float(leafIndex / u_octreeLeafNodeTilesPerRow) + 0.5;
144
141
 
145
142
  // Get an interpolation weight and a flag to determine whether to read the parent texture
@@ -45,10 +45,6 @@ struct SampleData {\n\
45
45
  #endif\n\
46
46
  };\n\
47
47
  \n\
48
- // Integer mod: For WebGL1 only\n\
49
- int intMod(in int a, in int b) {\n\
50
- return a - (b * (a / b));\n\
51
- }\n\
52
48
  int normU8_toInt(in float value) {\n\
53
49
  return int(value * 255.0);\n\
54
50
  }\n\
@@ -70,14 +66,14 @@ OctreeNodeData getOctreeNodeData(in vec2 octreeUv) {\n\
70
66
  \n\
71
67
  OctreeNodeData getOctreeChildData(in int parentOctreeIndex, in ivec3 childCoord) {\n\
72
68
  int childIndex = childCoord.z * 4 + childCoord.y * 2 + childCoord.x;\n\
73
- int octreeCoordX = intMod(parentOctreeIndex, u_octreeInternalNodeTilesPerRow) * 9 + 1 + childIndex;\n\
69
+ int octreeCoordX = (parentOctreeIndex % u_octreeInternalNodeTilesPerRow) * 9 + 1 + childIndex;\n\
74
70
  int octreeCoordY = parentOctreeIndex / u_octreeInternalNodeTilesPerRow;\n\
75
71
  vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5);\n\
76
72
  return getOctreeNodeData(octreeUv);\n\
77
73
  }\n\
78
74
  \n\
79
75
  int getOctreeParentIndex(in int octreeIndex) {\n\
80
- int octreeCoordX = intMod(octreeIndex, u_octreeInternalNodeTilesPerRow) * 9;\n\
76
+ int octreeCoordX = (octreeIndex % u_octreeInternalNodeTilesPerRow) * 9;\n\
81
77
  int octreeCoordY = octreeIndex / u_octreeInternalNodeTilesPerRow;\n\
82
78
  vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5);\n\
83
79
  vec4 parentData = texture(u_octreeInternalNodeTexture, octreeUv);\n\
@@ -107,8 +103,9 @@ void addSampleCoordinates(in TileAndUvCoordinate tileAndUv, inout SampleData sam
107
103
  #if defined(Y_UP_METADATA_ORDER)\n\
108
104
  #if defined(SHAPE_BOX)\n\
109
105
  float inputY = inputCoordinate.y;\n\
110
- inputCoordinate.y = float(u_inputDimensions.y) - inputCoordinate.z;\n\
111
- inputCoordinate.z = inputY;\n\
106
+ inputCoordinate.y = inputCoordinate.z;\n\
107
+ // u_inputDimensions.z is the y-up dimension along the 3D Tiles y-axis.\n\
108
+ inputCoordinate.z = float(u_inputDimensions.z) - inputY;\n\
112
109
  #elif defined(SHAPE_CYLINDER)\n\
113
110
  float angle = inputCoordinate.y;\n\
114
111
  float height = inputCoordinate.z;\n\
@@ -140,7 +137,7 @@ void getOctreeLeafSampleDatas(in OctreeNodeData data, in ivec4 octreeCoords, out
140
137
  int leafIndex = data.data;\n\
141
138
  int leafNodeTexelCount = 2;\n\
142
139
  // Adding 0.5 moves to the center of the texel\n\
143
- float leafCoordXStart = float(intMod(leafIndex, u_octreeLeafNodeTilesPerRow) * leafNodeTexelCount) + 0.5;\n\
140
+ float leafCoordXStart = float((leafIndex % u_octreeLeafNodeTilesPerRow) * leafNodeTexelCount) + 0.5;\n\
144
141
  float leafCoordY = float(leafIndex / u_octreeLeafNodeTilesPerRow) + 0.5;\n\
145
142
  \n\
146
143
  // Get an interpolation weight and a flag to determine whether to read the parent texture\n\
@@ -175,7 +175,7 @@ function configureCameraFrustum(widget) {
175
175
  *
176
176
  * @exception {DeveloperError} Element with id "container" does not exist in the document.
177
177
  *
178
- * @demo {@link https://sandcastle.cesium.com/index.html?src=Cesium%20Widget.html|Cesium Sandcastle Cesium Widget Demo}
178
+ * @demo {@link https://sandcastle.cesium.com/index.html?id=cesium-widget|Cesium Sandcastle Cesium Widget Demo}
179
179
  *
180
180
  * @example
181
181
  * // For each example, include a link to CesiumWidget.css stylesheet in HTML head,
@@ -12,6 +12,9 @@ const scratchTrianglePoints = [
12
12
  ];
13
13
  const scratchTriangleAABB = new AxisAlignedBoundingBox();
14
14
 
15
+ const TILE_AABB_MAX = new Cartesian3(0.5, 0.5, 0.5);
16
+ const TILE_AABB_MIN = new Cartesian3(-0.5, -0.5, -0.5);
17
+
15
18
  /**
16
19
  * Builds the next layer of the terrain picker's quadtree by determining which triangles intersect
17
20
  * each of the four child nodes. (Essentially distributing the parent's triangles to its children.)
@@ -42,7 +45,7 @@ function incrementallyBuildTerrainPicker(parameters, transferableObjects) {
42
45
  );
43
46
 
44
47
  const triangleIndices = new Uint32Array(parameters.triangleIndices);
45
- const trianglePositions = new Float32Array(parameters.trianglePositions);
48
+ const trianglePositions = new Float64Array(parameters.trianglePositions);
46
49
  const intersectingTrianglesArrays = Array.from({ length: 4 }, () => []);
47
50
 
48
51
  for (let j = 0; j < triangleIndices.length; j++) {
@@ -102,7 +105,18 @@ function createAABBFromTriangle(inverseTransform, trianglePoints) {
102
105
  trianglePoints[2],
103
106
  );
104
107
 
105
- return AxisAlignedBoundingBox.fromPoints(trianglePoints, scratchTriangleAABB);
108
+ const aabb = AxisAlignedBoundingBox.fromPoints(
109
+ trianglePoints,
110
+ scratchTriangleAABB,
111
+ );
112
+
113
+ // In 2D mode, sometimes the height-scale of a tile is 0. See {@link TerrainMesh#computeTransform2D}.
114
+ // This makes the inverseTransform degenerate, so we set the height-scale to 1 to be prevent that. However, this is artificial and
115
+ // can lead to the triangle's AABB extending beyond the (height) bounds of the tile's AABB.
116
+ // Thus, we clamp the triangle's AABB to the tile's local-space AABB.
117
+ Cartesian3.clamp(aabb.minimum, TILE_AABB_MIN, TILE_AABB_MAX, aabb.minimum);
118
+ Cartesian3.clamp(aabb.maximum, TILE_AABB_MIN, TILE_AABB_MAX, aabb.maximum);
119
+ return aabb;
106
120
  }
107
121
 
108
122
  export default createTaskProcessorWorker(incrementallyBuildTerrainPicker);
package/index.d.ts CHANGED
@@ -8801,7 +8801,7 @@ export namespace IntersectionTests {
8801
8801
  /**
8802
8802
  * Computes the intersection of a ray and a triangle as a parametric distance along the input ray. The result is negative when the triangle is behind the ray.
8803
8803
  *
8804
- * Implements {@link https://cadxfem.org/inf/Fast%20MinimumStorage%20RayTriangle%20Intersection.pdf|
8804
+ * Implements {@link https://cadxfem.org/inf/Fast MinimumStorage RayTriangle Intersection.pdf|
8805
8805
  * Fast Minimum Storage Ray/Triangle Intersection} by Tomas Moller and Ben Trumbore.
8806
8806
  * @param ray - The ray.
8807
8807
  * @param p0 - The first vertex of the triangle.
@@ -8815,7 +8815,7 @@ export namespace IntersectionTests {
8815
8815
  /**
8816
8816
  * Computes the intersection of a ray and a triangle as a Cartesian3 coordinate.
8817
8817
  *
8818
- * Implements {@link https://cadxfem.org/inf/Fast%20MinimumStorage%20RayTriangle%20Intersection.pdf|
8818
+ * Implements {@link https://cadxfem.org/inf/Fast MinimumStorage RayTriangle Intersection.pdf|
8819
8819
  * Fast Minimum Storage Ray/Triangle Intersection} by Tomas Moller and Ben Trumbore.
8820
8820
  * @param ray - The ray.
8821
8821
  * @param p0 - The first vertex of the triangle.
@@ -19065,6 +19065,15 @@ export function srgbToLinear(value: number): number;
19065
19065
  */
19066
19066
  export function subdivideArray(array: any[], numberOfArrays: number): void;
19067
19067
 
19068
+ /**
19069
+ * Computes dimensions for text, based on current canvas state.
19070
+ *
19071
+ * Rounds metrics, excluding width, to whole pixels. This is purely to minimize
19072
+ * rendering differences with migration to in-browser measureText(), and may be
19073
+ * revised in the future. See: github.com/CesiumGS/cesium/pull/13081
19074
+ */
19075
+ export function measureText(): void;
19076
+
19068
19077
  /**
19069
19078
  * Writes the given text into a new canvas. The canvas will be sized to fit the text.
19070
19079
  * If text is blank, returns undefined.
@@ -32282,7 +32291,7 @@ export namespace DynamicEnvironmentMapManager {
32282
32291
  /**
32283
32292
  * Options for the DynamicEnvironmentMapManager constructor
32284
32293
  * @property [enabled = true] - If true, the environment map and related properties will continue to update.
32285
- * @property [mipmapLevels = 7] - The number of mipmap levels to generate for specular maps. More mipmap levels will produce a higher resolution specular reflection.
32294
+ * @property [mipmapLevels = 7] - The maximum desired number of mipmap levels to generate for specular maps. More mipmap levels will produce a higher resolution specular reflection. The actual number of mipmaps used will be bounded by the cubemap texture size supported on the client machine. The number of mipmaps must be at least one for the environment map to be generated.
32286
32295
  * @property [maximumSecondsDifference = 3600] - The maximum amount of elapsed seconds before a new environment map is created.
32287
32296
  * @property [maximumPositionEpsilon = 1000] - The maximum difference in position before a new environment map is created, in meters. Small differences in position will not visibly affect results.
32288
32297
  * @property [atmosphereScatteringIntensity = 2.0] - The intensity of the scattered light emitted from the atmosphere. This should be adjusted relative to the value of {@link Scene.light} intensity.
@@ -37313,6 +37322,11 @@ export namespace MaterialAppearance {
37313
37322
  }
37314
37323
  }
37315
37324
 
37325
+ /**
37326
+ * Gets or sets the nearest sampling flag.
37327
+ */
37328
+ export var nearestSampling: boolean;
37329
+
37316
37330
  /**
37317
37331
  * A metadata class.
37318
37332
  *
@@ -41206,7 +41220,7 @@ export class PostProcessStageCollection {
41206
41220
  readonly length: number;
41207
41221
  /**
41208
41222
  * Specifies the tonemapping algorithm used when rendering with high dynamic range.
41209
- * {@link https://sandcastle.cesium.com/?src=High%20Dynamic%20Range.html|Sandcastle Demo}
41223
+ * {@link https://sandcastle.cesium.com/?id=high-dynamic-range|Sandcastle Demo}
41210
41224
  * @example
41211
41225
  * viewer.scene.postProcessStages.tonemapper = Cesium.Tonemapper.ACES;
41212
41226
  */
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- globalThis.CESIUM_VERSION = "1.137.0";
1
+ globalThis.CESIUM_VERSION = "1.138.0";
2
2
  export { default as AutomaticUniforms } from './Source/Renderer/AutomaticUniforms.js';
3
3
  export { default as Buffer } from './Source/Renderer/Buffer.js';
4
4
  export { default as BufferUsage } from './Source/Renderer/BufferUsage.js';
@@ -153,61 +153,6 @@ export { default as createRawPropertyDescriptor } from './Source/DataSources/cre
153
153
  export { default as exportKml } from './Source/DataSources/exportKml.js';
154
154
  export { default as getElement } from './Source/DataSources/getElement.js';
155
155
  export { default as heightReferenceOnEntityPropertyChanged } from './Source/DataSources/heightReferenceOnEntityPropertyChanged.js';
156
- export { default as _shadersAdjustTranslucentFS } from './Source/Shaders/AdjustTranslucentFS.js';
157
- export { default as _shadersAtmosphereCommon } from './Source/Shaders/AtmosphereCommon.js';
158
- export { default as _shadersBillboardCollectionFS } from './Source/Shaders/BillboardCollectionFS.js';
159
- export { default as _shadersBillboardCollectionVS } from './Source/Shaders/BillboardCollectionVS.js';
160
- export { default as _shadersBrdfLutGeneratorFS } from './Source/Shaders/BrdfLutGeneratorFS.js';
161
- export { default as _shadersCloudCollectionFS } from './Source/Shaders/CloudCollectionFS.js';
162
- export { default as _shadersCloudCollectionVS } from './Source/Shaders/CloudCollectionVS.js';
163
- export { default as _shadersCloudNoiseFS } from './Source/Shaders/CloudNoiseFS.js';
164
- export { default as _shadersCloudNoiseVS } from './Source/Shaders/CloudNoiseVS.js';
165
- export { default as _shadersCompareAndPackTranslucentDepth } from './Source/Shaders/CompareAndPackTranslucentDepth.js';
166
- export { default as _shadersCompositeOITFS } from './Source/Shaders/CompositeOITFS.js';
167
- export { default as _shadersComputeIrradianceFS } from './Source/Shaders/ComputeIrradianceFS.js';
168
- export { default as _shadersComputeRadianceMapFS } from './Source/Shaders/ComputeRadianceMapFS.js';
169
- export { default as _shadersConvolveSpecularMapFS } from './Source/Shaders/ConvolveSpecularMapFS.js';
170
- export { default as _shadersConvolveSpecularMapVS } from './Source/Shaders/ConvolveSpecularMapVS.js';
171
- export { default as _shadersDepthPlaneFS } from './Source/Shaders/DepthPlaneFS.js';
172
- export { default as _shadersDepthPlaneVS } from './Source/Shaders/DepthPlaneVS.js';
173
- export { default as _shadersEllipsoidFS } from './Source/Shaders/EllipsoidFS.js';
174
- export { default as _shadersEllipsoidVS } from './Source/Shaders/EllipsoidVS.js';
175
- export { default as _shadersFXAA3_11 } from './Source/Shaders/FXAA3_11.js';
176
- export { default as _shadersGlobeFS } from './Source/Shaders/GlobeFS.js';
177
- export { default as _shadersGlobeVS } from './Source/Shaders/GlobeVS.js';
178
- export { default as _shadersGroundAtmosphere } from './Source/Shaders/GroundAtmosphere.js';
179
- export { default as _shadersPointPrimitiveCollectionFS } from './Source/Shaders/PointPrimitiveCollectionFS.js';
180
- export { default as _shadersPointPrimitiveCollectionVS } from './Source/Shaders/PointPrimitiveCollectionVS.js';
181
- export { default as _shadersPolygonSignedDistanceFS } from './Source/Shaders/PolygonSignedDistanceFS.js';
182
- export { default as _shadersPolylineCommon } from './Source/Shaders/PolylineCommon.js';
183
- export { default as _shadersPolylineFS } from './Source/Shaders/PolylineFS.js';
184
- export { default as _shadersPolylineShadowVolumeFS } from './Source/Shaders/PolylineShadowVolumeFS.js';
185
- export { default as _shadersPolylineShadowVolumeMorphFS } from './Source/Shaders/PolylineShadowVolumeMorphFS.js';
186
- export { default as _shadersPolylineShadowVolumeMorphVS } from './Source/Shaders/PolylineShadowVolumeMorphVS.js';
187
- export { default as _shadersPolylineShadowVolumeVS } from './Source/Shaders/PolylineShadowVolumeVS.js';
188
- export { default as _shadersPolylineVS } from './Source/Shaders/PolylineVS.js';
189
- export { default as _shadersPrimitiveGaussianSplatFS } from './Source/Shaders/PrimitiveGaussianSplatFS.js';
190
- export { default as _shadersPrimitiveGaussianSplatVS } from './Source/Shaders/PrimitiveGaussianSplatVS.js';
191
- export { default as _shadersReprojectWebMercatorFS } from './Source/Shaders/ReprojectWebMercatorFS.js';
192
- export { default as _shadersReprojectWebMercatorVS } from './Source/Shaders/ReprojectWebMercatorVS.js';
193
- export { default as _shadersShadowVolumeAppearanceFS } from './Source/Shaders/ShadowVolumeAppearanceFS.js';
194
- export { default as _shadersShadowVolumeAppearanceVS } from './Source/Shaders/ShadowVolumeAppearanceVS.js';
195
- export { default as _shadersShadowVolumeFS } from './Source/Shaders/ShadowVolumeFS.js';
196
- export { default as _shadersSkyAtmosphereCommon } from './Source/Shaders/SkyAtmosphereCommon.js';
197
- export { default as _shadersSkyAtmosphereFS } from './Source/Shaders/SkyAtmosphereFS.js';
198
- export { default as _shadersSkyAtmosphereVS } from './Source/Shaders/SkyAtmosphereVS.js';
199
- export { default as _shadersSkyBoxFS } from './Source/Shaders/SkyBoxFS.js';
200
- export { default as _shadersSkyBoxVS } from './Source/Shaders/SkyBoxVS.js';
201
- export { default as _shadersSunFS } from './Source/Shaders/SunFS.js';
202
- export { default as _shadersSunTextureFS } from './Source/Shaders/SunTextureFS.js';
203
- export { default as _shadersSunVS } from './Source/Shaders/SunVS.js';
204
- export { default as _shadersVector3DTileClampedPolylinesFS } from './Source/Shaders/Vector3DTileClampedPolylinesFS.js';
205
- export { default as _shadersVector3DTileClampedPolylinesVS } from './Source/Shaders/Vector3DTileClampedPolylinesVS.js';
206
- export { default as _shadersVector3DTilePolylinesVS } from './Source/Shaders/Vector3DTilePolylinesVS.js';
207
- export { default as _shadersVectorTileVS } from './Source/Shaders/VectorTileVS.js';
208
- export { default as _shadersViewportQuadFS } from './Source/Shaders/ViewportQuadFS.js';
209
- export { default as _shadersViewportQuadVS } from './Source/Shaders/ViewportQuadVS.js';
210
- export { default as CesiumWidget } from './Source/Widget/CesiumWidget.js';
211
156
  export { default as ApproximateTerrainHeights } from './Source/Core/ApproximateTerrainHeights.js';
212
157
  export { default as ArcGISTiledElevationTerrainProvider } from './Source/Core/ArcGISTiledElevationTerrainProvider.js';
213
158
  export { default as ArcType } from './Source/Core/ArcType.js';
@@ -495,6 +440,61 @@ export { default as subdivideArray } from './Source/Core/subdivideArray.js';
495
440
  export { default as webGLConstantToGlslType } from './Source/Core/webGLConstantToGlslType.js';
496
441
  export { default as wrapFunction } from './Source/Core/wrapFunction.js';
497
442
  export { default as writeTextToCanvas } from './Source/Core/writeTextToCanvas.js';
443
+ export { default as CesiumWidget } from './Source/Widget/CesiumWidget.js';
444
+ export { default as _shadersAdjustTranslucentFS } from './Source/Shaders/AdjustTranslucentFS.js';
445
+ export { default as _shadersAtmosphereCommon } from './Source/Shaders/AtmosphereCommon.js';
446
+ export { default as _shadersBillboardCollectionFS } from './Source/Shaders/BillboardCollectionFS.js';
447
+ export { default as _shadersBillboardCollectionVS } from './Source/Shaders/BillboardCollectionVS.js';
448
+ export { default as _shadersBrdfLutGeneratorFS } from './Source/Shaders/BrdfLutGeneratorFS.js';
449
+ export { default as _shadersCloudCollectionFS } from './Source/Shaders/CloudCollectionFS.js';
450
+ export { default as _shadersCloudCollectionVS } from './Source/Shaders/CloudCollectionVS.js';
451
+ export { default as _shadersCloudNoiseFS } from './Source/Shaders/CloudNoiseFS.js';
452
+ export { default as _shadersCloudNoiseVS } from './Source/Shaders/CloudNoiseVS.js';
453
+ export { default as _shadersCompareAndPackTranslucentDepth } from './Source/Shaders/CompareAndPackTranslucentDepth.js';
454
+ export { default as _shadersCompositeOITFS } from './Source/Shaders/CompositeOITFS.js';
455
+ export { default as _shadersComputeIrradianceFS } from './Source/Shaders/ComputeIrradianceFS.js';
456
+ export { default as _shadersComputeRadianceMapFS } from './Source/Shaders/ComputeRadianceMapFS.js';
457
+ export { default as _shadersConvolveSpecularMapFS } from './Source/Shaders/ConvolveSpecularMapFS.js';
458
+ export { default as _shadersConvolveSpecularMapVS } from './Source/Shaders/ConvolveSpecularMapVS.js';
459
+ export { default as _shadersDepthPlaneFS } from './Source/Shaders/DepthPlaneFS.js';
460
+ export { default as _shadersDepthPlaneVS } from './Source/Shaders/DepthPlaneVS.js';
461
+ export { default as _shadersEllipsoidFS } from './Source/Shaders/EllipsoidFS.js';
462
+ export { default as _shadersEllipsoidVS } from './Source/Shaders/EllipsoidVS.js';
463
+ export { default as _shadersFXAA3_11 } from './Source/Shaders/FXAA3_11.js';
464
+ export { default as _shadersGlobeFS } from './Source/Shaders/GlobeFS.js';
465
+ export { default as _shadersGlobeVS } from './Source/Shaders/GlobeVS.js';
466
+ export { default as _shadersGroundAtmosphere } from './Source/Shaders/GroundAtmosphere.js';
467
+ export { default as _shadersPointPrimitiveCollectionFS } from './Source/Shaders/PointPrimitiveCollectionFS.js';
468
+ export { default as _shadersPointPrimitiveCollectionVS } from './Source/Shaders/PointPrimitiveCollectionVS.js';
469
+ export { default as _shadersPolygonSignedDistanceFS } from './Source/Shaders/PolygonSignedDistanceFS.js';
470
+ export { default as _shadersPolylineCommon } from './Source/Shaders/PolylineCommon.js';
471
+ export { default as _shadersPolylineFS } from './Source/Shaders/PolylineFS.js';
472
+ export { default as _shadersPolylineShadowVolumeFS } from './Source/Shaders/PolylineShadowVolumeFS.js';
473
+ export { default as _shadersPolylineShadowVolumeMorphFS } from './Source/Shaders/PolylineShadowVolumeMorphFS.js';
474
+ export { default as _shadersPolylineShadowVolumeMorphVS } from './Source/Shaders/PolylineShadowVolumeMorphVS.js';
475
+ export { default as _shadersPolylineShadowVolumeVS } from './Source/Shaders/PolylineShadowVolumeVS.js';
476
+ export { default as _shadersPolylineVS } from './Source/Shaders/PolylineVS.js';
477
+ export { default as _shadersPrimitiveGaussianSplatFS } from './Source/Shaders/PrimitiveGaussianSplatFS.js';
478
+ export { default as _shadersPrimitiveGaussianSplatVS } from './Source/Shaders/PrimitiveGaussianSplatVS.js';
479
+ export { default as _shadersReprojectWebMercatorFS } from './Source/Shaders/ReprojectWebMercatorFS.js';
480
+ export { default as _shadersReprojectWebMercatorVS } from './Source/Shaders/ReprojectWebMercatorVS.js';
481
+ export { default as _shadersShadowVolumeAppearanceFS } from './Source/Shaders/ShadowVolumeAppearanceFS.js';
482
+ export { default as _shadersShadowVolumeAppearanceVS } from './Source/Shaders/ShadowVolumeAppearanceVS.js';
483
+ export { default as _shadersShadowVolumeFS } from './Source/Shaders/ShadowVolumeFS.js';
484
+ export { default as _shadersSkyAtmosphereCommon } from './Source/Shaders/SkyAtmosphereCommon.js';
485
+ export { default as _shadersSkyAtmosphereFS } from './Source/Shaders/SkyAtmosphereFS.js';
486
+ export { default as _shadersSkyAtmosphereVS } from './Source/Shaders/SkyAtmosphereVS.js';
487
+ export { default as _shadersSkyBoxFS } from './Source/Shaders/SkyBoxFS.js';
488
+ export { default as _shadersSkyBoxVS } from './Source/Shaders/SkyBoxVS.js';
489
+ export { default as _shadersSunFS } from './Source/Shaders/SunFS.js';
490
+ export { default as _shadersSunTextureFS } from './Source/Shaders/SunTextureFS.js';
491
+ export { default as _shadersSunVS } from './Source/Shaders/SunVS.js';
492
+ export { default as _shadersVector3DTileClampedPolylinesFS } from './Source/Shaders/Vector3DTileClampedPolylinesFS.js';
493
+ export { default as _shadersVector3DTileClampedPolylinesVS } from './Source/Shaders/Vector3DTileClampedPolylinesVS.js';
494
+ export { default as _shadersVector3DTilePolylinesVS } from './Source/Shaders/Vector3DTilePolylinesVS.js';
495
+ export { default as _shadersVectorTileVS } from './Source/Shaders/VectorTileVS.js';
496
+ export { default as _shadersViewportQuadFS } from './Source/Shaders/ViewportQuadFS.js';
497
+ export { default as _shadersViewportQuadVS } from './Source/Shaders/ViewportQuadVS.js';
498
498
  export { default as AlphaMode } from './Source/Scene/AlphaMode.js';
499
499
  export { default as Appearance } from './Source/Scene/Appearance.js';
500
500
  export { default as ArcGisBaseMapType } from './Source/Scene/ArcGisBaseMapType.js';
@@ -884,32 +884,6 @@ export { default as _shadersSlopeRampMaterial } from './Source/Shaders/Materials
884
884
  export { default as _shadersStripeMaterial } from './Source/Shaders/Materials/StripeMaterial.js';
885
885
  export { default as _shadersWater } from './Source/Shaders/Materials/Water.js';
886
886
  export { default as _shadersWaterMaskMaterial } from './Source/Shaders/Materials/WaterMaskMaterial.js';
887
- export { default as _shadersAcesTonemappingStage } from './Source/Shaders/PostProcessStages/AcesTonemappingStage.js';
888
- export { default as _shadersAdditiveBlend } from './Source/Shaders/PostProcessStages/AdditiveBlend.js';
889
- export { default as _shadersAmbientOcclusionGenerate } from './Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js';
890
- export { default as _shadersAmbientOcclusionModulate } from './Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js';
891
- export { default as _shadersBlackAndWhite } from './Source/Shaders/PostProcessStages/BlackAndWhite.js';
892
- export { default as _shadersBloomComposite } from './Source/Shaders/PostProcessStages/BloomComposite.js';
893
- export { default as _shadersBrightPass } from './Source/Shaders/PostProcessStages/BrightPass.js';
894
- export { default as _shadersBrightness } from './Source/Shaders/PostProcessStages/Brightness.js';
895
- export { default as _shadersCompositeTranslucentClassification } from './Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js';
896
- export { default as _shadersContrastBias } from './Source/Shaders/PostProcessStages/ContrastBias.js';
897
- export { default as _shadersDepthOfField } from './Source/Shaders/PostProcessStages/DepthOfField.js';
898
- export { default as _shadersDepthView } from './Source/Shaders/PostProcessStages/DepthView.js';
899
- export { default as _shadersDepthViewPacked } from './Source/Shaders/PostProcessStages/DepthViewPacked.js';
900
- export { default as _shadersEdgeDetection } from './Source/Shaders/PostProcessStages/EdgeDetection.js';
901
- export { default as _shadersFXAA } from './Source/Shaders/PostProcessStages/FXAA.js';
902
- export { default as _shadersFilmicTonemapping } from './Source/Shaders/PostProcessStages/FilmicTonemapping.js';
903
- export { default as _shadersGaussianBlur1D } from './Source/Shaders/PostProcessStages/GaussianBlur1D.js';
904
- export { default as _shadersLensFlare } from './Source/Shaders/PostProcessStages/LensFlare.js';
905
- export { default as _shadersModifiedReinhardTonemapping } from './Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js';
906
- export { default as _shadersNightVision } from './Source/Shaders/PostProcessStages/NightVision.js';
907
- export { default as _shadersPassThrough } from './Source/Shaders/PostProcessStages/PassThrough.js';
908
- export { default as _shadersPassThroughDepth } from './Source/Shaders/PostProcessStages/PassThroughDepth.js';
909
- export { default as _shadersPbrNeutralTonemapping } from './Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js';
910
- export { default as _shadersPointCloudEyeDomeLighting } from './Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js';
911
- export { default as _shadersReinhardTonemapping } from './Source/Shaders/PostProcessStages/ReinhardTonemapping.js';
912
- export { default as _shadersSilhouette } from './Source/Shaders/PostProcessStages/Silhouette.js';
913
887
  export { default as _shadersAtmosphereStageFS } from './Source/Shaders/Model/AtmosphereStageFS.js';
914
888
  export { default as _shadersAtmosphereStageVS } from './Source/Shaders/Model/AtmosphereStageVS.js';
915
889
  export { default as _shadersCPUStylingStageFS } from './Source/Shaders/Model/CPUStylingStageFS.js';
@@ -962,6 +936,32 @@ export { default as _shadersVoxelVS } from './Source/Shaders/Voxels/VoxelVS.js';
962
936
  export { default as _shadersconvertLocalToBoxUv } from './Source/Shaders/Voxels/convertLocalToBoxUv.js';
963
937
  export { default as _shadersconvertLocalToCylinderUv } from './Source/Shaders/Voxels/convertLocalToCylinderUv.js';
964
938
  export { default as _shadersconvertLocalToEllipsoidUv } from './Source/Shaders/Voxels/convertLocalToEllipsoidUv.js';
939
+ export { default as _shadersAcesTonemappingStage } from './Source/Shaders/PostProcessStages/AcesTonemappingStage.js';
940
+ export { default as _shadersAdditiveBlend } from './Source/Shaders/PostProcessStages/AdditiveBlend.js';
941
+ export { default as _shadersAmbientOcclusionGenerate } from './Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js';
942
+ export { default as _shadersAmbientOcclusionModulate } from './Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js';
943
+ export { default as _shadersBlackAndWhite } from './Source/Shaders/PostProcessStages/BlackAndWhite.js';
944
+ export { default as _shadersBloomComposite } from './Source/Shaders/PostProcessStages/BloomComposite.js';
945
+ export { default as _shadersBrightPass } from './Source/Shaders/PostProcessStages/BrightPass.js';
946
+ export { default as _shadersBrightness } from './Source/Shaders/PostProcessStages/Brightness.js';
947
+ export { default as _shadersCompositeTranslucentClassification } from './Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js';
948
+ export { default as _shadersContrastBias } from './Source/Shaders/PostProcessStages/ContrastBias.js';
949
+ export { default as _shadersDepthOfField } from './Source/Shaders/PostProcessStages/DepthOfField.js';
950
+ export { default as _shadersDepthView } from './Source/Shaders/PostProcessStages/DepthView.js';
951
+ export { default as _shadersDepthViewPacked } from './Source/Shaders/PostProcessStages/DepthViewPacked.js';
952
+ export { default as _shadersEdgeDetection } from './Source/Shaders/PostProcessStages/EdgeDetection.js';
953
+ export { default as _shadersFXAA } from './Source/Shaders/PostProcessStages/FXAA.js';
954
+ export { default as _shadersFilmicTonemapping } from './Source/Shaders/PostProcessStages/FilmicTonemapping.js';
955
+ export { default as _shadersGaussianBlur1D } from './Source/Shaders/PostProcessStages/GaussianBlur1D.js';
956
+ export { default as _shadersLensFlare } from './Source/Shaders/PostProcessStages/LensFlare.js';
957
+ export { default as _shadersModifiedReinhardTonemapping } from './Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js';
958
+ export { default as _shadersNightVision } from './Source/Shaders/PostProcessStages/NightVision.js';
959
+ export { default as _shadersPassThrough } from './Source/Shaders/PostProcessStages/PassThrough.js';
960
+ export { default as _shadersPassThroughDepth } from './Source/Shaders/PostProcessStages/PassThroughDepth.js';
961
+ export { default as _shadersPbrNeutralTonemapping } from './Source/Shaders/PostProcessStages/PbrNeutralTonemapping.js';
962
+ export { default as _shadersPointCloudEyeDomeLighting } from './Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js';
963
+ export { default as _shadersReinhardTonemapping } from './Source/Shaders/PostProcessStages/ReinhardTonemapping.js';
964
+ export { default as _shadersSilhouette } from './Source/Shaders/PostProcessStages/Silhouette.js';
965
965
  export { default as ForEach } from './Source/Scene/GltfPipeline/ForEach.js';
966
966
  export { default as addBuffer } from './Source/Scene/GltfPipeline/addBuffer.js';
967
967
  export { default as addDefaults } from './Source/Scene/GltfPipeline/addDefaults.js';
@@ -1072,14 +1072,6 @@ export { default as VaryingType } from './Source/Scene/Model/VaryingType.js';
1072
1072
  export { default as VerticalExaggerationPipelineStage } from './Source/Scene/Model/VerticalExaggerationPipelineStage.js';
1073
1073
  export { default as WireframePipelineStage } from './Source/Scene/Model/WireframePipelineStage.js';
1074
1074
  export { default as pickModel } from './Source/Scene/Model/pickModel.js';
1075
- export { default as _shadersdepthRangeStruct } from './Source/Shaders/Builtin/Structs/depthRangeStruct.js';
1076
- export { default as _shadersmaterial } from './Source/Shaders/Builtin/Structs/material.js';
1077
- export { default as _shadersmaterialInput } from './Source/Shaders/Builtin/Structs/materialInput.js';
1078
- export { default as _shadersmodelMaterial } from './Source/Shaders/Builtin/Structs/modelMaterial.js';
1079
- export { default as _shadersmodelVertexOutput } from './Source/Shaders/Builtin/Structs/modelVertexOutput.js';
1080
- export { default as _shadersray } from './Source/Shaders/Builtin/Structs/ray.js';
1081
- export { default as _shadersraySegment } from './Source/Shaders/Builtin/Structs/raySegment.js';
1082
- export { default as _shadersshadowParameters } from './Source/Shaders/Builtin/Structs/shadowParameters.js';
1083
1075
  export { default as _shadersdegreesPerRadian } from './Source/Shaders/Builtin/Constants/degreesPerRadian.js';
1084
1076
  export { default as _shadersdepthRange } from './Source/Shaders/Builtin/Constants/depthRange.js';
1085
1077
  export { default as _shadersepsilon1 } from './Source/Shaders/Builtin/Constants/epsilon1.js';
@@ -1120,6 +1112,14 @@ export { default as _shaderssolarRadius } from './Source/Shaders/Builtin/Constan
1120
1112
  export { default as _shadersthreePiOver2 } from './Source/Shaders/Builtin/Constants/threePiOver2.js';
1121
1113
  export { default as _shaderstwoPi } from './Source/Shaders/Builtin/Constants/twoPi.js';
1122
1114
  export { default as _shaderswebMercatorMaxLatitude } from './Source/Shaders/Builtin/Constants/webMercatorMaxLatitude.js';
1115
+ export { default as _shadersdepthRangeStruct } from './Source/Shaders/Builtin/Structs/depthRangeStruct.js';
1116
+ export { default as _shadersmaterial } from './Source/Shaders/Builtin/Structs/material.js';
1117
+ export { default as _shadersmaterialInput } from './Source/Shaders/Builtin/Structs/materialInput.js';
1118
+ export { default as _shadersmodelMaterial } from './Source/Shaders/Builtin/Structs/modelMaterial.js';
1119
+ export { default as _shadersmodelVertexOutput } from './Source/Shaders/Builtin/Structs/modelVertexOutput.js';
1120
+ export { default as _shadersray } from './Source/Shaders/Builtin/Structs/ray.js';
1121
+ export { default as _shadersraySegment } from './Source/Shaders/Builtin/Structs/raySegment.js';
1122
+ export { default as _shadersshadowParameters } from './Source/Shaders/Builtin/Structs/shadowParameters.js';
1123
1123
  export { default as _shadersHSBToRGB } from './Source/Shaders/Builtin/Functions/HSBToRGB.js';
1124
1124
  export { default as _shadersHSLToRGB } from './Source/Shaders/Builtin/Functions/HSLToRGB.js';
1125
1125
  export { default as _shadersRGBToHSB } from './Source/Shaders/Builtin/Functions/RGBToHSB.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cesium/engine",
3
- "version": "22.2.0",
3
+ "version": "22.3.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",
@@ -60,6 +60,7 @@
60
60
  "build": "gulp build --workspace @cesium/engine",
61
61
  "build-ts": "gulp buildTs --workspace @cesium/engine",
62
62
  "coverage": "gulp coverage --workspace @cesium/engine",
63
+ "tsc": "gulp tsc --workspace @cesium/engine",
63
64
  "test": "gulp test --workspace @cesium/engine",
64
65
  "postversion": "gulp postversion --workspace @cesium/engine"
65
66
  },