@cesium/engine 1.0.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 (472) hide show
  1. package/Build/Workers/{AttributeCompression-4589338a.js → AttributeCompression-b646d393.js} +1 -1
  2. package/Build/Workers/{AxisAlignedBoundingBox-bfb1234f.js → AxisAlignedBoundingBox-47525601.js} +1 -1
  3. package/Build/Workers/{BoundingRectangle-7ffc2153.js → BoundingRectangle-93b263ac.js} +1 -1
  4. package/Build/Workers/{BoxGeometry-93f344a3.js → BoxGeometry-8c4b4125.js} +1 -1
  5. package/Build/Workers/{Color-0c5aaf47.js → Color-52c60ed7.js} +1 -1
  6. package/Build/Workers/{CoplanarPolygonGeometryLibrary-6597982a.js → CoplanarPolygonGeometryLibrary-33c4c1f8.js} +1 -1
  7. package/Build/Workers/{CorridorGeometryLibrary-2119580e.js → CorridorGeometryLibrary-5039cd8e.js} +1 -1
  8. package/Build/Workers/{CylinderGeometry-f9503c6d.js → CylinderGeometry-3ac44974.js} +1 -1
  9. package/Build/Workers/{EllipseGeometry-fedf72d5.js → EllipseGeometry-a9c9b3be.js} +1 -1
  10. package/Build/Workers/{EllipseGeometryLibrary-4ea68687.js → EllipseGeometryLibrary-855d4681.js} +1 -1
  11. package/Build/Workers/{EllipseOutlineGeometry-e2ae6a35.js → EllipseOutlineGeometry-017a5929.js} +1 -1
  12. package/Build/Workers/{EllipsoidGeodesic-16de63ea.js → EllipsoidGeodesic-98c62a56.js} +1 -1
  13. package/Build/Workers/{EllipsoidGeometry-95c0330e.js → EllipsoidGeometry-826e7bce.js} +1 -1
  14. package/Build/Workers/{EllipsoidOutlineGeometry-d6d2ceec.js → EllipsoidOutlineGeometry-784dcdb5.js} +1 -1
  15. package/Build/Workers/{EllipsoidRhumbLine-ae5e65e0.js → EllipsoidRhumbLine-19756602.js} +1 -1
  16. package/Build/Workers/{EllipsoidTangentPlane-bfc674bf.js → EllipsoidTangentPlane-ed9443a1.js} +1 -1
  17. package/Build/Workers/{EncodedCartesian3-f473ea18.js → EncodedCartesian3-81f70735.js} +1 -1
  18. package/Build/Workers/{FrustumGeometry-3bf2e4eb.js → FrustumGeometry-9f1ee4d8.js} +1 -1
  19. package/Build/Workers/{GeometryAttribute-df5f473e.js → GeometryAttribute-334718f8.js} +1 -1
  20. package/Build/Workers/{GeometryInstance-aa75b4cf.js → GeometryInstance-451dc1cd.js} +1 -1
  21. package/Build/Workers/{GeometryPipeline-f0e46c42.js → GeometryPipeline-8fb0db69.js} +1 -1
  22. package/Build/Workers/{IntersectionTests-9de29d51.js → IntersectionTests-27d49265.js} +1 -1
  23. package/Build/Workers/{Matrix2-ce637455.js → Matrix2-13178034.js} +4 -2
  24. package/Build/Workers/{Matrix3-4f4df527.js → Matrix3-315394f6.js} +2 -1
  25. package/Build/Workers/{OrientedBoundingBox-d3ff3d4d.js → OrientedBoundingBox-79ee7cbb.js} +5 -5
  26. package/Build/Workers/{Plane-b81241c2.js → Plane-900aa728.js} +1 -1
  27. package/Build/Workers/{PolygonGeometryLibrary-6f4937bb.js → PolygonGeometryLibrary-6b5a29e9.js} +1 -1
  28. package/Build/Workers/PolygonPipeline-21668b3f.js +1345 -0
  29. package/Build/Workers/{PolylinePipeline-2e2b015c.js → PolylinePipeline-5e2e1b21.js} +1 -1
  30. package/Build/Workers/{PolylineVolumeGeometryLibrary-7ee1d449.js → PolylineVolumeGeometryLibrary-97f0b94e.js} +1 -1
  31. package/Build/Workers/{PrimitivePipeline-a9b7aae0.js → PrimitivePipeline-5640850a.js} +1 -1
  32. package/Build/Workers/{RectangleGeometryLibrary-9aa6c8f6.js → RectangleGeometryLibrary-d5457f7b.js} +1 -1
  33. package/Build/Workers/{TerrainEncoding-b52dcfc5.js → TerrainEncoding-bfdf2021.js} +1 -1
  34. package/Build/Workers/{Transforms-2f755df8.js → Transforms-a05e5e6e.js} +114 -83
  35. package/Build/Workers/{WallGeometryLibrary-ab19a93d.js → WallGeometryLibrary-6db0ebb6.js} +1 -1
  36. package/Build/Workers/{WebMercatorProjection-9f25de49.js → WebMercatorProjection-13a90d41.js} +1 -1
  37. package/Build/Workers/cesiumWorkerBootstrapper.js +92 -2
  38. package/Build/Workers/combineGeometry.js +1 -1
  39. package/Build/Workers/createBoxGeometry.js +1 -1
  40. package/Build/Workers/createBoxOutlineGeometry.js +1 -1
  41. package/Build/Workers/createCircleGeometry.js +1 -1
  42. package/Build/Workers/createCircleOutlineGeometry.js +1 -1
  43. package/Build/Workers/createCoplanarPolygonGeometry.js +1 -1
  44. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  45. package/Build/Workers/createCorridorGeometry.js +1 -1
  46. package/Build/Workers/createCorridorOutlineGeometry.js +1 -1
  47. package/Build/Workers/createCylinderGeometry.js +1 -1
  48. package/Build/Workers/createCylinderOutlineGeometry.js +1 -1
  49. package/Build/Workers/createEllipseGeometry.js +1 -1
  50. package/Build/Workers/createEllipseOutlineGeometry.js +1 -1
  51. package/Build/Workers/createEllipsoidGeometry.js +1 -1
  52. package/Build/Workers/createEllipsoidOutlineGeometry.js +1 -1
  53. package/Build/Workers/createFrustumGeometry.js +1 -1
  54. package/Build/Workers/createFrustumOutlineGeometry.js +1 -1
  55. package/Build/Workers/createGeometry.js +1 -1
  56. package/Build/Workers/createGroundPolylineGeometry.js +1 -1
  57. package/Build/Workers/createPlaneGeometry.js +1 -1
  58. package/Build/Workers/createPlaneOutlineGeometry.js +1 -1
  59. package/Build/Workers/createPolygonGeometry.js +1 -1
  60. package/Build/Workers/createPolygonOutlineGeometry.js +1 -1
  61. package/Build/Workers/createPolylineGeometry.js +1 -1
  62. package/Build/Workers/createPolylineVolumeGeometry.js +1 -1
  63. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
  64. package/Build/Workers/createRectangleGeometry.js +1 -1
  65. package/Build/Workers/createRectangleOutlineGeometry.js +1 -1
  66. package/Build/Workers/createSimplePolylineGeometry.js +1 -1
  67. package/Build/Workers/createSphereGeometry.js +1 -1
  68. package/Build/Workers/createSphereOutlineGeometry.js +1 -1
  69. package/Build/Workers/createVectorTileClampedPolylines.js +1 -1
  70. package/Build/Workers/createVectorTileGeometries.js +1 -1
  71. package/Build/Workers/createVectorTilePoints.js +1 -1
  72. package/Build/Workers/createVectorTilePolygons.js +1 -1
  73. package/Build/Workers/createVectorTilePolylines.js +1 -1
  74. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  75. package/Build/Workers/createVerticesFromHeightmap.js +7 -3
  76. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +1 -1
  77. package/Build/Workers/createWallGeometry.js +1 -1
  78. package/Build/Workers/createWallOutlineGeometry.js +1 -1
  79. package/Build/Workers/decodeDraco.js +9 -1
  80. package/Build/Workers/decodeI3S.js +1 -1
  81. package/Build/Workers/package.js +25 -1
  82. package/Build/Workers/transcodeKTX2.js +22 -2
  83. package/Build/Workers/transferTypedArrayTest.js +25 -1
  84. package/Build/Workers/upsampleQuantizedTerrainMesh.js +1 -1
  85. package/README.md +14 -16
  86. package/Source/Core/EarthOrientationParameters.js +67 -63
  87. package/Source/Core/FeatureDetection.js +18 -0
  88. package/Source/Core/Ion.js +1 -2
  89. package/Source/Core/Matrix2.js +2 -1
  90. package/Source/Core/Matrix3.js +2 -1
  91. package/Source/Core/Matrix4.js +1 -0
  92. package/Source/Core/OrientedBoundingBox.js +4 -4
  93. package/Source/Core/PixelFormat.js +22 -2
  94. package/Source/Core/S2Cell.js +3 -3
  95. package/Source/Core/Transforms.js +3 -7
  96. package/Source/Core/sampleTerrain.js +5 -0
  97. package/Source/DataSources/GpxDataSource.js +4 -6
  98. package/Source/DataSources/KmlDataSource.js +3 -5
  99. package/Source/Renderer/AutomaticUniforms.js +3 -3
  100. package/Source/Renderer/Context.js +20 -12
  101. package/Source/Renderer/Pass.js +3 -2
  102. package/Source/Renderer/ShaderBuilder.js +13 -12
  103. package/Source/Renderer/ShaderSource.js +31 -26
  104. package/Source/Renderer/demodernizeShader.js +76 -0
  105. package/Source/Scene/AutoExposure.js +5 -5
  106. package/Source/Scene/BatchTable.js +5 -5
  107. package/Source/Scene/BillboardCollection.js +2 -2
  108. package/Source/Scene/BingMapsImageryProvider.js +1 -1
  109. package/Source/Scene/Cesium3DTile.js +8 -2
  110. package/Source/Scene/Cesium3DTileBatchTable.js +28 -28
  111. package/Source/Scene/Cesium3DTileContentType.js +19 -0
  112. package/Source/Scene/Cesium3DTilesVoxelProvider.js +494 -0
  113. package/Source/Scene/Cesium3DTileset.js +6 -1
  114. package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
  115. package/Source/Scene/ClassificationPrimitive.js +3 -8
  116. package/Source/Scene/ContentMetadata.js +2 -2
  117. package/Source/Scene/DebugAppearance.js +7 -9
  118. package/Source/Scene/DebugInspector.js +5 -5
  119. package/Source/Scene/DepthPlane.js +0 -6
  120. package/Source/Scene/DerivedCommand.js +15 -22
  121. package/Source/Scene/EllipsoidPrimitive.js +0 -7
  122. package/Source/Scene/Expression.js +1 -1
  123. package/Source/Scene/Globe.js +10 -0
  124. package/Source/Scene/GlobeSurfaceTileProvider.js +7 -0
  125. package/Source/Scene/GlobeTranslucencyState.js +6 -6
  126. package/Source/Scene/GltfImageLoader.js +1 -1
  127. package/Source/Scene/GltfVertexBufferLoader.js +10 -2
  128. package/Source/Scene/GroundPolylinePrimitive.js +2 -4
  129. package/Source/Scene/GroupMetadata.js +2 -2
  130. package/Source/Scene/ImplicitMetadataView.js +2 -2
  131. package/Source/Scene/ImplicitSubtreeCache.js +127 -0
  132. package/Source/Scene/ImplicitSubtreeMetadata.js +2 -2
  133. package/Source/Scene/ImplicitTileset.js +3 -2
  134. package/Source/Scene/InvertClassification.js +9 -10
  135. package/Source/Scene/KeyframeNode.js +47 -0
  136. package/Source/Scene/Material.js +6 -6
  137. package/Source/Scene/Megatexture.js +490 -0
  138. package/Source/Scene/MetadataClass.js +60 -25
  139. package/Source/Scene/MetadataClassProperty.js +132 -68
  140. package/Source/Scene/MetadataComponentType.js +78 -57
  141. package/Source/Scene/MetadataEnum.js +59 -23
  142. package/Source/Scene/MetadataEnumValue.js +49 -15
  143. package/Source/Scene/MetadataSchema.js +53 -24
  144. package/Source/Scene/MetadataSchemaLoader.js +2 -2
  145. package/Source/Scene/MetadataSemantic.js +8 -0
  146. package/Source/Scene/MetadataTableProperty.js +2 -2
  147. package/Source/Scene/MetadataType.js +6 -14
  148. package/Source/Scene/Model/CustomShader.js +1 -1
  149. package/Source/Scene/Model/FeatureIdPipelineStage.js +4 -4
  150. package/Source/Scene/Model/GeoJsonLoader.js +1 -1
  151. package/Source/Scene/Model/LightingModel.js +1 -1
  152. package/Source/Scene/Model/MetadataPipelineStage.js +1 -1
  153. package/Source/Scene/Model/Model.js +2 -3
  154. package/Source/Scene/Model/PickingPipelineStage.js +1 -1
  155. package/Source/Scene/Model/buildDrawCommand.js +19 -11
  156. package/Source/Scene/OIT.js +211 -119
  157. package/Source/Scene/PickDepth.js +2 -2
  158. package/Source/Scene/PointCloud.js +12 -12
  159. package/Source/Scene/PointCloudEyeDomeLighting.js +9 -4
  160. package/Source/Scene/PolylineCollection.js +2 -7
  161. package/Source/Scene/PolylineMaterialAppearance.js +2 -3
  162. package/Source/Scene/PostProcessStage.js +13 -13
  163. package/Source/Scene/PostProcessStageLibrary.js +3 -3
  164. package/Source/Scene/Primitive.js +22 -31
  165. package/Source/Scene/PropertyAttribute.js +2 -2
  166. package/Source/Scene/PropertyAttributeProperty.js +2 -2
  167. package/Source/Scene/PropertyTable.js +2 -2
  168. package/Source/Scene/PropertyTexture.js +2 -2
  169. package/Source/Scene/PropertyTextureProperty.js +2 -2
  170. package/Source/Scene/ResourceCache.js +9 -1
  171. package/Source/Scene/ResourceCacheKey.js +9 -1
  172. package/Source/Scene/Scene.js +17 -0
  173. package/Source/Scene/ShadowMap.js +7 -7
  174. package/Source/Scene/ShadowMapShader.js +9 -9
  175. package/Source/Scene/ShadowVolumeAppearance.js +1 -1
  176. package/Source/Scene/SpatialNode.js +375 -0
  177. package/Source/Scene/StructuralMetadata.js +2 -2
  178. package/Source/Scene/TextureAtlas.js +5 -3
  179. package/Source/Scene/TileMetadata.js +2 -2
  180. package/Source/Scene/TilesetMetadata.js +2 -2
  181. package/Source/Scene/Vector3DTilePolylines.js +1 -1
  182. package/Source/Scene/Vector3DTilePrimitive.js +2 -2
  183. package/Source/Scene/VoxelBoxShape.js +527 -0
  184. package/Source/Scene/VoxelContent.js +169 -0
  185. package/Source/Scene/VoxelCylinderShape.js +937 -0
  186. package/Source/Scene/VoxelEllipsoidShape.js +945 -0
  187. package/Source/Scene/VoxelPrimitive.js +1919 -0
  188. package/Source/Scene/VoxelProvider.js +255 -0
  189. package/Source/Scene/VoxelRenderResources.js +224 -0
  190. package/Source/Scene/VoxelShape.js +152 -0
  191. package/Source/Scene/VoxelShapeType.js +105 -0
  192. package/Source/Scene/VoxelTraversal.js +1144 -0
  193. package/Source/Scene/buildVoxelDrawCommands.js +116 -0
  194. package/Source/Scene/computeFlyToLocationForRectangle.js +10 -1
  195. package/Source/Scene/createElevationBandMaterial.js +10 -15
  196. package/Source/Scene/getClipAndStyleCode.js +1 -1
  197. package/Source/Scene/getClippingFunction.js +3 -3
  198. package/Source/Scene/parseBatchTable.js +18 -2
  199. package/Source/Scene/preprocess3DTileContent.js +8 -0
  200. package/Source/Scene/processVoxelProperties.js +455 -0
  201. package/Source/Shaders/AdjustTranslucentFS.glsl +9 -6
  202. package/Source/Shaders/AdjustTranslucentFS.js +9 -6
  203. package/Source/Shaders/Appearances/AllMaterialAppearanceFS.glsl +7 -7
  204. package/Source/Shaders/Appearances/AllMaterialAppearanceFS.js +7 -7
  205. package/Source/Shaders/Appearances/AllMaterialAppearanceVS.glsl +12 -12
  206. package/Source/Shaders/Appearances/AllMaterialAppearanceVS.js +12 -12
  207. package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.glsl +4 -4
  208. package/Source/Shaders/Appearances/BasicMaterialAppearanceFS.js +4 -4
  209. package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.glsl +6 -6
  210. package/Source/Shaders/Appearances/BasicMaterialAppearanceVS.js +6 -6
  211. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.glsl +5 -5
  212. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.js +5 -5
  213. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.glsl +7 -7
  214. package/Source/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.js +7 -7
  215. package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.glsl +4 -4
  216. package/Source/Shaders/Appearances/PerInstanceColorAppearanceFS.js +4 -4
  217. package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.glsl +8 -8
  218. package/Source/Shaders/Appearances/PerInstanceColorAppearanceVS.js +8 -8
  219. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.glsl +2 -2
  220. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.js +2 -2
  221. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.glsl +5 -5
  222. package/Source/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.js +5 -5
  223. package/Source/Shaders/Appearances/PolylineColorAppearanceVS.glsl +10 -10
  224. package/Source/Shaders/Appearances/PolylineColorAppearanceVS.js +10 -10
  225. package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.glsl +12 -12
  226. package/Source/Shaders/Appearances/PolylineMaterialAppearanceVS.js +12 -12
  227. package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.glsl +5 -5
  228. package/Source/Shaders/Appearances/TexturedMaterialAppearanceFS.js +5 -5
  229. package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.glsl +8 -8
  230. package/Source/Shaders/Appearances/TexturedMaterialAppearanceVS.js +8 -8
  231. package/Source/Shaders/BillboardCollectionFS.glsl +15 -15
  232. package/Source/Shaders/BillboardCollectionFS.js +15 -15
  233. package/Source/Shaders/BillboardCollectionVS.glsl +24 -24
  234. package/Source/Shaders/BillboardCollectionVS.js +24 -24
  235. package/Source/Shaders/BrdfLutGeneratorFS.glsl +2 -2
  236. package/Source/Shaders/BrdfLutGeneratorFS.js +2 -2
  237. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
  238. package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
  239. package/Source/Shaders/Builtin/Constants/passVoxels.glsl +9 -0
  240. package/Source/Shaders/Builtin/Constants/passVoxels.js +11 -0
  241. package/Source/Shaders/Builtin/CzmBuiltins.js +19 -15
  242. package/Source/Shaders/Builtin/Functions/depthClamp.glsl +3 -3
  243. package/Source/Shaders/Builtin/Functions/depthClamp.js +3 -3
  244. package/Source/Shaders/Builtin/Functions/getWaterNoise.glsl +4 -4
  245. package/Source/Shaders/Builtin/Functions/getWaterNoise.js +4 -4
  246. package/Source/Shaders/Builtin/Functions/phong.glsl +1 -1
  247. package/Source/Shaders/Builtin/Functions/phong.js +1 -1
  248. package/Source/Shaders/Builtin/Functions/readDepth.glsl +1 -1
  249. package/Source/Shaders/Builtin/Functions/readDepth.js +1 -1
  250. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.glsl +5 -5
  251. package/Source/Shaders/Builtin/Functions/sampleOctahedralProjection.js +5 -5
  252. package/Source/Shaders/Builtin/Functions/shadowDepthCompare.glsl +3 -3
  253. package/Source/Shaders/Builtin/Functions/shadowDepthCompare.js +3 -3
  254. package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.glsl +1 -1
  255. package/Source/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.js +1 -1
  256. package/Source/Shaders/Builtin/Functions/textureCube.glsl +17 -0
  257. package/Source/Shaders/Builtin/Functions/textureCube.js +18 -0
  258. package/Source/Shaders/Builtin/Functions/translateRelativeToEye.glsl +2 -2
  259. package/Source/Shaders/Builtin/Functions/translateRelativeToEye.js +2 -2
  260. package/Source/Shaders/Builtin/Functions/vertexLogDepth.glsl +2 -2
  261. package/Source/Shaders/Builtin/Functions/vertexLogDepth.js +2 -2
  262. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +55 -43
  263. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +55 -43
  264. package/Source/Shaders/Builtin/Functions/writeDepthClamp.glsl +5 -8
  265. package/Source/Shaders/Builtin/Functions/writeDepthClamp.js +5 -8
  266. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +6 -6
  267. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +6 -6
  268. package/Source/Shaders/CloudCollectionFS.glsl +18 -18
  269. package/Source/Shaders/CloudCollectionFS.js +18 -18
  270. package/Source/Shaders/CloudCollectionVS.glsl +11 -11
  271. package/Source/Shaders/CloudCollectionVS.js +11 -11
  272. package/Source/Shaders/CloudNoiseFS.glsl +5 -5
  273. package/Source/Shaders/CloudNoiseFS.js +5 -5
  274. package/Source/Shaders/CloudNoiseVS.glsl +2 -2
  275. package/Source/Shaders/CloudNoiseVS.js +2 -2
  276. package/Source/Shaders/CompareAndPackTranslucentDepth.glsl +4 -4
  277. package/Source/Shaders/CompareAndPackTranslucentDepth.js +4 -4
  278. package/Source/Shaders/CompositeOITFS.glsl +6 -6
  279. package/Source/Shaders/CompositeOITFS.js +6 -6
  280. package/Source/Shaders/DepthPlaneFS.glsl +2 -2
  281. package/Source/Shaders/DepthPlaneFS.js +2 -2
  282. package/Source/Shaders/DepthPlaneVS.glsl +2 -2
  283. package/Source/Shaders/DepthPlaneVS.js +2 -2
  284. package/Source/Shaders/EllipsoidFS.glsl +5 -13
  285. package/Source/Shaders/EllipsoidFS.js +6 -14
  286. package/Source/Shaders/EllipsoidVS.glsl +2 -2
  287. package/Source/Shaders/EllipsoidVS.js +2 -2
  288. package/Source/Shaders/FXAA3_11.glsl +4 -4
  289. package/Source/Shaders/FXAA3_11.js +4 -4
  290. package/Source/Shaders/GlobeFS.glsl +17 -16
  291. package/Source/Shaders/GlobeFS.js +17 -16
  292. package/Source/Shaders/GlobeVS.glsl +17 -17
  293. package/Source/Shaders/GlobeVS.js +17 -17
  294. package/Source/Shaders/Materials/AspectRampMaterial.glsl +1 -1
  295. package/Source/Shaders/Materials/AspectRampMaterial.js +1 -1
  296. package/Source/Shaders/Materials/BumpMapMaterial.glsl +3 -3
  297. package/Source/Shaders/Materials/BumpMapMaterial.js +3 -3
  298. package/Source/Shaders/Materials/ElevationBandMaterial.glsl +3 -3
  299. package/Source/Shaders/Materials/ElevationBandMaterial.js +3 -3
  300. package/Source/Shaders/Materials/ElevationContourMaterial.glsl +2 -1
  301. package/Source/Shaders/Materials/ElevationContourMaterial.js +2 -1
  302. package/Source/Shaders/Materials/ElevationRampMaterial.glsl +1 -1
  303. package/Source/Shaders/Materials/ElevationRampMaterial.js +1 -1
  304. package/Source/Shaders/Materials/GridMaterial.glsl +3 -2
  305. package/Source/Shaders/Materials/GridMaterial.js +3 -2
  306. package/Source/Shaders/Materials/NormalMapMaterial.glsl +1 -1
  307. package/Source/Shaders/Materials/NormalMapMaterial.js +1 -1
  308. package/Source/Shaders/Materials/PolylineArrowMaterial.glsl +3 -2
  309. package/Source/Shaders/Materials/PolylineArrowMaterial.js +3 -2
  310. package/Source/Shaders/Materials/PolylineDashMaterial.glsl +1 -1
  311. package/Source/Shaders/Materials/PolylineDashMaterial.js +1 -1
  312. package/Source/Shaders/Materials/PolylineOutlineMaterial.glsl +1 -1
  313. package/Source/Shaders/Materials/PolylineOutlineMaterial.js +1 -1
  314. package/Source/Shaders/Materials/SlopeRampMaterial.glsl +1 -1
  315. package/Source/Shaders/Materials/SlopeRampMaterial.js +1 -1
  316. package/Source/Shaders/Materials/Water.glsl +1 -1
  317. package/Source/Shaders/Materials/Water.js +1 -1
  318. package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +3 -3
  319. package/Source/Shaders/Model/ImageBasedLightingStageFS.js +3 -3
  320. package/Source/Shaders/Model/MaterialStageFS.glsl +10 -10
  321. package/Source/Shaders/Model/MaterialStageFS.js +10 -10
  322. package/Source/Shaders/Model/ModelClippingPlanesStageFS.glsl +3 -3
  323. package/Source/Shaders/Model/ModelClippingPlanesStageFS.js +3 -3
  324. package/Source/Shaders/Model/ModelFS.glsl +1 -1
  325. package/Source/Shaders/Model/ModelFS.js +1 -1
  326. package/Source/Shaders/Model/PrimitiveOutlineStageFS.glsl +3 -3
  327. package/Source/Shaders/Model/PrimitiveOutlineStageFS.js +3 -3
  328. package/Source/Shaders/Model/SelectedFeatureIdStageCommon.glsl +1 -1
  329. package/Source/Shaders/Model/SelectedFeatureIdStageCommon.js +1 -1
  330. package/Source/Shaders/OctahedralProjectionAtlasFS.glsl +8 -8
  331. package/Source/Shaders/OctahedralProjectionAtlasFS.js +8 -8
  332. package/Source/Shaders/OctahedralProjectionFS.glsl +4 -4
  333. package/Source/Shaders/OctahedralProjectionFS.js +4 -4
  334. package/Source/Shaders/OctahedralProjectionVS.glsl +3 -3
  335. package/Source/Shaders/OctahedralProjectionVS.js +3 -3
  336. package/Source/Shaders/PointPrimitiveCollectionFS.glsl +6 -6
  337. package/Source/Shaders/PointPrimitiveCollectionFS.js +6 -6
  338. package/Source/Shaders/PointPrimitiveCollectionVS.glsl +17 -14
  339. package/Source/Shaders/PointPrimitiveCollectionVS.js +17 -14
  340. package/Source/Shaders/PolylineFS.glsl +3 -3
  341. package/Source/Shaders/PolylineFS.js +3 -3
  342. package/Source/Shaders/PolylineShadowVolumeFS.glsl +12 -16
  343. package/Source/Shaders/PolylineShadowVolumeFS.js +12 -16
  344. package/Source/Shaders/PolylineShadowVolumeMorphFS.glsl +8 -8
  345. package/Source/Shaders/PolylineShadowVolumeMorphFS.js +8 -8
  346. package/Source/Shaders/PolylineShadowVolumeMorphVS.glsl +20 -20
  347. package/Source/Shaders/PolylineShadowVolumeMorphVS.js +20 -20
  348. package/Source/Shaders/PolylineShadowVolumeVS.glsl +20 -20
  349. package/Source/Shaders/PolylineShadowVolumeVS.js +20 -20
  350. package/Source/Shaders/PolylineVS.glsl +17 -17
  351. package/Source/Shaders/PolylineVS.js +17 -17
  352. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.glsl +4 -4
  353. package/Source/Shaders/PostProcessStages/AcesTonemappingStage.js +4 -4
  354. package/Source/Shaders/PostProcessStages/AdditiveBlend.glsl +4 -4
  355. package/Source/Shaders/PostProcessStages/AdditiveBlend.js +4 -4
  356. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +4 -4
  357. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +4 -4
  358. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +4 -4
  359. package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +4 -4
  360. package/Source/Shaders/PostProcessStages/BlackAndWhite.glsl +4 -4
  361. package/Source/Shaders/PostProcessStages/BlackAndWhite.js +4 -4
  362. package/Source/Shaders/PostProcessStages/BloomComposite.glsl +5 -5
  363. package/Source/Shaders/PostProcessStages/BloomComposite.js +5 -5
  364. package/Source/Shaders/PostProcessStages/BrightPass.glsl +3 -3
  365. package/Source/Shaders/PostProcessStages/BrightPass.js +3 -3
  366. package/Source/Shaders/PostProcessStages/Brightness.glsl +3 -3
  367. package/Source/Shaders/PostProcessStages/Brightness.js +3 -3
  368. package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.glsl +5 -5
  369. package/Source/Shaders/PostProcessStages/CompositeTranslucentClassification.js +5 -5
  370. package/Source/Shaders/PostProcessStages/ContrastBias.glsl +3 -3
  371. package/Source/Shaders/PostProcessStages/ContrastBias.js +3 -3
  372. package/Source/Shaders/PostProcessStages/DepthOfField.glsl +2 -2
  373. package/Source/Shaders/PostProcessStages/DepthOfField.js +2 -2
  374. package/Source/Shaders/PostProcessStages/DepthView.glsl +2 -2
  375. package/Source/Shaders/PostProcessStages/DepthView.js +2 -2
  376. package/Source/Shaders/PostProcessStages/DepthViewPacked.glsl +3 -3
  377. package/Source/Shaders/PostProcessStages/DepthViewPacked.js +3 -3
  378. package/Source/Shaders/PostProcessStages/EdgeDetection.glsl +7 -7
  379. package/Source/Shaders/PostProcessStages/EdgeDetection.js +7 -7
  380. package/Source/Shaders/PostProcessStages/FXAA.glsl +3 -3
  381. package/Source/Shaders/PostProcessStages/FXAA.js +3 -3
  382. package/Source/Shaders/PostProcessStages/FilmicTonemapping.glsl +4 -4
  383. package/Source/Shaders/PostProcessStages/FilmicTonemapping.js +4 -4
  384. package/Source/Shaders/PostProcessStages/GaussianBlur1D.glsl +5 -5
  385. package/Source/Shaders/PostProcessStages/GaussianBlur1D.js +5 -5
  386. package/Source/Shaders/PostProcessStages/LensFlare.glsl +13 -13
  387. package/Source/Shaders/PostProcessStages/LensFlare.js +13 -13
  388. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.glsl +4 -4
  389. package/Source/Shaders/PostProcessStages/ModifiedReinhardTonemapping.js +4 -4
  390. package/Source/Shaders/PostProcessStages/NightVision.glsl +3 -3
  391. package/Source/Shaders/PostProcessStages/NightVision.js +3 -3
  392. package/Source/Shaders/PostProcessStages/PassThrough.glsl +2 -2
  393. package/Source/Shaders/PostProcessStages/PassThrough.js +2 -2
  394. package/Source/Shaders/PostProcessStages/PassThroughDepth.glsl +2 -2
  395. package/Source/Shaders/PostProcessStages/PassThroughDepth.js +2 -2
  396. package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.glsl +7 -9
  397. package/Source/Shaders/PostProcessStages/PointCloudEyeDomeLighting.js +8 -10
  398. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.glsl +4 -4
  399. package/Source/Shaders/PostProcessStages/ReinhardTonemapping.js +4 -4
  400. package/Source/Shaders/PostProcessStages/Silhouette.glsl +4 -4
  401. package/Source/Shaders/PostProcessStages/Silhouette.js +4 -4
  402. package/Source/Shaders/ReprojectWebMercatorFS.glsl +2 -2
  403. package/Source/Shaders/ReprojectWebMercatorFS.js +2 -2
  404. package/Source/Shaders/ReprojectWebMercatorVS.glsl +3 -3
  405. package/Source/Shaders/ReprojectWebMercatorVS.js +3 -3
  406. package/Source/Shaders/ShadowVolumeAppearanceFS.glsl +19 -23
  407. package/Source/Shaders/ShadowVolumeAppearanceFS.js +20 -24
  408. package/Source/Shaders/ShadowVolumeAppearanceVS.glsl +12 -12
  409. package/Source/Shaders/ShadowVolumeAppearanceVS.js +12 -12
  410. package/Source/Shaders/ShadowVolumeFS.glsl +2 -6
  411. package/Source/Shaders/ShadowVolumeFS.js +3 -7
  412. package/Source/Shaders/SkyAtmosphereFS.glsl +6 -6
  413. package/Source/Shaders/SkyAtmosphereFS.js +6 -6
  414. package/Source/Shaders/SkyAtmosphereVS.glsl +6 -6
  415. package/Source/Shaders/SkyAtmosphereVS.js +6 -6
  416. package/Source/Shaders/SkyBoxFS.glsl +3 -3
  417. package/Source/Shaders/SkyBoxFS.js +3 -3
  418. package/Source/Shaders/SkyBoxVS.glsl +2 -2
  419. package/Source/Shaders/SkyBoxVS.js +2 -2
  420. package/Source/Shaders/SunFS.glsl +3 -3
  421. package/Source/Shaders/SunFS.js +3 -3
  422. package/Source/Shaders/SunTextureFS.glsl +2 -2
  423. package/Source/Shaders/SunTextureFS.js +2 -2
  424. package/Source/Shaders/SunVS.glsl +2 -2
  425. package/Source/Shaders/SunVS.js +2 -2
  426. package/Source/Shaders/Vector3DTileClampedPolylinesFS.glsl +9 -13
  427. package/Source/Shaders/Vector3DTileClampedPolylinesFS.js +9 -13
  428. package/Source/Shaders/Vector3DTileClampedPolylinesVS.glsl +12 -12
  429. package/Source/Shaders/Vector3DTileClampedPolylinesVS.js +12 -12
  430. package/Source/Shaders/Vector3DTilePolylinesVS.glsl +5 -5
  431. package/Source/Shaders/Vector3DTilePolylinesVS.js +5 -5
  432. package/Source/Shaders/VectorTileVS.glsl +2 -2
  433. package/Source/Shaders/VectorTileVS.js +2 -2
  434. package/Source/Shaders/ViewportQuadFS.glsl +2 -2
  435. package/Source/Shaders/ViewportQuadFS.js +2 -2
  436. package/Source/Shaders/ViewportQuadVS.glsl +3 -3
  437. package/Source/Shaders/ViewportQuadVS.js +3 -3
  438. package/Source/Shaders/Voxels/IntersectBox.glsl +79 -0
  439. package/Source/Shaders/Voxels/IntersectBox.js +81 -0
  440. package/Source/Shaders/Voxels/IntersectClippingPlanes.glsl +70 -0
  441. package/Source/Shaders/Voxels/IntersectClippingPlanes.js +72 -0
  442. package/Source/Shaders/Voxels/IntersectCylinder.glsl +273 -0
  443. package/Source/Shaders/Voxels/IntersectCylinder.js +275 -0
  444. package/Source/Shaders/Voxels/IntersectDepth.glsl +23 -0
  445. package/Source/Shaders/Voxels/IntersectDepth.js +25 -0
  446. package/Source/Shaders/Voxels/IntersectEllipsoid.glsl +347 -0
  447. package/Source/Shaders/Voxels/IntersectEllipsoid.js +349 -0
  448. package/Source/Shaders/Voxels/Intersection.glsl +54 -0
  449. package/Source/Shaders/Voxels/Intersection.js +56 -0
  450. package/Source/Shaders/Voxels/IntersectionUtils.glsl +151 -0
  451. package/Source/Shaders/Voxels/IntersectionUtils.js +153 -0
  452. package/Source/Shaders/Voxels/Megatexture.glsl +136 -0
  453. package/Source/Shaders/Voxels/Megatexture.js +138 -0
  454. package/Source/Shaders/Voxels/Octree.glsl +221 -0
  455. package/Source/Shaders/Voxels/Octree.js +223 -0
  456. package/Source/Shaders/Voxels/VoxelFS.glsl +150 -0
  457. package/Source/Shaders/Voxels/VoxelFS.js +152 -0
  458. package/Source/Shaders/Voxels/VoxelVS.glsl +11 -0
  459. package/Source/Shaders/Voxels/VoxelVS.js +13 -0
  460. package/Source/Shaders/Voxels/convertUvToBox.glsl +16 -0
  461. package/Source/Shaders/Voxels/convertUvToBox.js +18 -0
  462. package/Source/Shaders/Voxels/convertUvToCylinder.glsl +75 -0
  463. package/Source/Shaders/Voxels/convertUvToCylinder.js +77 -0
  464. package/Source/Shaders/Voxels/convertUvToEllipsoid.glsl +130 -0
  465. package/Source/Shaders/Voxels/convertUvToEllipsoid.js +132 -0
  466. package/Source/ThirdParty/Workers/z-worker-pako.js +0 -0
  467. package/Source/WorkersES6/decodeDraco.js +9 -1
  468. package/index.d.ts +3148 -2297
  469. package/index.js +1118 -1085
  470. package/package.json +3 -4
  471. package/Build/Workers/PolygonPipeline-774a8aaf.js +0 -1341
  472. package/Source/Renderer/modernizeShader.js +0 -242
