@cesium/engine 25.0.0 → 26.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 (187) hide show
  1. package/Build/Workers/{chunk-GPIGURCG.js → chunk-3VFEWOBI.js} +7 -7
  2. package/Build/Workers/{chunk-BTX2NL3P.js → chunk-424RNO3D.js} +18 -18
  3. package/Build/Workers/{chunk-HSVQATK2.js → chunk-4MGMYHOO.js} +6 -6
  4. package/Build/Workers/{chunk-FIBS5S7R.js → chunk-4S7IE3LB.js} +2 -2
  5. package/Build/Workers/{chunk-A7ZBMVFS.js → chunk-52JDLOEM.js} +14 -14
  6. package/Build/Workers/{chunk-ZCCIIBZT.js → chunk-54I6Y66F.js} +6 -6
  7. package/Build/Workers/{chunk-J647NNZW.js → chunk-6YEE6JDR.js} +6 -6
  8. package/Build/Workers/{chunk-HVMG6AG4.js → chunk-7J2HKPRH.js} +9 -9
  9. package/Build/Workers/{chunk-K6NFIRFB.js → chunk-7WM2PX4V.js} +5 -5
  10. package/Build/Workers/{chunk-3LSD7OOA.js → chunk-ACXQXN46.js} +16 -16
  11. package/Build/Workers/{chunk-CZ23Y3RM.js → chunk-AYKR4VBR.js} +2 -2
  12. package/Build/Workers/{chunk-4MTRQFJP.js → chunk-C6J67V5A.js} +1 -1
  13. package/Build/Workers/{chunk-WTQGE7Q6.js → chunk-C6KNZ7T4.js} +17 -17
  14. package/Build/Workers/{chunk-AWFZHD2B.js → chunk-CFQP6LYM.js} +4 -4
  15. package/Build/Workers/{chunk-ST2UWDUU.js → chunk-CXOYE2WM.js} +5 -5
  16. package/Build/Workers/{chunk-H2A4USJR.js → chunk-CZEYZU4N.js} +10 -10
  17. package/Build/Workers/{chunk-DFEI5MAV.js → chunk-DBOEKL43.js} +7 -7
  18. package/Build/Workers/{chunk-A7A433MD.js → chunk-DDWSZVMY.js} +5 -5
  19. package/Build/Workers/{chunk-J7KQEKPK.js → chunk-DOBXCNC3.js} +13 -13
  20. package/Build/Workers/{chunk-URUCCIPS.js → chunk-E7VQ76KE.js} +6 -6
  21. package/Build/Workers/{chunk-ZAPOS52G.js → chunk-EBSIOBXY.js} +8 -8
  22. package/Build/Workers/{chunk-3VDDRF2E.js → chunk-EF2QYXGA.js} +14 -14
  23. package/Build/Workers/{chunk-WN6P5UDH.js → chunk-EPYXRCDB.js} +12 -12
  24. package/Build/Workers/{chunk-EZARA5FJ.js → chunk-F6QDY6HU.js} +13 -13
  25. package/Build/Workers/{chunk-GL7DNVUS.js → chunk-FRQZECAO.js} +5 -5
  26. package/Build/Workers/{chunk-VQKLRBIK.js → chunk-G7PXZRVF.js} +7 -7
  27. package/Build/Workers/{chunk-4QQXGTCE.js → chunk-INUEEEQA.js} +8 -8
  28. package/Build/Workers/{chunk-ITD2IN7N.js → chunk-IRBKFCEJ.js} +2 -2
  29. package/Build/Workers/{chunk-6SDGQI27.js → chunk-IYOUHCZB.js} +1 -1
  30. package/Build/Workers/{chunk-DYT5NR6P.js → chunk-J6BWOHUF.js} +3 -3
  31. package/Build/Workers/{chunk-4GF4MVPY.js → chunk-KFSTQKNM.js} +7 -7
  32. package/Build/Workers/{chunk-4XXHJI6Y.js → chunk-KKOSKAZB.js} +17 -17
  33. package/Build/Workers/{chunk-WC57YYBN.js → chunk-KSSWJIZW.js} +2 -2
  34. package/Build/Workers/{chunk-5T6QQAJW.js → chunk-M3B5JKSM.js} +1 -1
  35. package/Build/Workers/{chunk-QO2CGXMP.js → chunk-MPZHGZU6.js} +6 -6
  36. package/Build/Workers/{chunk-WUBKZFF6.js → chunk-MYP774IS.js} +9 -9
  37. package/Build/Workers/{chunk-WNN5D4W3.js → chunk-O3EA5HS7.js} +10 -10
  38. package/Build/Workers/{chunk-77RL3MBD.js → chunk-P3CK7MCY.js} +25 -4
  39. package/Build/Workers/{chunk-QXNQQYPV.js → chunk-Q3PY526V.js} +8 -8
  40. package/Build/Workers/{chunk-CKQP3DSS.js → chunk-QN67VG36.js} +6 -6
  41. package/Build/Workers/{chunk-ACFFCHHZ.js → chunk-QRWGUWI6.js} +11 -11
  42. package/Build/Workers/{chunk-LH5SF3XV.js → chunk-S4MCOY6I.js} +5 -5
  43. package/Build/Workers/{chunk-FVLVVOBQ.js → chunk-SMQZZOW6.js} +10 -10
  44. package/Build/Workers/{chunk-TA777BGS.js → chunk-TKKIREQ6.js} +1 -1
  45. package/Build/Workers/{chunk-AEAVLYPS.js → chunk-U3ZA64U7.js} +2 -2
  46. package/Build/Workers/{chunk-7LSFAEWF.js → chunk-UA25D5MX.js} +10 -10
  47. package/Build/Workers/{chunk-J3OFS2RD.js → chunk-UOOIQ3KX.js} +12 -12
  48. package/Build/Workers/{chunk-ND3NTTOF.js → chunk-V7VQKN6N.js} +6 -6
  49. package/Build/Workers/{chunk-I3A6DXYZ.js → chunk-VQYETPWC.js} +4 -4
  50. package/Build/Workers/{chunk-35H3UBIO.js → chunk-VWV2IJRB.js} +11 -11
  51. package/Build/Workers/{chunk-QSDY4NS7.js → chunk-XZMBNNDX.js} +9 -9
  52. package/Build/Workers/{chunk-TAI4HLII.js → chunk-Y57HREW5.js} +4 -4
  53. package/Build/Workers/{chunk-3TKLDHV3.js → chunk-Y5BF6AFU.js} +2 -2
  54. package/Build/Workers/{chunk-3XY3MVPG.js → chunk-YLY7NKAB.js} +4 -4
  55. package/Build/Workers/{chunk-BVAIWR7O.js → chunk-ZK3CF7ZD.js} +12 -12
  56. package/Build/Workers/{chunk-DH26SNAB.js → chunk-ZP7JMQV4.js} +1 -1
  57. package/Build/Workers/{chunk-3RFFPH4M.js → chunk-ZZ46LWL6.js} +1 -1
  58. package/Build/Workers/combineGeometry.js +24 -24
  59. package/Build/Workers/createBoxGeometry.js +18 -18
  60. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  61. package/Build/Workers/createCircleGeometry.js +26 -26
  62. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  63. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
  64. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  65. package/Build/Workers/createCorridorGeometry.js +29 -29
  66. package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
  67. package/Build/Workers/createCylinderGeometry.js +20 -20
  68. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  69. package/Build/Workers/createEllipseGeometry.js +26 -26
  70. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  71. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  72. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  73. package/Build/Workers/createFrustumGeometry.js +18 -18
  74. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  75. package/Build/Workers/createGeometry.js +24 -24
  76. package/Build/Workers/createGroundPolylineGeometry.js +22 -22
  77. package/Build/Workers/createPlaneGeometry.js +16 -16
  78. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  79. package/Build/Workers/createPolygonGeometry.js +32 -32
  80. package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
  81. package/Build/Workers/createPolylineGeometry.js +25 -25
  82. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  83. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  84. package/Build/Workers/createRectangleGeometry.js +27 -27
  85. package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
  86. package/Build/Workers/createSimplePolylineGeometry.js +23 -23
  87. package/Build/Workers/createSphereGeometry.js +19 -19
  88. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  89. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  90. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  91. package/Build/Workers/createVectorTileGeometries.js +24 -24
  92. package/Build/Workers/createVectorTilePoints.js +13 -13
  93. package/Build/Workers/createVectorTilePolygons.js +22 -22
  94. package/Build/Workers/createVectorTilePolylines.js +14 -14
  95. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  96. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  97. package/Build/Workers/createVerticesFromHeightmap.js +22 -22
  98. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  99. package/Build/Workers/createWallGeometry.js +24 -24
  100. package/Build/Workers/createWallOutlineGeometry.js +23 -23
  101. package/Build/Workers/decodeDraco.js +10 -10
  102. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  103. package/Build/Workers/decodeI3S.js +10 -10
  104. package/Build/Workers/gaussianSplatSorter.js +4 -4
  105. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  106. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  107. package/Build/Workers/transcodeKTX2.js +6 -6
  108. package/Build/Workers/transferTypedArrayTest.js +1 -1
  109. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  110. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  111. package/Source/Core/Cartesian2.js +1 -1
  112. package/Source/Core/Cartesian3.js +1 -1
  113. package/Source/Core/Cartesian4.js +1 -1
  114. package/Source/Core/ComponentDatatype.js +35 -0
  115. package/Source/Core/Ion.js +1 -1
  116. package/Source/Core/MapProjection.js +1 -0
  117. package/Source/Core/Matrix2.js +1 -1
  118. package/Source/Core/Matrix3.js +1 -1
  119. package/Source/Core/Matrix4.js +1 -1
  120. package/Source/Core/Resource.js +1 -1
  121. package/Source/Core/ScreenSpaceEventHandler.js +51 -41
  122. package/Source/Core/createColorRamp.js +37 -0
  123. package/Source/Core/globalTypes.js +25 -0
  124. package/Source/Renderer/Pass.js +3 -2
  125. package/Source/Renderer/createUniform.js +346 -239
  126. package/Source/Renderer/createUniformArray.js +494 -381
  127. package/Source/Scene/ArcGisMapService.js +1 -1
  128. package/Source/Scene/BufferPoint.js +1 -0
  129. package/Source/Scene/BufferPointCollection.js +14 -1
  130. package/Source/Scene/BufferPolygon.js +3 -2
  131. package/Source/Scene/BufferPolygonCollection.js +10 -0
  132. package/Source/Scene/BufferPolyline.js +1 -0
  133. package/Source/Scene/BufferPolylineCollection.js +2 -0
  134. package/Source/Scene/BufferPrimitiveCollection.js +79 -28
  135. package/Source/Scene/CameraEventAggregator.js +30 -18
  136. package/Source/Scene/Cesium3DTile.js +54 -1
  137. package/Source/Scene/Cesium3DTileContent.js +195 -254
  138. package/Source/Scene/Cesium3DTileContentFactory.js +10 -2
  139. package/Source/Scene/Cesium3DTileset.js +45 -5
  140. package/Source/Scene/Composite3DTileContent.js +254 -292
  141. package/Source/Scene/EdgeDisplayMode.js +50 -0
  142. package/Source/Scene/Empty3DTileContent.js +100 -132
  143. package/Source/Scene/GaussianSplat3DTileContent.js +436 -478
  144. package/Source/Scene/GeoJsonPrimitive.js +874 -0
  145. package/Source/Scene/Geometry3DTileContent.js +151 -185
  146. package/Source/Scene/GltfLoader.js +109 -0
  147. package/Source/Scene/Implicit3DTileContent.js +179 -214
  148. package/Source/Scene/MVTDataProvider.js +147 -0
  149. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +79 -311
  150. package/Source/Scene/Model/Model.js +34 -0
  151. package/Source/Scene/Model/Model3DTileContent.js +424 -458
  152. package/Source/Scene/Model/ModelDrawCommand.js +31 -3
  153. package/Source/Scene/Model/ModelUtility.js +4 -0
  154. package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +466 -150
  155. package/Source/Scene/ModelComponents.js +39 -1
  156. package/Source/Scene/Multiple3DTileContent.js +291 -334
  157. package/Source/Scene/Scene.js +26 -0
  158. package/Source/Scene/Tileset3DTileContent.js +113 -146
  159. package/Source/Scene/UrlTemplate3DTilesDataProvider.js +499 -0
  160. package/Source/Scene/Vector3DTileContent.js +205 -234
  161. package/Source/Scene/VectorGltf3DTileContent.js +85 -36
  162. package/Source/Scene/VoxelPrimitive.js +159 -175
  163. package/Source/Scene/VoxelProvider.js +64 -91
  164. package/Source/Scene/buildVectorGltfFromMVT.js +1059 -0
  165. package/Source/Scene/buildVoxelCustomShader.js +199 -0
  166. package/Source/Scene/decodeMVT.js +634 -0
  167. package/Source/Scene/renderBufferPointCollection.js +110 -64
  168. package/Source/Scene/renderBufferPolygonCollection.js +102 -55
  169. package/Source/Scene/renderBufferPolylineCollection.js +365 -166
  170. package/Source/Shaders/BufferPointMaterialFS.glsl +1 -0
  171. package/Source/Shaders/BufferPointMaterialFS.js +1 -0
  172. package/Source/Shaders/BufferPointMaterialVS.glsl +19 -9
  173. package/Source/Shaders/BufferPointMaterialVS.js +20 -10
  174. package/Source/Shaders/BufferPolygonMaterialVS.glsl +13 -4
  175. package/Source/Shaders/BufferPolygonMaterialVS.js +14 -5
  176. package/Source/Shaders/BufferPolylineMaterialVS.glsl +16 -2
  177. package/Source/Shaders/BufferPolylineMaterialVS.js +17 -3
  178. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.glsl +9 -0
  179. package/Source/Shaders/Builtin/Constants/passCesium3DTileEdgesDirect.js +11 -0
  180. package/Source/Shaders/Builtin/Constants/passOverlay.glsl +1 -1
  181. package/Source/Shaders/Builtin/Constants/passOverlay.js +1 -1
  182. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
  183. package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +0 -1
  184. package/Source/Shaders/Model/EdgeVisibilityStageVS.js +0 -1
  185. package/index.d.ts +253 -35
  186. package/index.js +71 -62
  187. package/package.json +2 -2
