@cesium/engine 1.1.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (380) hide show
  1. package/Build/Workers/{AxisAlignedBoundingBox-a4321399.js → AxisAlignedBoundingBox-47525601.js} +1 -1
  2. package/Build/Workers/{BoundingRectangle-80d8801f.js → BoundingRectangle-93b263ac.js} +1 -1
  3. package/Build/Workers/{BoxGeometry-33c10a4f.js → BoxGeometry-8c4b4125.js} +1 -1
  4. package/Build/Workers/{Color-1bf9a6e0.js → Color-52c60ed7.js} +1 -1
  5. package/Build/Workers/{CoplanarPolygonGeometryLibrary-5c5b981b.js → CoplanarPolygonGeometryLibrary-33c4c1f8.js} +1 -1
  6. package/Build/Workers/{CorridorGeometryLibrary-7cbae7a0.js → CorridorGeometryLibrary-5039cd8e.js} +1 -1
  7. package/Build/Workers/{CylinderGeometry-42740df0.js → CylinderGeometry-3ac44974.js} +1 -1
  8. package/Build/Workers/{EllipseGeometry-49a3ac21.js → EllipseGeometry-a9c9b3be.js} +1 -1
  9. package/Build/Workers/{EllipseGeometryLibrary-b891b2f8.js → EllipseGeometryLibrary-855d4681.js} +1 -1
  10. package/Build/Workers/{EllipseOutlineGeometry-fbd72e07.js → EllipseOutlineGeometry-017a5929.js} +1 -1
  11. package/Build/Workers/{EllipsoidGeometry-a351dba8.js → EllipsoidGeometry-826e7bce.js} +1 -1
  12. package/Build/Workers/{EllipsoidOutlineGeometry-3e8779bf.js → EllipsoidOutlineGeometry-784dcdb5.js} +1 -1
  13. package/Build/Workers/{EllipsoidTangentPlane-cfb50678.js → EllipsoidTangentPlane-ed9443a1.js} +1 -1
  14. package/Build/Workers/{FrustumGeometry-c5754412.js → FrustumGeometry-9f1ee4d8.js} +1 -1
  15. package/Build/Workers/{GeometryAttribute-0bfd05e8.js → GeometryAttribute-334718f8.js} +1 -1
  16. package/Build/Workers/{GeometryPipeline-0166905d.js → GeometryPipeline-8fb0db69.js} +1 -1
  17. package/Build/Workers/{IntersectionTests-a93d3de9.js → IntersectionTests-27d49265.js} +1 -1
  18. package/Build/Workers/{OrientedBoundingBox-b450cb61.js → OrientedBoundingBox-79ee7cbb.js} +1 -1
  19. package/Build/Workers/{PolygonGeometryLibrary-f918ac26.js → PolygonGeometryLibrary-6b5a29e9.js} +1 -1
  20. package/Build/Workers/{PolygonPipeline-f59a8f0a.js → PolygonPipeline-21668b3f.js} +1 -1
  21. package/Build/Workers/{PolylinePipeline-d8e6bd9b.js → PolylinePipeline-5e2e1b21.js} +1 -1
  22. package/Build/Workers/{PolylineVolumeGeometryLibrary-125d2edf.js → PolylineVolumeGeometryLibrary-97f0b94e.js} +1 -1
  23. package/Build/Workers/{PrimitivePipeline-0d7b5ed4.js → PrimitivePipeline-5640850a.js} +1 -1
  24. package/Build/Workers/{RectangleGeometryLibrary-0768db63.js → RectangleGeometryLibrary-d5457f7b.js} +1 -1
  25. package/Build/Workers/{TerrainEncoding-06470d7f.js → TerrainEncoding-bfdf2021.js} +1 -1
  26. package/Build/Workers/{Transforms-26539bce.js → Transforms-a05e5e6e.js} +17 -0
  27. package/Build/Workers/{WallGeometryLibrary-6167b0fc.js → WallGeometryLibrary-6db0ebb6.js} +1 -1
  28. package/Build/Workers/cesiumWorkerBootstrapper.js +68 -2
  29. package/Build/Workers/combineGeometry.js +1 -1
  30. package/Build/Workers/createBoxGeometry.js +1 -1
  31. package/Build/Workers/createBoxOutlineGeometry.js +1 -1
  32. package/Build/Workers/createCircleGeometry.js +1 -1
  33. package/Build/Workers/createCircleOutlineGeometry.js +1 -1
  34. package/Build/Workers/createCoplanarPolygonGeometry.js +1 -1
  35. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  36. package/Build/Workers/createCorridorGeometry.js +1 -1
  37. package/Build/Workers/createCorridorOutlineGeometry.js +1 -1
  38. package/Build/Workers/createCylinderGeometry.js +1 -1
  39. package/Build/Workers/createCylinderOutlineGeometry.js +1 -1
  40. package/Build/Workers/createEllipseGeometry.js +1 -1
  41. package/Build/Workers/createEllipseOutlineGeometry.js +1 -1
  42. package/Build/Workers/createEllipsoidGeometry.js +1 -1
  43. package/Build/Workers/createEllipsoidOutlineGeometry.js +1 -1
  44. package/Build/Workers/createFrustumGeometry.js +1 -1
  45. package/Build/Workers/createFrustumOutlineGeometry.js +1 -1
  46. package/Build/Workers/createGeometry.js +1 -1
  47. package/Build/Workers/createGroundPolylineGeometry.js +1 -1
  48. package/Build/Workers/createPlaneGeometry.js +1 -1
  49. package/Build/Workers/createPlaneOutlineGeometry.js +1 -1
  50. package/Build/Workers/createPolygonGeometry.js +1 -1
  51. package/Build/Workers/createPolygonOutlineGeometry.js +1 -1
  52. package/Build/Workers/createPolylineGeometry.js +1 -1
  53. package/Build/Workers/createPolylineVolumeGeometry.js +1 -1
  54. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
  55. package/Build/Workers/createRectangleGeometry.js +1 -1
  56. package/Build/Workers/createRectangleOutlineGeometry.js +1 -1
  57. package/Build/Workers/createSimplePolylineGeometry.js +1 -1
  58. package/Build/Workers/createSphereGeometry.js +1 -1
  59. package/Build/Workers/createSphereOutlineGeometry.js +1 -1
  60. package/Build/Workers/createVectorTileGeometries.js +1 -1
  61. package/Build/Workers/createVectorTilePolygons.js +1 -1
  62. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  63. package/Build/Workers/createVerticesFromHeightmap.js +1 -1
  64. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +1 -1
  65. package/Build/Workers/createWallGeometry.js +1 -1
  66. package/Build/Workers/createWallOutlineGeometry.js +1 -1
  67. package/Build/Workers/decodeDraco.js +9 -1
  68. package/Build/Workers/package.js +1 -1
  69. package/Build/Workers/transcodeKTX2.js +22 -2
  70. package/Build/Workers/transferTypedArrayTest.js +1 -1
  71. package/Build/Workers/upsampleQuantizedTerrainMesh.js +1 -1
  72. package/README.md +14 -16
  73. package/Source/Core/FeatureDetection.js +18 -0
  74. package/Source/Core/Ion.js +1 -2
  75. package/Source/Core/PixelFormat.js +22 -2
  76. package/Source/Core/sampleTerrain.js +5 -0
  77. package/Source/Renderer/AutomaticUniforms.js +3 -3
  78. package/Source/Renderer/Context.js +4 -14
  79. package/Source/Renderer/ShaderBuilder.js +13 -12
  80. package/Source/Renderer/ShaderSource.js +31 -26
  81. package/Source/Renderer/demodernizeShader.js +76 -0
  82. package/Source/Scene/AutoExposure.js +5 -5
  83. package/Source/Scene/BatchTable.js +5 -5
  84. package/Source/Scene/BillboardCollection.js +2 -2
  85. package/Source/Scene/BingMapsImageryProvider.js +1 -1
  86. package/Source/Scene/Cesium3DTile.js +8 -2
  87. package/Source/Scene/Cesium3DTileBatchTable.js +28 -28
  88. package/Source/Scene/Cesium3DTilesVoxelProvider.js +12 -0
  89. package/Source/Scene/Cesium3DTileset.js +6 -1
  90. package/Source/Scene/ClassificationPrimitive.js +3 -8
  91. package/Source/Scene/DebugAppearance.js +7 -9
  92. package/Source/Scene/DebugInspector.js +5 -5
  93. package/Source/Scene/DepthPlane.js +0 -6
  94. package/Source/Scene/DerivedCommand.js +8 -22
  95. package/Source/Scene/EllipsoidPrimitive.js +0 -7
  96. package/Source/Scene/GlobeTranslucencyState.js +6 -6
  97. package/Source/Scene/GroundPolylinePrimitive.js +2 -4
  98. package/Source/Scene/InvertClassification.js +9 -10
  99. package/Source/Scene/Material.js +6 -6
  100. package/Source/Scene/Megatexture.js +2 -2
  101. package/Source/Scene/MetadataSemantic.js +8 -0
  102. package/Source/Scene/Model/CustomShader.js +1 -1
  103. package/Source/Scene/Model/FeatureIdPipelineStage.js +4 -4
  104. package/Source/Scene/Model/LightingModel.js +1 -1
  105. package/Source/Scene/Model/MetadataPipelineStage.js +1 -1
  106. package/Source/Scene/Model/PickingPipelineStage.js +1 -1
  107. package/Source/Scene/OIT.js +211 -119
  108. package/Source/Scene/PickDepth.js +2 -2
  109. package/Source/Scene/PointCloud.js +11 -11
  110. package/Source/Scene/PointCloudEyeDomeLighting.js +9 -4
  111. package/Source/Scene/PolylineCollection.js +2 -7
  112. package/Source/Scene/PolylineMaterialAppearance.js +2 -3
  113. package/Source/Scene/PostProcessStage.js +13 -13
  114. package/Source/Scene/PostProcessStageLibrary.js +3 -3
  115. package/Source/Scene/Primitive.js +22 -31
  116. package/Source/Scene/ShadowMap.js +7 -7
  117. package/Source/Scene/ShadowMapShader.js +9 -9
  118. package/Source/Scene/ShadowVolumeAppearance.js +1 -1
  119. package/Source/Scene/TextureAtlas.js +5 -3
  120. package/Source/Scene/Vector3DTilePolylines.js +1 -1
  121. package/Source/Scene/Vector3DTilePrimitive.js +2 -2
  122. package/Source/Scene/VoxelEllipsoidShape.js +15 -7
  123. package/Source/Scene/VoxelPrimitive.js +4 -4
  124. package/Source/Scene/computeFlyToLocationForRectangle.js +10 -1
  125. package/Source/Scene/createElevationBandMaterial.js +10 -15
  126. package/Source/Scene/getClipAndStyleCode.js +1 -1
  127. package/Source/Scene/getClippingFunction.js +3 -3
  128. package/Source/Scene/processVoxelProperties.js +1 -1
  129. package/Source/Shaders/AdjustTranslucentFS.glsl +9 -6
  130. package/Source/Shaders/AdjustTranslucentFS.js +9 -6
  131. package/Source/Shaders/Appearances/AllMaterialAppearanceFS.glsl +7 -7
  132. package/Source/Shaders/Appearances/AllMaterialAppearanceFS.js +7 -7
  133. package/Source/Shaders/Appearances/AllMaterialAppearanceVS.glsl +12 -12
  134. package/Source/Shaders/Appearances/AllMaterialAppearanceVS.js +12 -12
  135. package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.glsl +4 -4
  136. package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.js +4 -4
  137. package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.glsl +6 -6
  138. package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.js +6 -6
  139. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.glsl +5 -5
  140. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.js +5 -5
  141. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.glsl +7 -7
  142. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.js +7 -7
  143. package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.glsl +4 -4
  144. package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.js +4 -4
  145. package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.glsl +8 -8
  146. package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.js +8 -8
  147. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.glsl +2 -2
  148. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.js +2 -2
  149. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.glsl +5 -5
  150. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.js +5 -5
  151. package/Source/Shaders/Appearances/PolylineColorAppearanceVS.glsl +10 -10
  152. package/Source/Shaders/Appearances/PolylineColorAppearanceVS.js +10 -10
  153. package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.glsl +12 -12
  154. package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.js +12 -12
  155. package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.glsl +5 -5
  156. package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.js +5 -5
  157. package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.glsl +8 -8
  158. package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.js +8 -8
  159. package/Source/Shaders/BillboardCollectionFS.glsl +15 -15
  160. package/Source/Shaders/BillboardCollectionFS.js +15 -15
  161. package/Source/Shaders/BillboardCollectionVS.glsl +23 -23
  162. package/Source/Shaders/BillboardCollectionVS.js +23 -23
  163. package/Source/Shaders/BrdfLutGeneratorFS.glsl +2 -2
  164. package/Source/Shaders/BrdfLutGeneratorFS.js +2 -2
  165. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
  166. package/Source/Shaders/Builtin/Functions/depthClamp.glsl +3 -3
  167. package/Source/Shaders/Builtin/Functions/depthClamp.js +3 -3
  168. package/Source/Shaders/Builtin/Functions/getWaterNoise.glsl +4 -4
  169. package/Source/Shaders/Builtin/Functions/getWaterNoise.js +4 -4
  170. package/Source/Shaders/Builtin/Functions/phong.glsl +1 -1
  171. package/Source/Shaders/Builtin/Functions/phong.js +1 -1
  172. package/Source/Shaders/Builtin/Functions/readDepth.glsl +1 -1
  173. package/Source/Shaders/Builtin/Functions/readDepth.js +1 -1
  174. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +5 -5
  175. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +5 -5
  176. package/Source/Shaders/Builtin/Functions/shadowDepthCompare.glsl +3 -3
  177. package/Source/Shaders/Builtin/Functions/shadowDepthCompare.js +3 -3
  178. package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.glsl +1 -1
  179. package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.js +1 -1
  180. package/Source/Shaders/Builtin/Functions/textureCube.glsl +17 -0
  181. package/Source/Shaders/Builtin/Functions/textureCube.js +18 -0
  182. package/Source/Shaders/Builtin/Functions/translateRelativeToEye.glsl +2 -2
  183. package/Source/Shaders/Builtin/Functions/translateRelativeToEye.js +2 -2
  184. package/Source/Shaders/Builtin/Functions/vertexLogDepth.glsl +2 -2
  185. package/Source/Shaders/Builtin/Functions/vertexLogDepth.js +2 -2
  186. package/Source/Shaders/Builtin/Functions/writeDepthClamp.glsl +5 -8
  187. package/Source/Shaders/Builtin/Functions/writeDepthClamp.js +5 -8
  188. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +6 -6
  189. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +6 -6
  190. package/Source/Shaders/CloudCollectionFS.glsl +18 -18
  191. package/Source/Shaders/CloudCollectionFS.js +18 -18
  192. package/Source/Shaders/CloudCollectionVS.glsl +11 -11
  193. package/Source/Shaders/CloudCollectionVS.js +11 -11
  194. package/Source/Shaders/CloudNoiseFS.glsl +5 -5
  195. package/Source/Shaders/CloudNoiseFS.js +5 -5
  196. package/Source/Shaders/CloudNoiseVS.glsl +2 -2
  197. package/Source/Shaders/CloudNoiseVS.js +2 -2
  198. package/Source/Shaders/CompareAndPackTranslucentDepth.glsl +4 -4
  199. package/Source/Shaders/CompareAndPackTranslucentDepth.js +4 -4
  200. package/Source/Shaders/CompositeOITFS.glsl +6 -6
  201. package/Source/Shaders/CompositeOITFS.js +6 -6
  202. package/Source/Shaders/DepthPlaneFS.glsl +2 -2
  203. package/Source/Shaders/DepthPlaneFS.js +2 -2
  204. package/Source/Shaders/DepthPlaneVS.glsl +2 -2
  205. package/Source/Shaders/DepthPlaneVS.js +2 -2
  206. package/Source/Shaders/EllipsoidFS.glsl +5 -13
  207. package/Source/Shaders/EllipsoidFS.js +6 -14
  208. package/Source/Shaders/EllipsoidVS.glsl +2 -2
  209. package/Source/Shaders/EllipsoidVS.js +2 -2
  210. package/Source/Shaders/FXAA3_11.glsl +4 -4
  211. package/Source/Shaders/FXAA3_11.js +4 -4
  212. package/Source/Shaders/GlobeFS.glsl +15 -15
  213. package/Source/Shaders/GlobeFS.js +15 -15
  214. package/Source/Shaders/GlobeVS.glsl +17 -17
  215. package/Source/Shaders/GlobeVS.js +17 -17
  216. package/Source/Shaders/Materials/AspectRampMaterial.glsl +1 -1
  217. package/Source/Shaders/Materials/AspectRampMaterial.js +1 -1
  218. package/Source/Shaders/Materials/BumpMapMaterial.glsl +3 -3
  219. package/Source/Shaders/Materials/BumpMapMaterial.js +3 -3
  220. package/Source/Shaders/Materials/ElevationBandMaterial.glsl +3 -3
  221. package/Source/Shaders/Materials/ElevationBandMaterial.js +3 -3
  222. package/Source/Shaders/Materials/ElevationContourMaterial.glsl +2 -1
  223. package/Source/Shaders/Materials/ElevationContourMaterial.js +2 -1
  224. package/Source/Shaders/Materials/ElevationRampMaterial.glsl +1 -1
  225. package/Source/Shaders/Materials/ElevationRampMaterial.js +1 -1
  226. package/Source/Shaders/Materials/GridMaterial.glsl +3 -2
  227. package/Source/Shaders/Materials/GridMaterial.js +3 -2
  228. package/Source/Shaders/Materials/NormalMapMaterial.glsl +1 -1
  229. package/Source/Shaders/Materials/NormalMapMaterial.js +1 -1
  230. package/Source/Shaders/Materials/PolylineArrowMaterial.glsl +3 -2
  231. package/Source/Shaders/Materials/PolylineArrowMaterial.js +3 -2
  232. package/Source/Shaders/Materials/PolylineDashMaterial.glsl +1 -1
  233. package/Source/Shaders/Materials/PolylineDashMaterial.js +1 -1
  234. package/Source/Shaders/Materials/PolylineOutlineMaterial.glsl +1 -1
  235. package/Source/Shaders/Materials/PolylineOutlineMaterial.js +1 -1
  236. package/Source/Shaders/Materials/SlopeRampMaterial.glsl +1 -1
  237. package/Source/Shaders/Materials/SlopeRampMaterial.js +1 -1
  238. package/Source/Shaders/Materials/Water.glsl +1 -1
  239. package/Source/Shaders/Materials/Water.js +1 -1
  240. package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +3 -3
  241. package/Source/Shaders/Model/ImageBasedLightingStageFS.js +3 -3
  242. package/Source/Shaders/Model/MaterialStageFS.glsl +10 -10
  243. package/Source/Shaders/Model/MaterialStageFS.js +10 -10
  244. package/Source/Shaders/Model/ModelClippingPlanesStageFS.glsl +3 -3
  245. package/Source/Shaders/Model/ModelClippingPlanesStageFS.js +3 -3
  246. package/Source/Shaders/Model/ModelFS.glsl +1 -1
  247. package/Source/Shaders/Model/ModelFS.js +1 -1
  248. package/Source/Shaders/Model/PrimitiveOutlineStageFS.glsl +3 -3
  249. package/Source/Shaders/Model/PrimitiveOutlineStageFS.js +3 -3
  250. package/Source/Shaders/Model/SelectedFeatureIdStageCommon.glsl +1 -1
  251. package/Source/Shaders/Model/SelectedFeatureIdStageCommon.js +1 -1
  252. package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +8 -8
  253. package/Source/Shaders/OctahedralProjectionAtlasFS.js +8 -8
  254. package/Source/Shaders/OctahedralProjectionFS.glsl +4 -4
  255. package/Source/Shaders/OctahedralProjectionFS.js +4 -4
  256. package/Source/Shaders/OctahedralProjectionVS.glsl +3 -3
  257. package/Source/Shaders/OctahedralProjectionVS.js +3 -3
  258. package/Source/Shaders/PointPrimitiveCollectionFS.glsl +6 -6
  259. package/Source/Shaders/PointPrimitiveCollectionFS.js +6 -6
  260. package/Source/Shaders/PointPrimitiveCollectionVS.glsl +12 -12
  261. package/Source/Shaders/PointPrimitiveCollectionVS.js +12 -12
  262. package/Source/Shaders/PolylineFS.glsl +3 -3
  263. package/Source/Shaders/PolylineFS.js +3 -3
  264. package/Source/Shaders/PolylineShadowVolumeFS.glsl +12 -16
  265. package/Source/Shaders/PolylineShadowVolumeFS.js +12 -16
  266. package/Source/Shaders/PolylineShadowVolumeMorphFS.glsl +8 -8
  267. package/Source/Shaders/PolylineShadowVolumeMorphFS.js +8 -8
  268. package/Source/Shaders/PolylineShadowVolumeMorphVS.glsl +20 -20
  269. package/Source/Shaders/PolylineShadowVolumeMorphVS.js +20 -20
  270. package/Source/Shaders/PolylineShadowVolumeVS.glsl +20 -20
  271. package/Source/Shaders/PolylineShadowVolumeVS.js +20 -20
  272. package/Source/Shaders/PolylineVS.glsl +17 -17
  273. package/Source/Shaders/PolylineVS.js +17 -17
  274. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +4 -4
  275. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +4 -4
  276. package/Source/Shaders/PostProcessStages/AdditiveBlend.glsl +4 -4
  277. package/Source/Shaders/PostProcessStages/AdditiveBlend.js +4 -4
  278. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +4 -4
  279. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +4 -4
  280. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +4 -4
  281. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +4 -4
  282. package/Source/Shaders/PostProcessStages/BlackAndWhite.glsl +4 -4
  283. package/Source/Shaders/PostProcessStages/BlackAndWhite.js +4 -4
  284. package/Source/Shaders/PostProcessStages/BloomComposite.glsl +5 -5
  285. package/Source/Shaders/PostProcessStages/BloomComposite.js +5 -5
  286. package/Source/Shaders/PostProcessStages/BrightPass.glsl +3 -3
  287. package/Source/Shaders/PostProcessStages/BrightPass.js +3 -3
  288. package/Source/Shaders/PostProcessStages/Brightness.glsl +3 -3
  289. package/Source/Shaders/PostProcessStages/Brightness.js +3 -3
  290. package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.glsl +5 -5
  291. package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js +5 -5
  292. package/Source/Shaders/PostProcessStages/ContrastBias.glsl +3 -3
  293. package/Source/Shaders/PostProcessStages/ContrastBias.js +3 -3
  294. package/Source/Shaders/PostProcessStages/DepthOfField.glsl +2 -2
  295. package/Source/Shaders/PostProcessStages/DepthOfField.js +2 -2
  296. package/Source/Shaders/PostProcessStages/DepthView.glsl +2 -2
  297. package/Source/Shaders/PostProcessStages/DepthView.js +2 -2
  298. package/Source/Shaders/PostProcessStages/DepthViewPacked.glsl +3 -3
  299. package/Source/Shaders/PostProcessStages/DepthViewPacked.js +3 -3
  300. package/Source/Shaders/PostProcessStages/EdgeDetection.glsl +7 -7
  301. package/Source/Shaders/PostProcessStages/EdgeDetection.js +7 -7
  302. package/Source/Shaders/PostProcessStages/FXAA.glsl +3 -3
  303. package/Source/Shaders/PostProcessStages/FXAA.js +3 -3
  304. package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +4 -4
  305. package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +4 -4
  306. package/Source/Shaders/PostProcessStages/GaussianBlur1D.glsl +5 -5
  307. package/Source/Shaders/PostProcessStages/GaussianBlur1D.js +5 -5
  308. package/Source/Shaders/PostProcessStages/LensFlare.glsl +13 -13
  309. package/Source/Shaders/PostProcessStages/LensFlare.js +13 -13
  310. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +4 -4
  311. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +4 -4
  312. package/Source/Shaders/PostProcessStages/NightVision.glsl +3 -3
  313. package/Source/Shaders/PostProcessStages/NightVision.js +3 -3
  314. package/Source/Shaders/PostProcessStages/PassThrough.glsl +2 -2
  315. package/Source/Shaders/PostProcessStages/PassThrough.js +2 -2
  316. package/Source/Shaders/PostProcessStages/PassThroughDepth.glsl +2 -2
  317. package/Source/Shaders/PostProcessStages/PassThroughDepth.js +2 -2
  318. package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.glsl +7 -9
  319. package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js +8 -10
  320. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +4 -4
  321. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +4 -4
  322. package/Source/Shaders/PostProcessStages/Silhouette.glsl +4 -4
  323. package/Source/Shaders/PostProcessStages/Silhouette.js +4 -4
  324. package/Source/Shaders/ReprojectWebMercatorFS.glsl +2 -2
  325. package/Source/Shaders/ReprojectWebMercatorFS.js +2 -2
  326. package/Source/Shaders/ReprojectWebMercatorVS.glsl +3 -3
  327. package/Source/Shaders/ReprojectWebMercatorVS.js +3 -3
  328. package/Source/Shaders/ShadowVolumeAppearanceFS.glsl +19 -23
  329. package/Source/Shaders/ShadowVolumeAppearanceFS.js +20 -24
  330. package/Source/Shaders/ShadowVolumeAppearanceVS.glsl +12 -12
  331. package/Source/Shaders/ShadowVolumeAppearanceVS.js +12 -12
  332. package/Source/Shaders/ShadowVolumeFS.glsl +2 -6
  333. package/Source/Shaders/ShadowVolumeFS.js +3 -7
  334. package/Source/Shaders/SkyAtmosphereFS.glsl +6 -6
  335. package/Source/Shaders/SkyAtmosphereFS.js +6 -6
  336. package/Source/Shaders/SkyAtmosphereVS.glsl +6 -6
  337. package/Source/Shaders/SkyAtmosphereVS.js +6 -6
  338. package/Source/Shaders/SkyBoxFS.glsl +3 -3
  339. package/Source/Shaders/SkyBoxFS.js +3 -3
  340. package/Source/Shaders/SkyBoxVS.glsl +2 -2
  341. package/Source/Shaders/SkyBoxVS.js +2 -2
  342. package/Source/Shaders/SunFS.glsl +3 -3
  343. package/Source/Shaders/SunFS.js +3 -3
  344. package/Source/Shaders/SunTextureFS.glsl +2 -2
  345. package/Source/Shaders/SunTextureFS.js +2 -2
  346. package/Source/Shaders/SunVS.glsl +2 -2
  347. package/Source/Shaders/SunVS.js +2 -2
  348. package/Source/Shaders/Vector3DTileClampedPolylinesFS.glsl +9 -13
  349. package/Source/Shaders/Vector3DTileClampedPolylinesFS.js +9 -13
  350. package/Source/Shaders/Vector3DTileClampedPolylinesVS.glsl +12 -12
  351. package/Source/Shaders/Vector3DTileClampedPolylinesVS.js +12 -12
  352. package/Source/Shaders/Vector3DTilePolylinesVS.glsl +5 -5
  353. package/Source/Shaders/Vector3DTilePolylinesVS.js +5 -5
  354. package/Source/Shaders/VectorTileVS.glsl +2 -2
  355. package/Source/Shaders/VectorTileVS.js +2 -2
  356. package/Source/Shaders/ViewportQuadFS.glsl +2 -2
  357. package/Source/Shaders/ViewportQuadFS.js +2 -2
  358. package/Source/Shaders/ViewportQuadVS.glsl +3 -3
  359. package/Source/Shaders/ViewportQuadVS.js +3 -3
  360. package/Source/Shaders/Voxels/IntersectDepth.glsl +1 -1
  361. package/Source/Shaders/Voxels/IntersectDepth.js +1 -1
  362. package/Source/Shaders/Voxels/IntersectEllipsoid.glsl +12 -2
  363. package/Source/Shaders/Voxels/IntersectEllipsoid.js +12 -2
  364. package/Source/Shaders/Voxels/Megatexture.glsl +1 -1
  365. package/Source/Shaders/Voxels/Megatexture.js +1 -1
  366. package/Source/Shaders/Voxels/Octree.glsl +4 -4
  367. package/Source/Shaders/Voxels/Octree.js +4 -4
  368. package/Source/Shaders/Voxels/VoxelFS.glsl +2 -2
  369. package/Source/Shaders/Voxels/VoxelFS.js +2 -2
  370. package/Source/Shaders/Voxels/VoxelVS.glsl +1 -1
  371. package/Source/Shaders/Voxels/VoxelVS.js +1 -1
  372. package/Source/Shaders/Voxels/convertUvToCylinder.glsl +5 -9
  373. package/Source/Shaders/Voxels/convertUvToCylinder.js +5 -9
  374. package/Source/Shaders/Voxels/convertUvToEllipsoid.glsl +3 -6
  375. package/Source/Shaders/Voxels/convertUvToEllipsoid.js +3 -6
  376. package/Source/WorkersES6/decodeDraco.js +9 -1
  377. package/index.d.ts +26 -12
  378. package/index.js +53 -52
  379. package/package.json +1 -1
  380. package/Source/Renderer/modernizeShader.js +0 -242