@@ -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,38 +1,13 @@
1
- /**
2
- * Transforms a position from window to eye coordinates.
3
- * The transform from window to normalized device coordinates is done using components
4
- * of (@link czm_viewport} and {@link czm_viewportTransformation} instead of calculating
5
- * the inverse of <code>czm_viewportTransformation</code>. The transformation from
6
- * normalized device coordinates to clip coordinates is done using <code>fragmentCoordinate.w</code>,
7
- * which is expected to be the scalar used in the perspective divide. The transformation
8
- * from clip to eye coordinates is done using {@link czm_inverseProjection}.
9
- *
10
- * @name czm_windowToEyeCoordinates
11
- * @glslFunction
12
- *
13
- * @param {vec4} fragmentCoordinate The position in window coordinates to transform.
14
- *
15
- * @returns {vec4} The transformed position in eye coordinates.
16
- *
17
- * @see czm_modelToWindowCoordinates
18
- * @see czm_eyeToWindowCoordinates
19
- * @see czm_inverseProjection
20
- * @see czm_viewport
21
- * @see czm_viewportTransformation
22
- *
23
- * @example
24
- * vec4 positionEC = czm_windowToEyeCoordinates(gl_FragCoord);
25
- */
26
- vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)
1
+ vec4 czm_screenToEyeCoordinates(vec4 screenCoordinate)
27
2
  {
28
3
  // Reconstruct NDC coordinates
29
- float x = 2.0 * (fragmentCoordinate.x - czm_viewport.x) / czm_viewport.z - 1.0;
30
- float y = 2.0 * (fragmentCoordinate.y - czm_viewport.y) / czm_viewport.w - 1.0;
31
- float z = (fragmentCoordinate.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2];
4
+ float x = 2.0 * screenCoordinate.x - 1.0;
5
+ float y = 2.0 * screenCoordinate.y - 1.0;
6
+ float z = (screenCoordinate.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2];
32
7
  vec4 q = vec4(x, y, z, 1.0);
33
8
 
34
9
  // Reverse the perspective division to obtain clip coordinates.
35
- q /= fragmentCoordinate.w;
10
+ q /= screenCoordinate.w;
36
11
 
37
12
  // Reverse the projection transformation to obtain eye coordinates.
38
13
  if (!(czm_inverseProjection == mat4(0.0))) // IE and Edge sometimes do something weird with != between mat4s
@@ -59,16 +34,20 @@ vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)
59
34
  }