@@ -16,6 +16,7 @@ void main()
16
16
  float innerAlpha = 1.0 - smoothstep(innerLimit - delta, innerLimit, distanceToCenter);
17
17
 
18
18
  vec4 color = vec4(mix(v_outlineColor.rgb, v_color.rgb, innerAlpha), outerAlpha);
19
+ color.a *= mix(v_outlineColor.a, v_color.a, innerAlpha);
19
20
 
20
21
  if (color.a < 0.005) // matches 0/255 and 1/255
21
22
  {
@@ -17,6 +17,7 @@ void main()\n\
17
17
  float innerAlpha = 1.0 - smoothstep(innerLimit - delta, innerLimit, distanceToCenter);\n\
18
18
  \n\
19
19
  vec4 color = vec4(mix(v_outlineColor.rgb, v_color.rgb, innerAlpha), outerAlpha);\n\
20
+ color.a *= mix(v_outlineColor.a, v_color.a, innerAlpha);\n\
20
21
  \n\
21
22
  if (color.a < 0.005) // matches 0/255 and 1/255\n\
22
23
  {\n\
@@ -1,8 +1,12 @@
1
+ #ifdef USE_FLOAT64
1
2
  in vec3 positionHigh;
2
3
  in vec3 positionLow;
4
+ #else
5
+ in vec3 position;
6
+ #endif
3
7
  in vec4 pickColor;
4
- in vec3 showPixelSizeAndColor;
5
- in vec2 outlineWidthAndOutlineColor;
8
+ in vec4 showPixelSizeColorAlpha;
9
+ in vec3 outlineWidthColorAlpha;
6
10
 
7
11
  out vec4 v_pickColor;
8
12
  out vec4 v_color;
@@ -12,11 +16,13 @@ out float v_innerRadiusFrac;
12
16
  void main()
13
17
  {
14
18
  // Unpack attributes.
15
- float show = showPixelSizeAndColor.x;
16
- float pixelSize = showPixelSizeAndColor.y;
17
- vec4 color = czm_decodeRGB8(showPixelSizeAndColor.z);
18
- float outlineWidth = outlineWidthAndOutlineColor.x;
19
- vec4 outlineColor = czm_decodeRGB8(outlineWidthAndOutlineColor.y);
19
+ float show = showPixelSizeColorAlpha.x;
20
+ float pixelSize = showPixelSizeColorAlpha.y;
21
+ vec4 color = czm_decodeRGB8(showPixelSizeColorAlpha.z);
22
+ float alpha = showPixelSizeColorAlpha.w;
23
+ float outlineWidth = outlineWidthColorAlpha.x;
24
+ vec4 outlineColor = czm_decodeRGB8(outlineWidthColorAlpha.y);
25
+ float outlineAlpha = outlineWidthColorAlpha.z;
20
26
 
21
27
  ///////////////////////////////////////////////////////////////////////////
22
28
 
@@ -25,8 +31,12 @@ void main()
25
31
 
26
32
  ///////////////////////////////////////////////////////////////////////////
27
33
 
34
+ #ifdef USE_FLOAT64
28
35
  vec4 p = czm_translateRelativeToEye(positionHigh, positionLow);
29
36
  vec4 positionEC = czm_modelViewRelativeToEye * p;
37
+ #else
38
+ vec4 positionEC = czm_modelView * vec4(position, 1.0);
39
+ #endif
30
40
 
31
41
  ///////////////////////////////////////////////////////////////////////////
32
42
 
@@ -36,10 +46,10 @@ void main()
36
46
  v_pickColor = pickColor / 255.0;
37
47
 
38
48
  v_color = color;
39
- v_color.a *= show;
49
+ v_color.a *= alpha * show;
40
50
 
41
51
  v_outlineColor = outlineColor;
42
- v_outlineColor.a *= show;
52
+ v_outlineColor.a *= outlineAlpha * show;
43
53
 
44
54
  v_innerRadiusFrac = innerRadius / outerRadius;
45
55
 
@@ -1,9 +1,13 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
- export default "in vec3 positionHigh;\n\
2
+ export default "#ifdef USE_FLOAT64\n\
3
+ in vec3 positionHigh;\n\
3
4
  in vec3 positionLow;\n\
5
+ #else\n\
6
+ in vec3 position;\n\
7
+ #endif\n\
4
8
  in vec4 pickColor;\n\
5
- in vec3 showPixelSizeAndColor;\n\
6
- in vec2 outlineWidthAndOutlineColor;\n\
9
+ in vec4 showPixelSizeColorAlpha;\n\
10
+ in vec3 outlineWidthColorAlpha;\n\
7
11
  \n\
8
12
  out vec4 v_pickColor;\n\
9
13
  out vec4 v_color;\n\
@@ -13,11 +17,13 @@ out float v_innerRadiusFrac;\n\
13
17
  void main()\n\
14
18
  {\n\
15
19
  // Unpack attributes.\n\
16
- float show = showPixelSizeAndColor.x;\n\
17
- float pixelSize = showPixelSizeAndColor.y;\n\
18
- vec4 color = czm_decodeRGB8(showPixelSizeAndColor.z);\n\
19
- float outlineWidth = outlineWidthAndOutlineColor.x;\n\
20
- vec4 outlineColor = czm_decodeRGB8(outlineWidthAndOutlineColor.y);\n\
20
+ float show = showPixelSizeColorAlpha.x;\n\
21
+ float pixelSize = showPixelSizeColorAlpha.y;\n\
22
+ vec4 color = czm_decodeRGB8(showPixelSizeColorAlpha.z);\n\
23
+ float alpha = showPixelSizeColorAlpha.w;\n\
24
+ float outlineWidth = outlineWidthColorAlpha.x;\n\
25
+ vec4 outlineColor = czm_decodeRGB8(outlineWidthColorAlpha.y);\n\
26
+ float outlineAlpha = outlineWidthColorAlpha.z;\n\
21
27
  \n\
22
28
  ///////////////////////////////////////////////////////////////////////////\n\
23
29
  \n\
@@ -26,8 +32,12 @@ void main()\n\
26
32
  \n\
27
33
  ///////////////////////////////////////////////////////////////////////////\n\
28
34
  \n\
35
+ #ifdef USE_FLOAT64\n\
29
36
  vec4 p = czm_translateRelativeToEye(positionHigh, positionLow);\n\
30
37
  vec4 positionEC = czm_modelViewRelativeToEye * p;\n\
38
+ #else\n\
39
+ vec4 positionEC = czm_modelView * vec4(position, 1.0);\n\
40
+ #endif\n\
31
41
  \n\
32
42
  ///////////////////////////////////////////////////////////////////////////\n\
33
43
  \n\
@@ -37,10 +47,10 @@ void main()\n\
37
47
  v_pickColor = pickColor / 255.0;\n\
38
48
  \n\
39
49
  v_color = color;\n\
40
- v_color.a *= show;\n\
50
+ v_color.a *= alpha * show;\n\
41
51
  \n\
42
52
  v_outlineColor = outlineColor;\n\
43
- v_outlineColor.a *= show;\n\
53
+ v_outlineColor.a *= outlineAlpha * show;\n\
44
54
  \n\
45
55
  v_innerRadiusFrac = innerRadius / outerRadius;\n\
46
56
  \n\
@@ -1,20 +1,29 @@
1
+ #ifdef USE_FLOAT64
1
2
  in vec3 positionHigh;
2
3
  in vec3 positionLow;
4
+ #else
5
+ in vec3 position;
6
+ #endif
3
7
  in vec4 pickColor;
4
- in vec2 showAndColor;
8
+ in vec3 showColorAlpha;
5
9
 
6
10
  out vec4 v_pickColor;
7
11
  out vec4 v_color;
8
12
 
9
13
  void main()
10
14
  {
11
- float show = showAndColor.x;
12
- vec4 color = czm_decodeRGB8(showAndColor.y);
15
+ float show = showColorAlpha.x;
16
+ vec4 color = czm_decodeRGB8(showColorAlpha.y);
17
+ float alpha = showColorAlpha.z;
13
18
 
14
19
  ///////////////////////////////////////////////////////////////////////////
15
20
 
21
+ #ifdef USE_FLOAT64
16
22
  vec4 p = czm_translateRelativeToEye(positionHigh, positionLow);
17
23
  vec4 positionEC = czm_modelViewRelativeToEye * p;
24
+ #else
25
+ vec4 positionEC = czm_modelView * vec4(position, 1.0);
26
+ #endif
18
27
 
19
28
  ///////////////////////////////////////////////////////////////////////////
20
29
 
@@ -24,7 +33,7 @@ void main()
24
33
  v_pickColor = pickColor / 255.0;
25
34
 
26
35
  v_color = color;
27
- v_color.a *= show;
36
+ v_color.a *= alpha * show;
28
37
 
29
38
  gl_Position *= show;
30
39
  }
@@ -1,21 +1,30 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
- export default "in vec3 positionHigh;\n\
2
+ export default "#ifdef USE_FLOAT64\n\
3
+ in vec3 positionHigh;\n\
3
4
  in vec3 positionLow;\n\
5
+ #else\n\
6
+ in vec3 position;\n\
7
+ #endif\n\
4
8
  in vec4 pickColor;\n\
5
- in vec2 showAndColor;\n\
9
+ in vec3 showColorAlpha;\n\
6
10
  \n\
7
11
  out vec4 v_pickColor;\n\
8
12
  out vec4 v_color;\n\
9
13
  \n\
10
14
  void main()\n\
11
15
  {\n\
12
- float show = showAndColor.x;\n\
13
- vec4 color = czm_decodeRGB8(showAndColor.y);\n\
16
+ float show = showColorAlpha.x;\n\
17
+ vec4 color = czm_decodeRGB8(showColorAlpha.y);\n\
18
+ float alpha = showColorAlpha.z;\n\
14
19
  \n\
15
20
  ///////////////////////////////////////////////////////////////////////////\n\
16
21
  \n\
22
+ #ifdef USE_FLOAT64\n\
17
23
  vec4 p = czm_translateRelativeToEye(positionHigh, positionLow);\n\
18
24
  vec4 positionEC = czm_modelViewRelativeToEye * p;\n\
25
+ #else\n\
26
+ vec4 positionEC = czm_modelView * vec4(position, 1.0);\n\
27
+ #endif\n\
19
28
  \n\
20
29
  ///////////////////////////////////////////////////////////////////////////\n\
21
30
  \n\
@@ -25,7 +34,7 @@ void main()\n\
25
34
  v_pickColor = pickColor / 255.0;\n\
26
35
  \n\
27
36
  v_color = color;\n\
28
- v_color.a *= show;\n\
37
+ v_color.a *= alpha * show;\n\
29
38
  \n\
30
39
  gl_Position *= show;\n\
31
40
  }\n\
@@ -1,11 +1,18 @@
1
+ #ifdef USE_FLOAT64
1
2
  in vec3 positionHigh;
2
3
  in vec3 positionLow;
3
4
  in vec3 prevPositionHigh;
4
5
  in vec3 prevPositionLow;
5
6
  in vec3 nextPositionHigh;
6
7
  in vec3 nextPositionLow;
8
+ #else
9
+ in vec3 position;
10
+ in vec3 prevPosition;
11
+ in vec3 nextPosition;
12
+ #endif
7
13
  in vec4 pickColor;
8
14
  in vec4 showColorWidthAndTexCoord;
15
+ in float alpha;
9
16
 
10
17
  out vec4 v_pickColor;
11
18
  out vec4 v_color;
@@ -26,11 +33,18 @@ void main()
26
33
  float expandDir = gl_VertexID % 2 == 1 ? 1.0 : -1.0;
27
34
  float polylineAngle;
28
35
 
36
+ #ifdef USE_FLOAT64
29
37
  vec4 positionEC = czm_translateRelativeToEye(positionHigh, positionLow);
30
38
  vec4 prevPositionEC = czm_translateRelativeToEye(prevPositionHigh, prevPositionLow);
31
39
  vec4 nextPositionEC = czm_translateRelativeToEye(nextPositionHigh, nextPositionLow);
32
-
33
40
  vec4 positionWC = getPolylineWindowCoordinates(positionEC, prevPositionEC, nextPositionEC, expandDir, width, usePrevious, polylineAngle);
41
+ #else
42
+ vec4 positionEC = czm_modelView * vec4(position, 1.0);
43
+ vec4 prevPositionEC = czm_modelView * vec4(prevPosition, 1.0);
44
+ vec4 nextPositionEC = czm_modelView * vec4(nextPosition, 1.0);
45
+ // Positions are already in eye space; use the EC variant to skip the redundant transform.
46
+ vec4 positionWC = getPolylineWindowCoordinatesEC(positionEC, prevPositionEC, nextPositionEC, expandDir, width, usePrevious, polylineAngle);
47
+ #endif
34
48
 
35
49
  ///////////////////////////////////////////////////////////////////////////
36
50
 
@@ -39,7 +53,7 @@ void main()
39
53
  v_pickColor = pickColor / 255.0;
40
54
 
41
55
  v_color = color;
42
- v_color.a *= show;
56
+ v_color.a *= alpha / 255.0 * show;
43
57
 
44
58
  v_st.s = texCoord;
45
59
  v_st.t = czm_writeNonPerspective(clamp(expandDir, 0.0, 1.0), gl_Position.w);
@@ -1,12 +1,19 @@
1
1
  //This file is automatically rebuilt by the Cesium build process.
2
- export default "in vec3 positionHigh;\n\
2
+ export default "#ifdef USE_FLOAT64\n\
3
+ in vec3 positionHigh;\n\
3
4
  in vec3 positionLow;\n\
4
5
  in vec3 prevPositionHigh;\n\
5
6
  in vec3 prevPositionLow;\n\
6
7
  in vec3 nextPositionHigh;\n\
7
8
  in vec3 nextPositionLow;\n\
9
+ #else\n\
10
+ in vec3 position;\n\
11
+ in vec3 prevPosition;\n\
12
+ in vec3 nextPosition;\n\
13
+ #endif\n\
8
14
  in vec4 pickColor;\n\
9
15
  in vec4 showColorWidthAndTexCoord;\n\
16
+ in float alpha;\n\
10
17
  \n\
11
18
  out vec4 v_pickColor;\n\
12
19
  out vec4 v_color;\n\
@@ -27,11 +34,18 @@ void main()\n\
27
34
  float expandDir = gl_VertexID % 2 == 1 ? 1.0 : -1.0;\n\
28
35
  float polylineAngle;\n\
29
36
  \n\
37
+ #ifdef USE_FLOAT64\n\
30
38
  vec4 positionEC = czm_translateRelativeToEye(positionHigh, positionLow);\n\
31
39
  vec4 prevPositionEC = czm_translateRelativeToEye(prevPositionHigh, prevPositionLow);\n\
32
40
  vec4 nextPositionEC = czm_translateRelativeToEye(nextPositionHigh, nextPositionLow);\n\
33
- \n\
34
41
  vec4 positionWC = getPolylineWindowCoordinates(positionEC, prevPositionEC, nextPositionEC, expandDir, width, usePrevious, polylineAngle);\n\
42
+ #else\n\
43
+ vec4 positionEC = czm_modelView * vec4(position, 1.0);\n\
44
+ vec4 prevPositionEC = czm_modelView * vec4(prevPosition, 1.0);\n\
45
+ vec4 nextPositionEC = czm_modelView * vec4(nextPosition, 1.0);\n\
46
+ // Positions are already in eye space; use the EC variant to skip the redundant transform.\n\
47
+ vec4 positionWC = getPolylineWindowCoordinatesEC(positionEC, prevPositionEC, nextPositionEC, expandDir, width, usePrevious, polylineAngle);\n\
48
+ #endif\n\
35
49
  \n\
36
50
  ///////////////////////////////////////////////////////////////////////////\n\
37
51
  \n\
@@ -40,7 +54,7 @@ void main()\n\
40
54
  v_pickColor = pickColor / 255.0;\n\
41
55
  \n\
42
56
  v_color = color;\n\
43
- v_color.a *= show;\n\
57
+ v_color.a *= alpha / 255.0 * show;\n\
44
58
  \n\
45
59
  v_st.s = texCoord;\n\
46
60
  v_st.t = czm_writeNonPerspective(clamp(expandDir, 0.0, 1.0), gl_Position.w);\n\
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_EDGES_DIRECT}
3
+ *
4
+ * @name czm_passCesium3DTileEdgesDirect
5
+ * @glslConstant
6
+ *
7
+ * @see czm_pass
8
+ */
9
+ const float czm_passCesium3DTileEdgesDirect = 12.0;
@@ -0,0 +1,11 @@
1
+ //This file is automatically rebuilt by the Cesium build process.
2
+ export default "/**\n\
3
+ * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_EDGES_DIRECT}\n\
4
+ *\n\
5
+ * @name czm_passCesium3DTileEdgesDirect\n\
6
+ * @glslConstant\n\
7
+ *\n\
8
+ * @see czm_pass\n\
9
+ */\n\
10
+ const float czm_passCesium3DTileEdgesDirect = 12.0;\n\
11
+ ";
@@ -6,4 +6,4 @@
6
6
  *
7
7
  * @see czm_pass
8
8
  */
9
- const float czm_passOverlay = 12.0;
9
+ const float czm_passOverlay = 13.0;
@@ -7,5 +7,5 @@ export default "/**\n\
7
7
  *\n\
8
8
  * @see czm_pass\n\
9
9
  */\n\
10
- const float czm_passOverlay = 12.0;\n\
10
+ const float czm_passOverlay = 13.0;\n\
11
11
  ";
@@ -15,6 +15,7 @@ import czm_passCesium3DTile from './Constants/passCesium3DTile.js'
15
15
  import czm_passCesium3DTileClassification from './Constants/passCesium3DTileClassification.js'
16
16
  import czm_passCesium3DTileClassificationIgnoreShow from './Constants/passCesium3DTileClassificationIgnoreShow.js'
17
17
  import czm_passCesium3DTileEdges from './Constants/passCesium3DTileEdges.js'
18
+ import czm_passCesium3DTileEdgesDirect from './Constants/passCesium3DTileEdgesDirect.js'
18
19
  import czm_passClassification from './Constants/passClassification.js'
19
20
  import czm_passCompute from './Constants/passCompute.js'
20
21
  import czm_passEnvironment from './Constants/passEnvironment.js'
@@ -158,6 +159,7 @@ export default {
158
159
  czm_passCesium3DTileClassification : czm_passCesium3DTileClassification,
159
160
  czm_passCesium3DTileClassificationIgnoreShow : czm_passCesium3DTileClassificationIgnoreShow,
160
161
  czm_passCesium3DTileEdges : czm_passCesium3DTileEdges,
162
+ czm_passCesium3DTileEdgesDirect : czm_passCesium3DTileEdgesDirect,
161
163
  czm_passClassification : czm_passClassification,
162
164
  czm_passCompute : czm_passCompute,
163
165
  czm_passEnvironment : czm_passEnvironment,
@@ -5,7 +5,6 @@ void edgeVisibilityStageVS() {
5
5
  }
6
6
 
7
7
  v_edgeType = a_edgeType;
8
- v_silhouetteNormalView = czm_normal * a_silhouetteNormal;
9
8
  v_faceNormalAView = czm_normal * a_faceNormalA;
10
9
  v_faceNormalBView = czm_normal * a_faceNormalB;
11
10
  v_edgeOffset = a_edgeOffset;
@@ -6,7 +6,6 @@ void edgeVisibilityStageVS() {\n\
6
6
  }\n\
7
7
  \n\
8
8
  v_edgeType = a_edgeType;\n\
9
- v_silhouetteNormalView = czm_normal * a_silhouetteNormal;\n\
10
9
  v_faceNormalAView = czm_normal * a_faceNormalA;\n\
11
10
  v_faceNormalBView = czm_normal * a_faceNormalB;\n\
12
11
  v_edgeOffset = a_edgeOffset;\n\