@@ -1,22 +1,18 @@
1
- #ifdef GL_EXT_frag_depth
2
- #extension GL_EXT_frag_depth : enable
3
- #endif
4
-
5
- varying vec4 v_startPlaneEC;
6
- varying vec4 v_endPlaneEC;
7
- varying vec4 v_rightPlaneEC;
8
- varying float v_halfWidth;
9
- varying vec3 v_volumeUpEC;
1
+ in vec4 v_startPlaneEC;
2
+ in vec4 v_endPlaneEC;
3
+ in vec4 v_rightPlaneEC;
4
+ in float v_halfWidth;
5
+ in vec3 v_volumeUpEC;
10
6
 
11
7
  uniform vec4 u_highlightColor;
12
8
  void main()
13
9
  {
14
- float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture2D(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw)));
10
+ float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw)));
15
11
 
16
12
  // Discard for sky
17
13
  if (logDepthOrDepth == 0.0) {
18
14
  #ifdef DEBUG_SHOW_VOLUME
19
- gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5);
15
+ out_FragColor = vec4(0.0, 0.0, 1.0, 0.5);
20
16
  return;
21
17
  #else // DEBUG_SHOW_VOLUME
22
18
  discard;
@@ -40,13 +36,13 @@ void main()
40
36
 
41
37
  if (abs(widthwiseDistance) > halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) {
42
38
  #ifdef DEBUG_SHOW_VOLUME
43
- gl_FragColor = vec4(logDepthOrDepth, 0.0, 0.0, 0.5);
39
+ out_FragColor = vec4(logDepthOrDepth, 0.0, 0.0, 0.5);
44
40
  return;
45
41
  #else // DEBUG_SHOW_VOLUME
46
42
  discard;
47
43
  #endif // DEBUG_SHOW_VOLUME
48
44
  }