60
35
 
61
36
  /**
62
- * Transforms a position given as window x/y and a depth or a log depth from window to eye coordinates.
63
- * This function produces more accurate results for window positions with log depth than
64
- * conventionally unpacking the log depth using czm_reverseLogDepth and using the standard version
65
- * of czm_windowToEyeCoordinates.
37
+ * Transforms a position from window to eye coordinates.
38
+ * The transform from window to normalized device coordinates is done using components
39
+ * of (@link czm_viewport} and {@link czm_viewportTransformation} instead of calculating
40
+ * the inverse of <code>czm_viewportTransformation</code>. The transformation from
41
+ * normalized device coordinates to clip coordinates is done using <code>fragmentCoordinate.w</code>,
42
+ * which is expected to be the scalar used in the perspective divide. The transformation
43
+ * from clip to eye coordinates is done using {@link czm_inverseProjection}.
66
44
  *
67
45
  * @name czm_windowToEyeCoordinates
68
46
  * @glslFunction
69
47
  *
70
- * @param {vec2} fragmentCoordinateXY The XY position in window coordinates to transform.
71
- * @param {float} depthOrLogDepth A depth or log depth for the fragment.
48
+ * @param {vec4} fragmentCoordinate The position in window coordinates to transform.
49
+ *
50
+ * @returns {vec4} The transformed position in eye coordinates.
72
51
  *
73
52
  * @see czm_modelToWindowCoordinates
74
53
  * @see czm_eyeToWindowCoordinates
@@ -76,24 +55,57 @@ vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)
76
55
  * @see czm_viewport
77
56
  * @see czm_viewportTransformation
78
57
  *
79
- * @returns {vec4} The transformed position in eye coordinates.
58
+ * @example
59
+ * vec4 positionEC = czm_windowToEyeCoordinates(gl_FragCoord);
80
60
  */
