@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
@@ -0,0 +1,17 @@
1
+ /**
2
+ * A wrapper around the texture (WebGL2) / textureCube (WebGL1)
3
+ * function to allow for WebGL 1 support.
4
+ *
5
+ * @name czm_textureCube
6
+ * @glslFunction
7
+ *
8
+ * @param {samplerCube} sampler The sampler.
9
+ * @param {vec3} p The coordinates to sample the texture at.
10
+ */
11
+ vec4 czm_textureCube(samplerCube sampler, vec3 p) {
12
+ #if __VERSION__ == 300
13
+ return texture(sampler, p);
14
+ #else
15
+ return textureCube(sampler, p);
16
+ #endif
17
+ }
@@ -0,0 +1,18 @@
1
+ //This file is automatically rebuilt by the Cesium build process.
2
+ export default "/**\n\
3
+ * A wrapper around the texture (WebGL2) / textureCube (WebGL1)\n\
4
+ * function to allow for WebGL 1 support.\n\
5
+ * \n\
6
+ * @name czm_textureCube\n\
7
+ * @glslFunction\n\
8
+ *\n\
9
+ * @param {samplerCube} sampler The sampler.\n\
10
+ * @param {vec3} p The coordinates to sample the texture at.\n\
11
+ */\n\
12
+ vec4 czm_textureCube(samplerCube sampler, vec3 p) {\n\
13
+ #if __VERSION__ == 300\n\
14
+ return texture(sampler, p);\n\
15
+ #else \n\
16
+ return textureCube(sampler, p);\n\
17
+ #endif\n\
18
+ }";
@@ -17,8 +17,8 @@
17
17
  * @returns {vec3} The position translated to be relative to the camera's position.
18
18
  *
19
19
  * @example
20
- * attribute vec3 positionHigh;
21
- * attribute vec3 positionLow;
20
+ * in vec3 positionHigh;
21
+ * in vec3 positionLow;
22
22
  *
23
23
  * void main()
24
24
  * {
@@ -18,8 +18,8 @@ export default "/**\n\
18
18
  * @returns {vec3} The position translated to be relative to the camera's position.\n\
19
19
  *\n\
20
20
  * @example\n\
21
- * attribute vec3 positionHigh;\n\
22
- * attribute vec3 positionLow;\n\
21
+ * in vec3 positionHigh;\n\
22
+ * in vec3 positionLow;\n\
23
23
  *\n\
24
24
  * void main()\n\
25
25
  * {\n\
@@ -1,8 +1,8 @@
1
1
  #ifdef LOG_DEPTH
2
2
  // 1.0 at the near plane, increasing linearly from there.
3
- varying float v_depthFromNearPlusOne;
3
+ out float v_depthFromNearPlusOne;
4
4
  #ifdef SHADOW_MAP
5
- varying vec3 v_logPositionEC;
5
+ out vec3 v_logPositionEC;
6
6
  #endif
7
7
  #endif
8
8
 
@@ -1,9 +1,9 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
2
  export default "#ifdef LOG_DEPTH\n\
3
3
  // 1.0 at the near plane, increasing linearly from there.\n\
4
- varying float v_depthFromNearPlusOne;\n\
4
+ out float v_depthFromNearPlusOne;\n\
5
5
  #ifdef SHADOW_MAP\n\
6
- varying vec3 v_logPositionEC;\n\
6
+ out vec3 v_logPositionEC;\n\
7
7
  #endif\n\
8
8
  #endif\n\
9
9
  \n\
@@ -1,27 +1,24 @@
1
1
  // emulated noperspective
2
- #if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH)
3
- varying float v_WindowZ;
2
+ #if !defined(LOG_DEPTH)
3
+ in float v_WindowZ;
4
4
  #endif
5
5
 
6
6
  /**
7
7
  * Emulates GL_DEPTH_CLAMP. Clamps a fragment to the near and far plane
8
8
  * by writing the fragment's depth. See czm_depthClamp for more details.
9
- * <p>
10
- * The shader must enable the GL_EXT_frag_depth extension.
11
- * </p>
12
9
  *
13
10
  * @name czm_writeDepthClamp
14
11
  * @glslFunction
15
12
  *
16
13
  * @example
17
- * gl_FragColor = color;
14
+ * out_FragColor = color;
18
15
  * czm_writeDepthClamp();
19
16
  *
20
17
  * @see czm_depthClamp
21
18
  */
22
19
  void czm_writeDepthClamp()
23
20
  {
24
- #if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH)
25
- gl_FragDepthEXT = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0);
21
+ #if (!defined(LOG_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth)))
22
+ gl_FragDepth = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0);
26
23
  #endif
27
24
  }