49
- gl_FragColor = u_highlightColor;
45
+ out_FragColor = u_highlightColor;
50
46
 
51
47
  czm_writeDepthClamp();
52
48
  }
@@ -1,23 +1,19 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
- export default "#ifdef GL_EXT_frag_depth\n\
3
- #extension GL_EXT_frag_depth : enable\n\
4
- #endif\n\
5
- \n\
6
- varying vec4 v_startPlaneEC;\n\
7
- varying vec4 v_endPlaneEC;\n\
8
- varying vec4 v_rightPlaneEC;\n\
9
- varying float v_halfWidth;\n\
10
- varying vec3 v_volumeUpEC;\n\
2
+ export default "in vec4 v_startPlaneEC;\n\
3
+ in vec4 v_endPlaneEC;\n\
4
+ in vec4 v_rightPlaneEC;\n\
5
+ in float v_halfWidth;\n\
6
+ in vec3 v_volumeUpEC;\n\
11
7
  \n\
12
8
  uniform vec4 u_highlightColor;\n\
13
9
  void main()\n\
14
10
  {\n\
15
- float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture2D(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw)));\n\
11
+ float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw)));\n\
16
12
  \n\
17
13
  // Discard for sky\n\
18
14
  if (logDepthOrDepth == 0.0) {\n\
19
15
  #ifdef DEBUG_SHOW_VOLUME\n\
20
- gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5);\n\
16
+ out_FragColor = vec4(0.0, 0.0, 1.0, 0.5);\n\
21
17
  return;\n\