81
- vec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth)
61
+ vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)
62
+ {
63
+ vec2 screenCoordXY = (fragmentCoordinate.xy - czm_viewport.xy) / czm_viewport.zw;
64
+ return czm_screenToEyeCoordinates(vec4(screenCoordXY, fragmentCoordinate.zw));
65
+ }
66
+
67
+ vec4 czm_screenToEyeCoordinates(vec2 screenCoordinateXY, float depthOrLogDepth)
82
68
  {
83
69
  // See reverseLogDepth.glsl. This is separate to re-use the pow.
84
- #ifdef LOG_DEPTH
70
+ #if defined(LOG_DEPTH) || defined(LOG_DEPTH_READ_ONLY)
85
71
  float near = czm_currentFrustum.x;
86
72
  float far = czm_currentFrustum.y;
87
73
  float log2Depth = depthOrLogDepth * czm_log2FarDepthFromNearPlusOne;
88
74
  float depthFromNear = pow(2.0, log2Depth) - 1.0;
89
75
  float depthFromCamera = depthFromNear + near;
90
- vec4 windowCoord = vec4(fragmentCoordinateXY, far * (1.0 - near / depthFromCamera) / (far - near), 1.0);
91
- vec4 eyeCoordinate = czm_windowToEyeCoordinates(windowCoord);
76
+ vec4 screenCoord = vec4(screenCoordinateXY, far * (1.0 - near / depthFromCamera) / (far - near), 1.0);
77
+ vec4 eyeCoordinate = czm_screenToEyeCoordinates(screenCoord);
92
78
  eyeCoordinate.w = 1.0 / depthFromCamera; // Better precision
93
79
  return eyeCoordinate;
94
80
  #else
95
- vec4 windowCoord = vec4(fragmentCoordinateXY, depthOrLogDepth, 1.0);
96
- vec4 eyeCoordinate = czm_windowToEyeCoordinates(windowCoord);
81
+ vec4 screenCoord = vec4(screenCoordinateXY, depthOrLogDepth, 1.0);
82
+ vec4 eyeCoordinate = czm_screenToEyeCoordinates(screenCoord);
97
83
  #endif
98
84
  return eyeCoordinate;
99
85
  }