@@ -1,29 +1,26 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
2
  export default "// emulated noperspective\n\
3
- #if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH)\n\
4
- varying float v_WindowZ;\n\
3
+ #if !defined(LOG_DEPTH)\n\
4
+ in float v_WindowZ;\n\
5
5
  #endif\n\
6
6
  \n\
7
7
  /**\n\
8
8
  * Emulates GL_DEPTH_CLAMP. Clamps a fragment to the near and far plane\n\
9
9
  * by writing the fragment's depth. See czm_depthClamp for more details.\n\
10
- * <p>\n\
11
- * The shader must enable the GL_EXT_frag_depth extension.\n\
12
- * </p>\n\
13
10
  *\n\
14
11
  * @name czm_writeDepthClamp\n\
15
12
  * @glslFunction\n\
16
13
  *\n\
17
14
  * @example\n\
18
- * gl_FragColor = color;\n\
15
+ * out_FragColor = color;\n\
19
16
  * czm_writeDepthClamp();\n\
20
17
  *\n\
21
18
  * @see czm_depthClamp\n\
22
19
  */\n\
23
20
  void czm_writeDepthClamp()\n\
24
21
  {\n\
25
- #if defined(GL_EXT_frag_depth) && !defined(LOG_DEPTH)\n\
26
- gl_FragDepthEXT = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0);\n\
22
+ #if (!defined(LOG_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth)))\n\
23
+ gl_FragDepth = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0);\n\
27
24
  #endif\n\
28
25
  }\n\
29
26
  ";
@@ -1,5 +1,5 @@
1
1
  #ifdef LOG_DEPTH
2
- varying float v_depthFromNearPlusOne;
2
+ in float v_depthFromNearPlusOne;
3
3
 
4
4
  #ifdef POLYGON_OFFSET
5
5
  uniform vec2 u_polygonOffset;
@@ -27,7 +27,7 @@ uniform vec2 u_polygonOffset;
27
27
  */
28
28
  void czm_writeLogDepth(float depth)