22
18
  #else // DEBUG_SHOW_VOLUME\n\
23
19
  discard;\n\
@@ -41,13 +37,13 @@ void main()\n\
41
37
  \n\
42
38
  if (abs(widthwiseDistance) > halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) {\n\
43
39
  #ifdef DEBUG_SHOW_VOLUME\n\
44
- gl_FragColor = vec4(logDepthOrDepth, 0.0, 0.0, 0.5);\n\
40
+ out_FragColor = vec4(logDepthOrDepth, 0.0, 0.0, 0.5);\n\
45
41
  return;\n\
46
42
  #else // DEBUG_SHOW_VOLUME\n\
47
43
  discard;\n\
48
44
  #endif // DEBUG_SHOW_VOLUME\n\
49
45
  }\n\
50
- gl_FragColor = u_highlightColor;\n\
46
+ out_FragColor = u_highlightColor;\n\
51
47
  \n\
52
48
  czm_writeDepthClamp();\n\
53
49
  }\n\
@@ -1,19 +1,19 @@
1
- attribute vec3 startEllipsoidNormal;
2
- attribute vec3 endEllipsoidNormal;
3
- attribute vec4 startPositionAndHeight;
4
- attribute vec4 endPositionAndHeight;
5
- attribute vec4 startFaceNormalAndVertexCorner;
6
- attribute vec4 endFaceNormalAndHalfWidth;
7
- attribute float a_batchId;
1
+ in vec3 startEllipsoidNormal;
2
+ in vec3 endEllipsoidNormal;
3
+ in vec4 startPositionAndHeight;
4
+ in vec4 endPositionAndHeight;
5
+ in vec4 startFaceNormalAndVertexCorner;
6
+ in vec4 endFaceNormalAndHalfWidth;
7
+ in float a_batchId;
8
8
 