86
+
87
+ /**
88
+ * Transforms a position given as window x/y and a depth or a log depth from window to eye coordinates.
89
+ * This function produces more accurate results for window positions with log depth than
90
+ * conventionally unpacking the log depth using czm_reverseLogDepth and using the standard version
91
+ * of czm_windowToEyeCoordinates.
92
+ *
93
+ * @name czm_windowToEyeCoordinates
94
+ * @glslFunction
95
+ *
96
+ * @param {vec2} fragmentCoordinateXY The XY position in window coordinates to transform.
97
+ * @param {float} depthOrLogDepth A depth or log depth for the fragment.
98
+ *
99
+ * @see czm_modelToWindowCoordinates
100
+ * @see czm_eyeToWindowCoordinates
101
+ * @see czm_inverseProjection
102
+ * @see czm_viewport
103
+ * @see czm_viewportTransformation
104
+ *
105
+ * @returns {vec4} The transformed position in eye coordinates.
106
+ */
107
+ vec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth)
108
+ {
109
+ vec2 screenCoordXY = (fragmentCoordinateXY.xy - czm_viewport.xy) / czm_viewport.zw;
110
+ return czm_screenToEyeCoordinates(screenCoordXY, depthOrLogDepth);
111
+ }
@@ -1,39 +1,14 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
- export default "/**\n\
3
- * Transforms a position from window to eye coordinates.\n\
4
- * The transform from window to normalized device coordinates is done using components\n\
5
- * of (@link czm_viewport} and {@link czm_viewportTransformation} instead of calculating\n\
6
- * the inverse of <code>czm_viewportTransformation</code>. The transformation from\n\
7
- * normalized device coordinates to clip coordinates is done using <code>fragmentCoordinate.w</code>,\n\
8
- * which is expected to be the scalar used in the perspective divide. The transformation\n\
9
- * from clip to eye coordinates is done using {@link czm_inverseProjection}.\n\
10
- *\n\
11
- * @name czm_windowToEyeCoordinates\n\
12
- * @glslFunction\n\
13
- *\n\
14
- * @param {vec4} fragmentCoordinate The position in window coordinates to transform.\n\
15
- *\n\
16
- * @returns {vec4} The transformed position in eye coordinates.\n\
17
- *\n\
18
- * @see czm_modelToWindowCoordinates\n\
19
- * @see czm_eyeToWindowCoordinates\n\
20
- * @see czm_inverseProjection\n\
21
- * @see czm_viewport\n\
22
- * @see czm_viewportTransformation\n\
23
- *\n\
24
- * @example\n\
25
- * vec4 positionEC = czm_windowToEyeCoordinates(gl_FragCoord);\n\
26
- */\n\
27
- vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)\n\
2
+ export default "vec4 czm_screenToEyeCoordinates(vec4 screenCoordinate)\n\
28
3
  {\n\
29
4
  // Reconstruct NDC coordinates\n\
30
- float x = 2.0 * (fragmentCoordinate.x - czm_viewport.x) / czm_viewport.z - 1.0;\n\
31
- float y = 2.0 * (fragmentCoordinate.y - czm_viewport.y) / czm_viewport.w - 1.0;\n\
32
- float z = (fragmentCoordinate.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2];\n\
5
+ float x = 2.0 * screenCoordinate.x - 1.0;\n\
6
+ float y = 2.0 * screenCoordinate.y - 1.0;\n\
7
+ float z = (screenCoordinate.z - czm_viewportTransformation[3][2]) / czm_viewportTransformation[2][2];\n\
33
8
  vec4 q = vec4(x, y, z, 1.0);\n\
34
9
  \n\
35
10
  // Reverse the perspective division to obtain clip coordinates.\n\
36
- q /= fragmentCoordinate.w;\n\
11
+ q /= screenCoordinate.w;\n\
37
12
  \n\
38
13
  // Reverse the projection transformation to obtain eye coordinates.\n\
39
14
  if (!(czm_inverseProjection == mat4(0.0))) // IE and Edge sometimes do something weird with != between mat4s\n\
@@ -60,16 +35,20 @@ vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)\n\
60
35
  }\n\