29
29
  {
30
- #if defined(GL_EXT_frag_depth) && defined(LOG_DEPTH)
30
+ #if (defined(LOG_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth)))
31
31
  // Discard the vertex if it's not between the near and far planes.
32
32
  // We allow a bit of epsilon on the near plane comparison because a 1.0
33
33
  // from the vertex shader (indicating the vertex should be _on_ the near
@@ -41,8 +41,8 @@ void czm_writeLogDepth(float depth)
41
41
  float factor = u_polygonOffset[0];
42
42
  float units = u_polygonOffset[1];
43
43
 
44
- // If we can't compute derivatives, just leave out the factor I guess?
45
- #ifdef GL_OES_standard_derivatives
44
+ #if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives))
45
+ // This factor doesn't work in IE 10
46
46
  if (factor != 0.0) {
47
47
  // m = sqrt(dZdX^2 + dZdY^2);
48
48
  float x = dFdx(depth);
@@ -56,11 +56,11 @@ void czm_writeLogDepth(float depth)
56
56
 
57
57
  #endif
58
58
 
59
- gl_FragDepthEXT = log2(depth) * czm_oneOverLog2FarDepthFromNearPlusOne;
59
+ gl_FragDepth = log2(depth) * czm_oneOverLog2FarDepthFromNearPlusOne;
60
60
 
61
61
  #ifdef POLYGON_OFFSET
62
62
  // Apply the units after the log depth.
63
- gl_FragDepthEXT += czm_epsilon7 * units;
63
+ gl_FragDepth += czm_epsilon7 * units;
64
64
  #endif
65
65
 
66
66
  #endif
@@ -1,6 +1,6 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
2
  export default "#ifdef LOG_DEPTH\n\
3
- varying float v_depthFromNearPlusOne;\n\
3
+ in float v_depthFromNearPlusOne;\n\
4
4
  \n\
5
5
  #ifdef POLYGON_OFFSET\n\
6
6
  uniform vec2 u_polygonOffset;\n\
@@ -28,7 +28,7 @@ uniform vec2 u_polygonOffset;\n\
28
28
  */\n\
29
29
  void czm_writeLogDepth(float depth)\n\
30
30
  {\n\
31
- #if defined(GL_EXT_frag_depth) && defined(LOG_DEPTH)\n\
31
+ #if (defined(LOG_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth)))\n\
32
32
  // Discard the vertex if it's not between the near and far planes.\n\
33
33
  // We allow a bit of epsilon on the near plane comparison because a 1.0\n\
34
34
  // from the vertex shader (indicating the vertex should be _on_ the near\n\
@@ -42,8 +42,8 @@ void czm_writeLogDepth(float depth)\n\
42
42
  float factor = u_polygonOffset[0];\n\
43
43
  float units = u_polygonOffset[1];\n\
44
44
  \n\
45
- // If we can't compute derivatives, just leave out the factor I guess?\n\
46
- #ifdef GL_OES_standard_derivatives\n\
45
+ #if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives))\n\
46
+ // This factor doesn't work in IE 10\n\
47
47
  if (factor != 0.0) {\n\
48
48
  // m = sqrt(dZdX^2 + dZdY^2);\n\
49
49
  float x = dFdx(depth);\n\
@@ -57,11 +57,11 @@ void czm_writeLogDepth(float depth)\n\
57
57
  \n\
58
58
  #endif\n\
59
59
  \n\
60
- gl_FragDepthEXT = log2(depth) * czm_oneOverLog2FarDepthFromNearPlusOne;\n\
60
+ gl_FragDepth = log2(depth) * czm_oneOverLog2FarDepthFromNearPlusOne;\n\
61
61
  \n\
62
62
  #ifdef POLYGON_OFFSET\n\
63
63
  // Apply the units after the log depth.\n\
64
- gl_FragDepthEXT += czm_epsilon7 * units;\n\
64
+ gl_FragDepth += czm_epsilon7 * units;\n\
65
65
  #endif\n\
66
66
  \n\
67
67
  #endif\n\
@@ -1,11 +1,11 @@
1
1
  uniform sampler2D u_noiseTexture;
2
2
  uniform vec3 u_noiseTextureDimensions;
3
3
  uniform float u_noiseDetail;
4
- varying vec2 v_offset;
5
- varying vec3 v_maximumSize;
6
- varying vec4 v_color;
7
- varying float v_slice;
8
- varying float v_brightness;
4
+ in vec2 v_offset;
5
+ in vec3 v_maximumSize;
6
+ in vec4 v_color;
7
+ in float v_slice;
8
+ in float v_brightness;
9
9
 
10
10
  float wrap(float value, float rangeLength) {
11
11
  if(value < 0.0) {
@@ -22,15 +22,14 @@ vec3 wrapVec(vec3 value, float rangeLength) {
22
22
  wrap(value.z, rangeLength));
23
23
  }
24
24
 
25
- float textureSliceWidth = u_noiseTextureDimensions.x;
26
- float noiseTextureRows = u_noiseTextureDimensions.y;
27
- float inverseNoiseTextureRows = u_noiseTextureDimensions.z;
28
-
29
- float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth;
30
- vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared,
31
- inverseNoiseTextureRows / textureSliceWidth);
32
-
33
25
  vec2 voxelToUV(vec3 voxelIndex) {
26
+ float textureSliceWidth = u_noiseTextureDimensions.x;
27
+ float noiseTextureRows = u_noiseTextureDimensions.y;
28
+ float inverseNoiseTextureRows = u_noiseTextureDimensions.z;
29
+
30
+ float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth;
31
+ vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared,
32
+ inverseNoiseTextureRows / textureSliceWidth);
34
33
  vec3 wrappedIndex = wrapVec(voxelIndex, textureSliceWidth);
35
34
  float column = mod(wrappedIndex.z, textureSliceWidth * inverseNoiseTextureRows);
36
35
  float row = floor(wrappedIndex.z / textureSliceWidth * noiseTextureRows);
@@ -44,12 +43,13 @@ vec2 voxelToUV(vec3 voxelIndex) {
44
43
  vec4 lerpSamplesX(vec3 voxelIndex, float x) {
45
44
  vec2 uv0 = voxelToUV(voxelIndex);
46
45
  vec2 uv1 = voxelToUV(voxelIndex + vec3(1.0, 0.0, 0.0));
47
- vec4 sample0 = texture2D(u_noiseTexture, uv0);
48
- vec4 sample1 = texture2D(u_noiseTexture, uv1);
46
+ vec4 sample0 = texture(u_noiseTexture, uv0);
47
+ vec4 sample1 = texture(u_noiseTexture, uv1);
49
48
  return mix(sample0, sample1, x);
50
49
  }
51
50
 
52
51
  vec4 sampleNoiseTexture(vec3 position) {
52
+ float textureSliceWidth = u_noiseTextureDimensions.x;
53
53
  vec3 recenteredPos = position + vec3(textureSliceWidth / 2.0);
54
54
  vec3 lerpValue = fract(recenteredPos);
55
55
  vec3 voxelIndex = floor(recenteredPos);
@@ -231,7 +231,7 @@ vec4 drawCloud(vec3 rayOrigin, vec3 rayDir, vec3 cloudCenter, vec3 cloudScale, f
231
231
 
232
232
  void main() {
233
233
  #ifdef DEBUG_BILLBOARDS
234
- gl_FragColor = vec4(0.0, 0.5, 0.5, 1.0);
234
+ out_FragColor = vec4(0.0, 0.5, 0.5, 1.0);
235
235
  #endif
236
236
  // To avoid calculations with high values,
237
237
  // we raycast from an arbitrarily smaller space.
@@ -248,7 +248,7 @@ void main() {
248
248
  vec3 point, normal;
249
249
  if(intersectEllipsoid(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice,
250
250
  point, normal)) {
251
- gl_FragColor = v_brightness * v_color;
251
+ out_FragColor = v_brightness * v_color;
252
252
  }
253
253
  #else
254
254
  #ifndef DEBUG_BILLBOARDS
@@ -257,7 +257,7 @@ void main() {
257
257
  if(cloud.w < 0.01) {
258
258
  discard;
259
259
  }
260
- gl_FragColor = cloud;
260
+ out_FragColor = cloud;
261
261
  #endif
262
262
  #endif
263
263
  }
@@ -2,11 +2,11 @@
2
2
  export default "uniform sampler2D u_noiseTexture;\n\
3
3
  uniform vec3 u_noiseTextureDimensions;\n\
4
4
  uniform float u_noiseDetail;\n\
5
- varying vec2 v_offset;\n\
6
- varying vec3 v_maximumSize;\n\
7
- varying vec4 v_color;\n\
8
- varying float v_slice;\n\
9
- varying float v_brightness;\n\
5
+ in vec2 v_offset;\n\
6
+ in vec3 v_maximumSize;\n\
7
+ in vec4 v_color;\n\
8
+ in float v_slice;\n\
9
+ in float v_brightness;\n\
10
10
  \n\
11
11
  float wrap(float value, float rangeLength) {\n\
12
12
  if(value < 0.0) {\n\
@@ -23,15 +23,14 @@ vec3 wrapVec(vec3 value, float rangeLength) {\n\
23
23
  wrap(value.z, rangeLength));\n\
24
24
  }\n\
25
25
  \n\
26
- float textureSliceWidth = u_noiseTextureDimensions.x;\n\
27
- float noiseTextureRows = u_noiseTextureDimensions.y;\n\
28
- float inverseNoiseTextureRows = u_noiseTextureDimensions.z;\n\
29
- \n\
30
- float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth;\n\
31
- vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared,\n\
32
- inverseNoiseTextureRows / textureSliceWidth);\n\
33
- \n\
34
26
  vec2 voxelToUV(vec3 voxelIndex) {\n\
27
+ float textureSliceWidth = u_noiseTextureDimensions.x;\n\
28
+ float noiseTextureRows = u_noiseTextureDimensions.y;\n\
29
+ float inverseNoiseTextureRows = u_noiseTextureDimensions.z;\n\
30
+ \n\
31
+ float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth;\n\
32
+ vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared,\n\
33
+ inverseNoiseTextureRows / textureSliceWidth);\n\
35
34
  vec3 wrappedIndex = wrapVec(voxelIndex, textureSliceWidth);\n\
36
35
  float column = mod(wrappedIndex.z, textureSliceWidth * inverseNoiseTextureRows);\n\
37
36
  float row = floor(wrappedIndex.z / textureSliceWidth * noiseTextureRows);\n\
@@ -45,12 +44,13 @@ vec2 voxelToUV(vec3 voxelIndex) {\n\
45
44
  vec4 lerpSamplesX(vec3 voxelIndex, float x) {\n\
46
45
  vec2 uv0 = voxelToUV(voxelIndex);\n\
47
46
  vec2 uv1 = voxelToUV(voxelIndex + vec3(1.0, 0.0, 0.0));\n\
48
- vec4 sample0 = texture2D(u_noiseTexture, uv0);\n\
49
- vec4 sample1 = texture2D(u_noiseTexture, uv1);\n\
47
+ vec4 sample0 = texture(u_noiseTexture, uv0);\n\
48
+ vec4 sample1 = texture(u_noiseTexture, uv1);\n\
50
49
  return mix(sample0, sample1, x);\n\
51
50
  }\n\
52
51
  \n\
53
52
  vec4 sampleNoiseTexture(vec3 position) {\n\
53
+ float textureSliceWidth = u_noiseTextureDimensions.x;\n\
54
54
  vec3 recenteredPos = position + vec3(textureSliceWidth / 2.0);\n\
55
55
  vec3 lerpValue = fract(recenteredPos);\n\
56
56
  vec3 voxelIndex = floor(recenteredPos);\n\
@@ -232,7 +232,7 @@ vec4 drawCloud(vec3 rayOrigin, vec3 rayDir, vec3 cloudCenter, vec3 cloudScale, f
232
232
  \n\
233
233
  void main() {\n\
234
234
  #ifdef DEBUG_BILLBOARDS\n\
235
- gl_FragColor = vec4(0.0, 0.5, 0.5, 1.0);\n\
235
+ out_FragColor = vec4(0.0, 0.5, 0.5, 1.0);\n\
236
236
  #endif\n\
237
237
  // To avoid calculations with high values,\n\
238
238
  // we raycast from an arbitrarily smaller space.\n\
@@ -249,7 +249,7 @@ void main() {\n\
249
249
  vec3 point, normal;\n\
250
250
  if(intersectEllipsoid(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice,\n\
251
251
  point, normal)) {\n\
252
- gl_FragColor = v_brightness * v_color;\n\
252
+ out_FragColor = v_brightness * v_color;\n\
253
253
  }\n\
254
254
  #else\n\
255
255
  #ifndef DEBUG_BILLBOARDS\n\
@@ -258,7 +258,7 @@ void main() {\n\
258
258
  if(cloud.w < 0.01) {\n\
259
259
  discard;\n\
260
260
  }\n\
261
- gl_FragColor = cloud;\n\
261
+ out_FragColor = cloud;\n\
262
262
  #endif\n\
263
263
  #endif\n\
264
264
  }\n\
@@ -1,17 +1,17 @@
1
1
  #ifdef INSTANCED
2
- attribute vec2 direction;
2
+ in vec2 direction;
3
3
  #endif
4
- attribute vec4 positionHighAndScaleX;
5
- attribute vec4 positionLowAndScaleY;
6
- attribute vec4 packedAttribute0;
7
- attribute vec4 packedAttribute1;
8
- attribute vec4 color;
4
+ in vec4 positionHighAndScaleX;
5
+ in vec4 positionLowAndScaleY;
6
+ in vec4 packedAttribute0;
7
+ in vec4 packedAttribute1;
8
+ in vec4 color;
9
9
 
10
- varying vec2 v_offset;
11
- varying vec3 v_maximumSize;
12
- varying vec4 v_color;
13
- varying float v_slice;
14
- varying float v_brightness;
10
+ out vec2 v_offset;
11
+ out vec3 v_maximumSize;
12
+ out vec4 v_color;
13
+ out float v_slice;
14
+ out float v_brightness;
15
15
 
16
16
  void main() {
17
17
  // Unpack attributes.
@@ -1,18 +1,18 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
2
  export default "#ifdef INSTANCED\n\
3
- attribute vec2 direction;\n\
3
+ in vec2 direction;\n\
4
4
  #endif\n\
5
- attribute vec4 positionHighAndScaleX;\n\
6
- attribute vec4 positionLowAndScaleY;\n\
7
- attribute vec4 packedAttribute0;\n\
8
- attribute vec4 packedAttribute1;\n\
9
- attribute vec4 color;\n\
5
+ in vec4 positionHighAndScaleX;\n\
6
+ in vec4 positionLowAndScaleY;\n\
7
+ in vec4 packedAttribute0;\n\
8
+ in vec4 packedAttribute1;\n\
9
+ in vec4 color;\n\
10
10
  \n\
11
- varying vec2 v_offset;\n\
12
- varying vec3 v_maximumSize;\n\
13
- varying vec4 v_color;\n\
14
- varying float v_slice;\n\
15
- varying float v_brightness;\n\
11
+ out vec2 v_offset;\n\
12
+ out vec3 v_maximumSize;\n\
13
+ out vec4 v_color;\n\
14
+ out float v_slice;\n\
15
+ out float v_brightness;\n\
16
16
  \n\
17
17
  void main() {\n\
18
18
  // Unpack attributes.\n\
@@ -1,10 +1,7 @@
1
1
  uniform vec3 u_noiseTextureDimensions;
2
2
  uniform float u_noiseDetail;
3
3
  uniform vec3 u_noiseOffset;
4
- varying vec2 v_position;
5
-
6
- float textureSliceWidth = u_noiseTextureDimensions.x;
7
- float inverseNoiseTextureRows = u_noiseTextureDimensions.z;
4
+ in vec2 v_position;
8
5
 
9
6
  float wrap(float value, float rangeLength) {
10
7
  if(value < 0.0) {
@@ -30,6 +27,7 @@ vec3 random3(vec3 p) {
30
27
  // Frequency corresponds to cell size.
31
28
  // The higher the frequency, the smaller the cell size.
32
29
  vec3 getWorleyCellPoint(vec3 centerCell, vec3 offset, float freq) {
30
+ float textureSliceWidth = u_noiseTextureDimensions.x;
33
31
  vec3 cell = centerCell + offset;
34
32
  cell = wrapVec(cell, textureSliceWidth / u_noiseDetail);
35
33
  cell += floor(u_noiseOffset / u_noiseDetail);
@@ -78,6 +76,8 @@ float worleyFBMNoise(vec3 p, float octaves, float scale) {
78
76
  }
79
77
 
80
78
  void main() {
79
+ float textureSliceWidth = u_noiseTextureDimensions.x;
80
+ float inverseNoiseTextureRows = u_noiseTextureDimensions.z;
81
81
  float x = mod(v_position.x, textureSliceWidth);
82
82
  float y = mod(v_position.y, textureSliceWidth);
83
83
  float sliceRow = floor(v_position.y / textureSliceWidth);
@@ -88,5 +88,5 @@ void main() {
88
88
  float worley0 = clamp(worleyFBMNoise(position, 3.0, 1.0), 0.0, 1.0);
89
89
  float worley1 = clamp(worleyFBMNoise(position, 3.0, 2.0), 0.0, 1.0);
90
90
  float worley2 = clamp(worleyFBMNoise(position, 3.0, 3.0), 0.0, 1.0);
91
- gl_FragColor = vec4(worley0, worley1, worley2, 1.0);
91
+ out_FragColor = vec4(worley0, worley1, worley2, 1.0);
92
92
  }
@@ -2,10 +2,7 @@
2
2
  export default "uniform vec3 u_noiseTextureDimensions;\n\
3
3
  uniform float u_noiseDetail;\n\
4
4
  uniform vec3 u_noiseOffset;\n\
5
- varying vec2 v_position;\n\
6
- \n\
7
- float textureSliceWidth = u_noiseTextureDimensions.x;\n\
8
- float inverseNoiseTextureRows = u_noiseTextureDimensions.z;\n\
5
+ in vec2 v_position;\n\
9
6
  \n\
10
7
  float wrap(float value, float rangeLength) {\n\
11
8
  if(value < 0.0) {\n\
@@ -31,6 +28,7 @@ vec3 random3(vec3 p) {\n\
31
28
  // Frequency corresponds to cell size.\n\
32
29
  // The higher the frequency, the smaller the cell size.\n\
33
30
  vec3 getWorleyCellPoint(vec3 centerCell, vec3 offset, float freq) {\n\
31
+ float textureSliceWidth = u_noiseTextureDimensions.x;\n\
34
32
  vec3 cell = centerCell + offset;\n\
35
33
  cell = wrapVec(cell, textureSliceWidth / u_noiseDetail);\n\
36
34
  cell += floor(u_noiseOffset / u_noiseDetail);\n\
@@ -79,6 +77,8 @@ float worleyFBMNoise(vec3 p, float octaves, float scale) {\n\
79
77
  }\n\
80
78
  \n\
81
79
  void main() {\n\
80
+ float textureSliceWidth = u_noiseTextureDimensions.x;\n\
81
+ float inverseNoiseTextureRows = u_noiseTextureDimensions.z;\n\
82
82
  float x = mod(v_position.x, textureSliceWidth);\n\
83
83
  float y = mod(v_position.y, textureSliceWidth);\n\
84
84
  float sliceRow = floor(v_position.y / textureSliceWidth);\n\
@@ -89,6 +89,6 @@ void main() {\n\
89
89
  float worley0 = clamp(worleyFBMNoise(position, 3.0, 1.0), 0.0, 1.0);\n\
90
90
  float worley1 = clamp(worleyFBMNoise(position, 3.0, 2.0), 0.0, 1.0);\n\
91
91
  float worley2 = clamp(worleyFBMNoise(position, 3.0, 3.0), 0.0, 1.0);\n\
92
- gl_FragColor = vec4(worley0, worley1, worley2, 1.0);\n\
92
+ out_FragColor = vec4(worley0, worley1, worley2, 1.0);\n\
93
93
  }\n\
94
94
  ";
@@ -1,7 +1,7 @@
1
1
  uniform vec3 u_noiseTextureDimensions;
2
- attribute vec2 position;
2
+ in vec2 position;
3
3
 
4
- varying vec2 v_position;
4
+ out vec2 v_position;
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
2
  export default "uniform vec3 u_noiseTextureDimensions;\n\
3
- attribute vec2 position;\n\
3
+ in vec2 position;\n\
4
4
  \n\
5
- varying vec2 v_position;\n\
5
+ out vec2 v_position;\n\
6
6
  \n\
7
7
  void main()\n\
8
8
  {\n\
@@ -1,12 +1,12 @@
1
1
  uniform sampler2D u_opaqueDepthTexture;
2
2
  uniform sampler2D u_translucentDepthTexture;
3
3
 
4
- varying vec2 v_textureCoordinates;
4
+ in vec2 v_textureCoordinates;
5
5
 
6
6
  void main()
7
7
  {
8
- float opaqueDepth = texture2D(u_opaqueDepthTexture, v_textureCoordinates).r;
9
- float translucentDepth = texture2D(u_translucentDepthTexture, v_textureCoordinates).r;
8
+ float opaqueDepth = texture(u_opaqueDepthTexture, v_textureCoordinates).r;
9
+ float translucentDepth = texture(u_translucentDepthTexture, v_textureCoordinates).r;
10
10
  translucentDepth = czm_branchFreeTernary(translucentDepth > opaqueDepth, 1.0, translucentDepth);
11
- gl_FragColor = czm_packDepth(translucentDepth);
11
+ out_FragColor = czm_packDepth(translucentDepth);
12
12
  }
@@ -2,13 +2,13 @@
2
2
  export default "uniform sampler2D u_opaqueDepthTexture;\n\
3
3
  uniform sampler2D u_translucentDepthTexture;\n\
4
4
  \n\
5
- varying vec2 v_textureCoordinates;\n\
5
+ in vec2 v_textureCoordinates;\n\
6
6
  \n\
7
7
  void main()\n\
8
8
  {\n\
9
- float opaqueDepth = texture2D(u_opaqueDepthTexture, v_textureCoordinates).r;\n\
10
- float translucentDepth = texture2D(u_translucentDepthTexture, v_textureCoordinates).r;\n\
9
+ float opaqueDepth = texture(u_opaqueDepthTexture, v_textureCoordinates).r;\n\
10
+ float translucentDepth = texture(u_translucentDepthTexture, v_textureCoordinates).r;\n\
11
11
  translucentDepth = czm_branchFreeTernary(translucentDepth > opaqueDepth, 1.0, translucentDepth);\n\
12
- gl_FragColor = czm_packDepth(translucentDepth);\n\
12
+ out_FragColor = czm_packDepth(translucentDepth);\n\
13
13
  }\n\
14
14
  ";
@@ -8,13 +8,13 @@ uniform sampler2D u_opaque;
8
8
  uniform sampler2D u_accumulation;
9
9
  uniform sampler2D u_revealage;
10
10
 
11
- varying vec2 v_textureCoordinates;
11
+ in vec2 v_textureCoordinates;
12
12
 
13
13
  void main()
14
14
  {
15
- vec4 opaque = texture2D(u_opaque, v_textureCoordinates);
16
- vec4 accum = texture2D(u_accumulation, v_textureCoordinates);
17
- float r = texture2D(u_revealage, v_textureCoordinates).r;
15
+ vec4 opaque = texture(u_opaque, v_textureCoordinates);
16
+ vec4 accum = texture(u_accumulation, v_textureCoordinates);
17
+ float r = texture(u_revealage, v_textureCoordinates).r;
18
18
 
19
19
  #ifdef MRT
20
20
  vec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a);
@@ -22,10 +22,10 @@ void main()
22
22
  vec4 transparent = vec4(accum.rgb / clamp(accum.a, 1e-4, 5e4), r);
23
23
  #endif
24
24
 
25
- gl_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque;
25
+ out_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque;
26
26
 
27
27
  if (opaque != czm_backgroundColor)
28
28
  {
29
- gl_FragColor.a = 1.0;
29
+ out_FragColor.a = 1.0;
30
30
  }
31
31
  }
@@ -9,13 +9,13 @@ uniform sampler2D u_opaque;\n\
9
9
  uniform sampler2D u_accumulation;\n\
10
10
  uniform sampler2D u_revealage;\n\
11
11
  \n\
12
- varying vec2 v_textureCoordinates;\n\
12
+ in vec2 v_textureCoordinates;\n\
13
13
  \n\
14
14
  void main()\n\
15
15
  {\n\
16
- vec4 opaque = texture2D(u_opaque, v_textureCoordinates);\n\
17
- vec4 accum = texture2D(u_accumulation, v_textureCoordinates);\n\
18
- float r = texture2D(u_revealage, v_textureCoordinates).r;\n\
16
+ vec4 opaque = texture(u_opaque, v_textureCoordinates);\n\
17
+ vec4 accum = texture(u_accumulation, v_textureCoordinates);\n\
18
+ float r = texture(u_revealage, v_textureCoordinates).r;\n\
19
19
  \n\
20
20
  #ifdef MRT\n\
21
21
  vec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a);\n\
@@ -23,11 +23,11 @@ void main()\n\
23
23
  vec4 transparent = vec4(accum.rgb / clamp(accum.a, 1e-4, 5e4), r);\n\
24
24
  #endif\n\
25
25
  \n\
26
- gl_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque;\n\
26
+ out_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque;\n\
27
27
  \n\
28
28
  if (opaque != czm_backgroundColor)\n\
29
29
  {\n\
30
- gl_FragColor.a = 1.0;\n\
30
+ out_FragColor.a = 1.0;\n\
31
31
  }\n\
32
32
  }\n\
33
33
  ";