9
9
  uniform mat4 u_modifiedModelView;
10
10
  uniform vec2 u_minimumMaximumVectorHeights;
11
11
 
12
- varying vec4 v_startPlaneEC;
13
- varying vec4 v_endPlaneEC;
14
- varying vec4 v_rightPlaneEC;
15
- varying float v_halfWidth;
16
- varying vec3 v_volumeUpEC;
12
+ out vec4 v_startPlaneEC;
13
+ out vec4 v_endPlaneEC;
14
+ out vec4 v_rightPlaneEC;
15
+ out float v_halfWidth;
16
+ out vec3 v_volumeUpEC;
17
17
 
18
18
  void main()
19
19
  {
@@ -1,20 +1,20 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
- export default "attribute vec3 startEllipsoidNormal;\n\
3
- attribute vec3 endEllipsoidNormal;\n\
4
- attribute vec4 startPositionAndHeight;\n\
5
- attribute vec4 endPositionAndHeight;\n\
6
- attribute vec4 startFaceNormalAndVertexCorner;\n\
7
- attribute vec4 endFaceNormalAndHalfWidth;\n\
8
- attribute float a_batchId;\n\
2
+ export default "in vec3 startEllipsoidNormal;\n\
3
+ in vec3 endEllipsoidNormal;\n\
4
+ in vec4 startPositionAndHeight;\n\
5
+ in vec4 endPositionAndHeight;\n\
6
+ in vec4 startFaceNormalAndVertexCorner;\n\
7
+ in vec4 endFaceNormalAndHalfWidth;\n\
8
+ in float a_batchId;\n\
9
9
  \n\
10
10
  uniform mat4 u_modifiedModelView;\n\
11
11
  uniform vec2 u_minimumMaximumVectorHeights;\n\
12
12
  \n\
13
- varying vec4 v_startPlaneEC;\n\
14
- varying vec4 v_endPlaneEC;\n\
15
- varying vec4 v_rightPlaneEC;\n\
16
- varying float v_halfWidth;\n\
17
- varying vec3 v_volumeUpEC;\n\
13
+ out vec4 v_startPlaneEC;\n\
14
+ out vec4 v_endPlaneEC;\n\
15
+ out vec4 v_rightPlaneEC;\n\
16
+ out float v_halfWidth;\n\
17
+ out vec3 v_volumeUpEC;\n\
18
18
  \n\
19
19
  void main()\n\
20
20
  {\n\
@@ -1,8 +1,8 @@
1
- attribute vec4 currentPosition;
2
- attribute vec4 previousPosition;
3
- attribute vec4 nextPosition;
4
- attribute vec2 expandAndWidth;
5
- attribute float a_batchId;
1
+ in vec4 currentPosition;
2
+ in vec4 previousPosition;
3
+ in vec4 nextPosition;
4
+ in vec2 expandAndWidth;
5
+ in float a_batchId;
6
6
 
7
7
  uniform mat4 u_modifiedModelView;
8
8
 
@@ -1,9 +1,9 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
- export default "attribute vec4 currentPosition;\n\
3
- attribute vec4 previousPosition;\n\
4
- attribute vec4 nextPosition;\n\
5
- attribute vec2 expandAndWidth;\n\
6
- attribute float a_batchId;\n\
2
+ export default "in vec4 currentPosition;\n\
3
+ in vec4 previousPosition;\n\
4
+ in vec4 nextPosition;\n\
5
+ in vec2 expandAndWidth;\n\
6
+ in float a_batchId;\n\
7
7
  \n\
8
8
  uniform mat4 u_modifiedModelView;\n\
9
9
  \n\
@@ -1,5 +1,5 @@
1
- attribute vec3 position;
2
- attribute float a_batchId;
1
+ in vec3 position;
2
+ in float a_batchId;
3
3
 
4
4
  uniform mat4 u_modifiedModelViewProjection;
5
5
 
@@ -1,6 +1,6 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
- export default "attribute vec3 position;\n\
3
- attribute float a_batchId;\n\
2
+ export default "in vec3 position;\n\
3
+ in float a_batchId;\n\
4
4
  \n\
5
5
  uniform mat4 u_modifiedModelViewProjection;\n\
6
6
  \n\
@@ -1,5 +1,5 @@
1
1
 
2
- varying vec2 v_textureCoordinates;
2
+ in vec2 v_textureCoordinates;
3
3
 
4
4
  void main()
5
5
  {
@@ -12,5 +12,5 @@ void main()
12
12
 
13
13
  czm_material material = czm_getMaterial(materialInput);
14
14
 
15
- gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);
15
+ out_FragColor = vec4(material.diffuse + material.emission, material.alpha);
16
16
  }
@@ -1,6 +1,6 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
2
  export default "\n\
3
- varying vec2 v_textureCoordinates;\n\
3
+ in vec2 v_textureCoordinates;\n\
4
4
  \n\
5
5
  void main()\n\
6
6
  {\n\
@@ -13,6 +13,6 @@ void main()\n\
13
13
  \n\
14
14
  czm_material material = czm_getMaterial(materialInput);\n\
15
15
  \n\
16
- gl_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n\
16
+ out_FragColor = vec4(material.diffuse + material.emission, material.alpha);\n\
17
17
  }\n\
18
18
  ";
@@ -1,7 +1,7 @@
1
- attribute vec4 position;
2
- attribute vec2 textureCoordinates;
1
+ in vec4 position;
2
+ in vec2 textureCoordinates;
3
3
 
4
- varying vec2 v_textureCoordinates;
4
+ out vec2 v_textureCoordinates;
5
5
 
6
6
  void main()
7
7
  {
@@ -1,8 +1,8 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
- export default "attribute vec4 position;\n\
3
- attribute vec2 textureCoordinates;\n\
2
+ export default "in vec4 position;\n\
3
+ in vec2 textureCoordinates;\n\
4
4
  \n\
5
- varying vec2 v_textureCoordinates;\n\
5
+ out vec2 v_textureCoordinates;\n\
6
6
  \n\
7
7
  void main() \n\
8
8
  {\n\
@@ -8,7 +8,7 @@
8
8
  uniform mat4 u_transformPositionViewToUv;
9
9
 
10
10
  void intersectDepth(vec2 screenCoord, Ray ray, inout Intersections ix) {
11
- float logDepthOrDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, screenCoord));
11
+ float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, screenCoord));
12
12
  if (logDepthOrDepth != 0.0) {
13
13
  // Calculate how far the ray must travel before it hits the depth buffer.
14
14
  vec4 eyeCoordinateDepth = czm_screenToEyeCoordinates(screenCoord, logDepthOrDepth);
@@ -9,7 +9,7 @@ export default "// See IntersectionUtils.glsl for the definitions of Ray, Inters
9
9
  uniform mat4 u_transformPositionViewToUv;\n\
10
10
  \n\
11
11
  void intersectDepth(vec2 screenCoord, Ray ray, inout Intersections ix) {\n\
12
- float logDepthOrDepth = czm_unpackDepth(texture2D(czm_globeDepthTexture, screenCoord));\n\
12
+ float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, screenCoord));\n\
13
13
  if (logDepthOrDepth != 0.0) {\n\
14
14
  // Calculate how far the ray must travel before it hits the depth buffer.\n\
15
15
  vec4 eyeCoordinateDepth = czm_screenToEyeCoordinates(screenCoord, logDepthOrDepth);\n\
@@ -14,6 +14,7 @@
14
14
  #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF
15
15
  #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF
16
16
  #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF
17
+ #define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX
17
18
  #define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN
18
19
  #define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT
19
20
  #define ELLIPSOID_INTERSECTION_INDEX_LONGITUDE
@@ -29,6 +30,9 @@
29
30
  #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF)
30
31
  uniform vec2 u_ellipsoidRenderLatitudeCosSqrHalfMinMax;
31
32
  #endif
33
+ #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX)
34
+ uniform float u_ellipsoidInverseOuterScaleUv;
35
+ #endif
32
36
  #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN)
33
37
  uniform float u_ellipsoidInverseInnerScaleUv;
34
38
  #endif
@@ -230,8 +234,14 @@ void intersectShape(in Ray ray, inout Intersections ix) {
230
234
  ray.pos = ray.pos * 2.0 - 1.0;
231
235
  ray.dir *= 2.0;
232
236
 
237
+ #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX)
238
+ Ray outerRay = Ray(ray.pos * u_ellipsoidInverseOuterScaleUv, ray.dir * u_ellipsoidInverseOuterScaleUv);
239
+ #else
240
+ Ray outerRay = ray;
241
+ #endif
242
+
233
243
  // Outer ellipsoid
234
- vec2 outerIntersect = intersectUnitSphereUnnormalizedDirection(ray);
244
+ vec2 outerIntersect = intersectUnitSphereUnnormalizedDirection(outerRay);
235
245
  setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX, outerIntersect);
236
246
 
237
247
  // Exit early if the outer ellipsoid was missed.
@@ -287,7 +297,7 @@ void intersectShape(in Ray ray, inout Intersections ix) {
287
297
 
288
298
  // Flip the ray because the intersection function expects a cone growing towards +Z.
289
299
  #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF)
290
- Ray flippedRay = ray;
300
+ Ray flippedRay = outerRay;
291
301
  flippedRay.dir.z *= -1.0;
292
302
  flippedRay.pos.z *= -1.0;
293
303
  #endif
@@ -15,6 +15,7 @@ export default "// See IntersectionUtils.glsl for the definitions of Ray, Inters
15
15
  #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF\n\
16
16
  #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF\n\
17
17
  #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF\n\
18
+ #define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX\n\
18
19
  #define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN\n\
19
20
  #define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT\n\
20
21
  #define ELLIPSOID_INTERSECTION_INDEX_LONGITUDE\n\
@@ -30,6 +31,9 @@ export default "// See IntersectionUtils.glsl for the definitions of Ray, Inters
30
31
  #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF)\n\
31
32
  uniform vec2 u_ellipsoidRenderLatitudeCosSqrHalfMinMax;\n\
32
33
  #endif\n\
34
+ #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX)\n\
35
+ uniform float u_ellipsoidInverseOuterScaleUv;\n\
36
+ #endif\n\
33
37
  #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MIN)\n\
34
38
  uniform float u_ellipsoidInverseInnerScaleUv;\n\
35
39
  #endif\n\
@@ -230,9 +234,15 @@ void intersectShape(in Ray ray, inout Intersections ix) {\n\
230
234
  // Direction is scaled as well to be in sync with position.\n\
231
235
  ray.pos = ray.pos * 2.0 - 1.0;\n\
232
236
  ray.dir *= 2.0;\n\
237
+ \n\
238
+ #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_MAX)\n\
239
+ Ray outerRay = Ray(ray.pos * u_ellipsoidInverseOuterScaleUv, ray.dir * u_ellipsoidInverseOuterScaleUv);\n\
240
+ #else\n\
241
+ Ray outerRay = ray;\n\
242
+ #endif\n\
233
243
  \n\
234
244
  // Outer ellipsoid\n\
235
- vec2 outerIntersect = intersectUnitSphereUnnormalizedDirection(ray);\n\
245
+ vec2 outerIntersect = intersectUnitSphereUnnormalizedDirection(outerRay);\n\
236
246
  setIntersectionPair(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX, outerIntersect);\n\
237
247
  \n\
238
248
  // Exit early if the outer ellipsoid was missed.\n\
@@ -288,7 +298,7 @@ void intersectShape(in Ray ray, inout Intersections ix) {\n\
288
298
  \n\
289
299
  // Flip the ray because the intersection function expects a cone growing towards +Z.\n\
290
300
  #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF)\n\
291
- Ray flippedRay = ray;\n\
301
+ Ray flippedRay = outerRay;\n\
292
302
  flippedRay.dir.z *= -1.0;\n\
293
303
  flippedRay.pos.z *= -1.0;\n\
294
304
  #endif\n\
@@ -83,7 +83,7 @@ Properties getPropertiesFromMegatexture(in SampleData sampleData) {
83
83
 
84
84
  #if defined(NEAREST_SAMPLING)
85
85
  // Round to the center of the nearest voxel
86
- voxelCoord = floor(voxelCoord + vec3(0.5));
86
+ voxelCoord = floor(voxelCoord) + vec3(0.5);
87
87
  #endif
88
88
 
89
89
  // Tile location
@@ -84,7 +84,7 @@ Properties getPropertiesFromMegatexture(in SampleData sampleData) {\n\
84
84
  \n\
85
85
  #if defined(NEAREST_SAMPLING)\n\
86
86
  // Round to the center of the nearest voxel\n\
87
- voxelCoord = floor(voxelCoord + vec3(0.5));\n\
87
+ voxelCoord = floor(voxelCoord) + vec3(0.5);\n\
88
88
  #endif\n\
89
89
  \n\
90
90
  // Tile location\n\
@@ -49,7 +49,7 @@ float normU8x2_toFloat(in vec2 value) {
49
49
  }
50
50
 
51
51
  OctreeNodeData getOctreeNodeData(in vec2 octreeUv) {
52
- vec4 texData = texture2D(u_octreeInternalNodeTexture, octreeUv);
52
+ vec4 texData = texture(u_octreeInternalNodeTexture, octreeUv);
53
53
 
54
54
  OctreeNodeData data;
55
55
  data.data = normU8x2_toInt(texData.xy);
@@ -69,7 +69,7 @@ int getOctreeParentIndex(in int octreeIndex) {
69
69
  int octreeCoordX = intMod(octreeIndex, u_octreeInternalNodeTilesPerRow) * 9;
70
70
  int octreeCoordY = octreeIndex / u_octreeInternalNodeTilesPerRow;
71
71
  vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5);
72
- vec4 parentData = texture2D(u_octreeInternalNodeTexture, octreeUv);
72
+ vec4 parentData = texture(u_octreeInternalNodeTexture, octreeUv);
73
73
  int parentOctreeIndex = normU8x2_toInt(parentData.xy);
74
74
  return parentOctreeIndex;
75
75
  }
@@ -106,8 +106,8 @@ void getOctreeLeafSampleDatas(in OctreeNodeData data, out SampleData sampleData0
106
106
 
107
107
  vec2 leafUv0 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 0.0, leafCoordY);
108
108
  vec2 leafUv1 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 1.0, leafCoordY);
109
- vec4 leafData0 = texture2D(u_octreeLeafNodeTexture, leafUv0);
110
- vec4 leafData1 = texture2D(u_octreeLeafNodeTexture, leafUv1);
109
+ vec4 leafData0 = texture(u_octreeLeafNodeTexture, leafUv0);
110
+ vec4 leafData1 = texture(u_octreeLeafNodeTexture, leafUv1);
111
111
 
112
112
  float lerp = normU8x2_toFloat(leafData0.xy);
113
113
 
@@ -50,7 +50,7 @@ float normU8x2_toFloat(in vec2 value) {\n\
50
50
  }\n\
51
51
  \n\
52
52
  OctreeNodeData getOctreeNodeData(in vec2 octreeUv) {\n\
53
- vec4 texData = texture2D(u_octreeInternalNodeTexture, octreeUv);\n\
53
+ vec4 texData = texture(u_octreeInternalNodeTexture, octreeUv);\n\
54
54
  \n\
55
55
  OctreeNodeData data;\n\
56
56
  data.data = normU8x2_toInt(texData.xy);\n\
@@ -70,7 +70,7 @@ int getOctreeParentIndex(in int octreeIndex) {\n\
70
70
  int octreeCoordX = intMod(octreeIndex, u_octreeInternalNodeTilesPerRow) * 9;\n\
71
71
  int octreeCoordY = octreeIndex / u_octreeInternalNodeTilesPerRow;\n\
72
72
  vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5);\n\
73
- vec4 parentData = texture2D(u_octreeInternalNodeTexture, octreeUv);\n\
73
+ vec4 parentData = texture(u_octreeInternalNodeTexture, octreeUv);\n\
74
74
  int parentOctreeIndex = normU8x2_toInt(parentData.xy);\n\
75
75
  return parentOctreeIndex;\n\
76
76
  }\n\
@@ -107,8 +107,8 @@ void getOctreeLeafSampleDatas(in OctreeNodeData data, out SampleData sampleData0
107
107
  \n\
108
108
  vec2 leafUv0 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 0.0, leafCoordY);\n\
109
109
  vec2 leafUv1 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 1.0, leafCoordY);\n\
110
- vec4 leafData0 = texture2D(u_octreeLeafNodeTexture, leafUv0);\n\
111
- vec4 leafData1 = texture2D(u_octreeLeafNodeTexture, leafUv1);\n\
110
+ vec4 leafData0 = texture(u_octreeLeafNodeTexture, leafUv0);\n\
111
+ vec4 leafData1 = texture(u_octreeLeafNodeTexture, leafUv1);\n\
112
112
  \n\
113
113
  float lerp = normU8x2_toFloat(leafData0.xy);\n\
114
114
  \n\
@@ -143,8 +143,8 @@ void main()
143
143
  if (colorAccum.a == 0.0) {
144
144
  discard;
145
145
  }
146
- gl_FragColor = u_pickColor;
146
+ out_FragColor = u_pickColor;
147
147
  #else
148
- gl_FragColor = colorAccum;
148
+ out_FragColor = colorAccum;
149
149
  #endif
150
150
  }
@@ -144,9 +144,9 @@ void main()\n\
144
144
  if (colorAccum.a == 0.0) {\n\
145
145
  discard;\n\
146
146
  }\n\
147
- gl_FragColor = u_pickColor;\n\
147
+ out_FragColor = u_pickColor;\n\
148
148
  #else\n\
149
- gl_FragColor = colorAccum;\n\
149
+ out_FragColor = colorAccum;\n\
150
150
  #endif\n\
151
151
  }\n\
152
152
  ";
@@ -1,4 +1,4 @@
1
- attribute vec2 position;
1
+ in vec2 position;
2
2
 
3
3
  uniform vec4 u_ndcSpaceAxisAlignedBoundingBox;
4
4
 
@@ -1,5 +1,5 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
- export default "attribute vec2 position;\n\
2
+ export default "in vec2 position;\n\
3
3
  \n\
4
4
  uniform vec4 u_ndcSpaceAxisAlignedBoundingBox;\n\
5
5
  \n\
@@ -1,8 +1,4 @@
1
1
  /* Cylinder defines (set in Scene/VoxelCylinderShape.js)
2
- #define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT
3
- #define CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT
4
- #define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO
5
-
6
2
  #define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS
7
3
  #define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT
8
4
  #define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT
@@ -34,8 +30,8 @@ vec3 convertUvToShapeUvSpace(in vec3 positionUv) {
34
30
  vec3 positionLocal = positionUv * 2.0 - 1.0; // [-1,+1]
35
31
 
36
32
  // Compute radius
37
- #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT) || defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT)
38
- float radius = length(positionLocal.xy); // [0,1]
33
+ #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT)
34
+ float radius = 1.0;
39
35
  #else
40
36
  float radius = length(positionLocal.xy); // [0,1]
41
37
  #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS)
@@ -44,8 +40,8 @@ vec3 convertUvToShapeUvSpace(in vec3 positionUv) {
44
40
  #endif
45
41
 
46
42
  // Compute height
47
- #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT) || defined(CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT)
48
- float height = positionUv.z; // [0,1]
43
+ #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT)
44
+ float height = 1.0;
49
45
  #else
50
46
  float height = positionUv.z; // [0,1]
51
47
  #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT)
@@ -54,7 +50,7 @@ vec3 convertUvToShapeUvSpace(in vec3 positionUv) {
54
50
  #endif
55
51
 
56
52
  // Compute angle
57
- #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO) || defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO)
53
+ #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO)
58
54
  float angle = 1.0;
59
55
  #else
60
56
  float angle = (atan(positionLocal.y, positionLocal.x) + czm_pi) / czm_twoPi; // [0,1]
@@ -1,9 +1,5 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
2
  export default "/* Cylinder defines (set in Scene/VoxelCylinderShape.js)\n\
3
- #define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT\n\
4
- #define CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT\n\
5
- #define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO\n\
6
- \n\
7
3
  #define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS\n\
8
4
  #define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT\n\
9
5
  #define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT\n\
@@ -35,8 +31,8 @@ vec3 convertUvToShapeUvSpace(in vec3 positionUv) {\n\
35
31
  vec3 positionLocal = positionUv * 2.0 - 1.0; // [-1,+1]\n\
36
32
  \n\
37
33
  // Compute radius\n\
38
- #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT) || defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT)\n\
39
- float radius = length(positionLocal.xy); // [0,1]\n\
34
+ #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS_FLAT)\n\
35
+ float radius = 1.0;\n\
40
36
  #else\n\
41
37
  float radius = length(positionLocal.xy); // [0,1]\n\
42
38
  #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS)\n\
@@ -45,8 +41,8 @@ vec3 convertUvToShapeUvSpace(in vec3 positionUv) {\n\
45
41
  #endif\n\
46
42
  \n\
47
43
  // Compute height\n\
48
- #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT) || defined(CYLINDER_HAS_RENDER_BOUNDS_HEIGHT_FLAT)\n\
49
- float height = positionUv.z; // [0,1]\n\
44
+ #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT_FLAT)\n\
45
+ float height = 1.0;\n\
50
46
  #else\n\
51
47
  float height = positionUv.z; // [0,1]\n\
52
48
  #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT)\n\
@@ -55,7 +51,7 @@ vec3 convertUvToShapeUvSpace(in vec3 positionUv) {\n\
55
51
  #endif\n\
56
52
  \n\
57
53
  // Compute angle\n\
58
- #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO) || defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO)\n\
54
+ #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_RANGE_EQUAL_ZERO)\n\
59
55
  float angle = 1.0;\n\
60
56
  #else\n\
61
57
  float angle = (atan(positionLocal.y, positionLocal.x) + czm_pi) / czm_twoPi; // [0,1]\n\
@@ -1,14 +1,11 @@
1
1
  /* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js)
2
- #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO
3
2
  #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY
4
3
  #define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY
5
4
  #define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE
6
5
  #define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO
7
6
  #define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED
8
- #define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO
9
7
  #define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE
10
8
  #define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO
11
- #define ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT
12
9
  #define ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_MIN
13
10
  #define ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT
14
11
  #define ELLIPSOID_IS_SPHERE
@@ -69,7 +66,7 @@ vec3 convertUvToShapeUvSpace(in vec3 positionUv) {
69
66
  #endif
70
67
 
71
68
  // Compute longitude
72
- #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO)
69
+ #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO)
73
70
  float longitude = 1.0;
74
71
  #else
75
72
  float longitude = (atan(normal.y, normal.x) + czm_pi) / czm_twoPi;
@@ -94,7 +91,7 @@ vec3 convertUvToShapeUvSpace(in vec3 positionUv) {
94
91
  #endif
95
92
 
96
93
  // Compute latitude
97
- #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO)
94
+ #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE_RANGE_EQUAL_ZERO)
98
95
  float latitude = 1.0;
99
96
  #else
100
97
  float latitude = (asin(normal.z) + czm_piOverTwo) / czm_pi;
@@ -104,7 +101,7 @@ vec3 convertUvToShapeUvSpace(in vec3 positionUv) {
104
101
  #endif
105
102
 
106
103
  // Compute height
107
- #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_HEIGHT_FLAT)
104
+ #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_HEIGHT_FLAT)
108
105
  // TODO: This breaks down when minBounds == maxBounds. To fix it, this
109
106
  // function would have to know if ray is intersecting the front or back of the shape
110
107
  // and set the shape space position to 1 (front) or 0 (back) accordingly.