61
36
  \n\
62
37
  /**\n\
63
- * Transforms a position given as window x/y and a depth or a log depth from window to eye coordinates.\n\
64
- * This function produces more accurate results for window positions with log depth than\n\
65
- * conventionally unpacking the log depth using czm_reverseLogDepth and using the standard version\n\
66
- * of czm_windowToEyeCoordinates.\n\
38
+ * Transforms a position from window to eye coordinates.\n\
39
+ * The transform from window to normalized device coordinates is done using components\n\
40
+ * of (@link czm_viewport} and {@link czm_viewportTransformation} instead of calculating\n\
41
+ * the inverse of <code>czm_viewportTransformation</code>. The transformation from\n\
42
+ * normalized device coordinates to clip coordinates is done using <code>fragmentCoordinate.w</code>,\n\
43
+ * which is expected to be the scalar used in the perspective divide. The transformation\n\
44
+ * from clip to eye coordinates is done using {@link czm_inverseProjection}.\n\
67
45
  *\n\
68
46
  * @name czm_windowToEyeCoordinates\n\
69
47
  * @glslFunction\n\
70
48
  *\n\
71
- * @param {vec2} fragmentCoordinateXY The XY position in window coordinates to transform.\n\
72
- * @param {float} depthOrLogDepth A depth or log depth for the fragment.\n\
49
+ * @param {vec4} fragmentCoordinate The position in window coordinates to transform.\n\
50
+ *\n\
51
+ * @returns {vec4} The transformed position in eye coordinates.\n\
73
52
  *\n\
74
53
  * @see czm_modelToWindowCoordinates\n\
75
54
  * @see czm_eyeToWindowCoordinates\n\
@@ -77,25 +56,58 @@ vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)\n\
77
56
  * @see czm_viewport\n\
78
57
  * @see czm_viewportTransformation\n\
79
58
  *\n\
80
- * @returns {vec4} The transformed position in eye coordinates.\n\
59
+ * @example\n\
60
+ * vec4 positionEC = czm_windowToEyeCoordinates(gl_FragCoord);\n\
81
61
  */\n\
82
- vec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth)\n\
62
+ vec4 czm_windowToEyeCoordinates(vec4 fragmentCoordinate)\n\
63
+ {\n\
64
+ vec2 screenCoordXY = (fragmentCoordinate.xy - czm_viewport.xy) / czm_viewport.zw;\n\
65
+ return czm_screenToEyeCoordinates(vec4(screenCoordXY, fragmentCoordinate.zw));\n\
66
+ }\n\
67
+ \n\
68
+ vec4 czm_screenToEyeCoordinates(vec2 screenCoordinateXY, float depthOrLogDepth)\n\
83
69
  {\n\
84
70
  // See reverseLogDepth.glsl. This is separate to re-use the pow.\n\
85
- #ifdef LOG_DEPTH\n\
71
+ #if defined(LOG_DEPTH) || defined(LOG_DEPTH_READ_ONLY)\n\
86
72
  float near = czm_currentFrustum.x;\n\
87
73
  float far = czm_currentFrustum.y;\n\
88
74
  float log2Depth = depthOrLogDepth * czm_log2FarDepthFromNearPlusOne;\n\
89
75
  float depthFromNear = pow(2.0, log2Depth) - 1.0;\n\
90
76
  float depthFromCamera = depthFromNear + near;\n\
91
- vec4 windowCoord = vec4(fragmentCoordinateXY, far * (1.0 - near / depthFromCamera) / (far - near), 1.0);\n\
92
- vec4 eyeCoordinate = czm_windowToEyeCoordinates(windowCoord);\n\
77
+ vec4 screenCoord = vec4(screenCoordinateXY, far * (1.0 - near / depthFromCamera) / (far - near), 1.0);\n\
78
+ vec4 eyeCoordinate = czm_screenToEyeCoordinates(screenCoord);\n\
93
79
  eyeCoordinate.w = 1.0 / depthFromCamera; // Better precision\n\
94
80
  return eyeCoordinate;\n\
95
81
  #else\n\
96
- vec4 windowCoord = vec4(fragmentCoordinateXY, depthOrLogDepth, 1.0);\n\
97
- vec4 eyeCoordinate = czm_windowToEyeCoordinates(windowCoord);\n\
82
+ vec4 screenCoord = vec4(screenCoordinateXY, depthOrLogDepth, 1.0);\n\
83
+ vec4 eyeCoordinate = czm_screenToEyeCoordinates(screenCoord);\n\
98
84
  #endif\n\
99
85
  return eyeCoordinate;\n\
100
86
  }\n\
87
+ \n\
88
+ /**\n\
89
+ * Transforms a position given as window x/y and a depth or a log depth from window to eye coordinates.\n\
90
+ * This function produces more accurate results for window positions with log depth than\n\
91
+ * conventionally unpacking the log depth using czm_reverseLogDepth and using the standard version\n\
92
+ * of czm_windowToEyeCoordinates.\n\
93
+ *\n\
94
+ * @name czm_windowToEyeCoordinates\n\
95
+ * @glslFunction\n\
96
+ *\n\
97
+ * @param {vec2} fragmentCoordinateXY The XY position in window coordinates to transform.\n\
98
+ * @param {float} depthOrLogDepth A depth or log depth for the fragment.\n\
99
+ *\n\
100
+ * @see czm_modelToWindowCoordinates\n\
101
+ * @see czm_eyeToWindowCoordinates\n\
102
+ * @see czm_inverseProjection\n\
103
+ * @see czm_viewport\n\
104
+ * @see czm_viewportTransformation\n\
105
+ *\n\
106
+ * @returns {vec4} The transformed position in eye coordinates.\n\
107
+ */\n\
108
+ vec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth)\n\
109
+ {\n\
110
+ vec2 screenCoordXY = (fragmentCoordinateXY.xy - czm_viewport.xy) / czm_viewport.zw;\n\
111
+ return czm_screenToEyeCoordinates(screenCoordXY, depthOrLogDepth);\n\
112
+ }\n\
101
113
  ";
@@ -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\