@rtzh/engine 0.0.6 → 0.0.7

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 (177) hide show
  1. package/Build/Workers/chunk-2UNHFFAZ.js +352 -0
  2. package/Build/Workers/chunk-2Y2KA6PM.js +387 -0
  3. package/Build/Workers/chunk-2ZXYLPPT.js +163 -0
  4. package/Build/Workers/chunk-32ZGDYJY.js +3514 -0
  5. package/Build/Workers/chunk-3WT5VKYM.js +101 -0
  6. package/Build/Workers/chunk-4IXXMXPJ.js +682 -0
  7. package/Build/Workers/chunk-52UUGJQ6.js +288 -0
  8. package/Build/Workers/chunk-54LZ6OUD.js +1067 -0
  9. package/Build/Workers/chunk-565HBO3F.js +352 -0
  10. package/Build/Workers/chunk-5L3PEFKO.js +629 -0
  11. package/Build/Workers/chunk-5RMI6LFO.js +692 -0
  12. package/Build/Workers/chunk-5VDZEVQX.js +788 -0
  13. package/Build/Workers/chunk-5VWFNSLF.js +44 -0
  14. package/Build/Workers/chunk-5ZMMQ7HE.js +37 -0
  15. package/Build/Workers/chunk-6BIU5AL4.js +692 -0
  16. package/Build/Workers/chunk-6KA3AJM6.js +455 -0
  17. package/Build/Workers/chunk-6MYDYE24.js +280 -0
  18. package/Build/Workers/chunk-6RUDXAFC.js +2719 -0
  19. package/Build/Workers/chunk-6YSUD2OH.js +219 -0
  20. package/Build/Workers/chunk-6YT2LZ3Z.js +1443 -0
  21. package/Build/Workers/chunk-73EGVDOC.js +398 -0
  22. package/Build/Workers/chunk-7BOVULMD.js +44 -0
  23. package/Build/Workers/chunk-7KOMCIWI.js +8366 -0
  24. package/Build/Workers/chunk-APOATHFZ.js +138 -0
  25. package/Build/Workers/chunk-AVNHAFMV.js +114 -0
  26. package/Build/Workers/chunk-AWMYTHW4.js +101 -0
  27. package/Build/Workers/chunk-BJHSYHOQ.js +97 -0
  28. package/Build/Workers/chunk-BM6ZG63T.js +171 -0
  29. package/Build/Workers/chunk-C3G2NDXM.js +162 -0
  30. package/Build/Workers/chunk-E3NHG3TR.js +1460 -0
  31. package/Build/Workers/chunk-EDVAQGDJ.js +2719 -0
  32. package/Build/Workers/chunk-EFHDO3L2.js +102 -0
  33. package/Build/Workers/chunk-EPVJ5OOH.js +8366 -0
  34. package/Build/Workers/chunk-EWDHM5NC.js +37 -0
  35. package/Build/Workers/chunk-F4Q3VOCC.js +1317 -0
  36. package/Build/Workers/chunk-FCSN7XOU.js +55 -0
  37. package/Build/Workers/chunk-FD62YGTB.js +219 -0
  38. package/Build/Workers/chunk-FHM3HFYM.js +1045 -0
  39. package/Build/Workers/chunk-FNI64UKI.js +57 -0
  40. package/Build/Workers/chunk-FRUZKVBP.js +352 -0
  41. package/Build/Workers/chunk-FYW5UQ24.js +837 -0
  42. package/Build/Workers/chunk-FYZVCB32.js +75 -0
  43. package/Build/Workers/chunk-GAQXLBFJ.js +1483 -0
  44. package/Build/Workers/chunk-GEH53ULL.js +299 -0
  45. package/Build/Workers/chunk-GLA2PT5T.js +476 -0
  46. package/Build/Workers/chunk-GWLEBUVI.js +2058 -0
  47. package/Build/Workers/chunk-GYIGOBV2.js +439 -0
  48. package/Build/Workers/chunk-H2MM7FMU.js +1054 -0
  49. package/Build/Workers/chunk-H33FCT5U.js +940 -0
  50. package/Build/Workers/chunk-HBL3QZ2L.js +642 -0
  51. package/Build/Workers/chunk-HEKLTOOR.js +1443 -0
  52. package/Build/Workers/chunk-I5JHYEIE.js +241 -0
  53. package/Build/Workers/chunk-IC2JHDCI.js +114 -0
  54. package/Build/Workers/chunk-IEEHNZ36.js +241 -0
  55. package/Build/Workers/chunk-IRG63TBY.js +55 -0
  56. package/Build/Workers/chunk-IY53MZW2.js +58 -0
  57. package/Build/Workers/chunk-J2CUNLQP.js +940 -0
  58. package/Build/Workers/chunk-J766O3PA.js +256 -0
  59. package/Build/Workers/chunk-JWEZXKBE.js +73 -0
  60. package/Build/Workers/chunk-KFOT2YV5.js +138 -0
  61. package/Build/Workers/chunk-KGQGZ7PF.js +778 -0
  62. package/Build/Workers/chunk-KMZXZUA7.js +1460 -0
  63. package/Build/Workers/chunk-KOVKY3HB.js +198 -0
  64. package/Build/Workers/chunk-KQ4ET526.js +163 -0
  65. package/Build/Workers/chunk-L2QIVAZV.js +3514 -0
  66. package/Build/Workers/chunk-LGMONS4O.js +1317 -0
  67. package/Build/Workers/chunk-LJHG4PJQ.js +305 -0
  68. package/Build/Workers/chunk-LNS36LUZ.js +2058 -0
  69. package/Build/Workers/chunk-LUUEGFLT.js +305 -0
  70. package/Build/Workers/chunk-LW2VGHDM.js +1800 -0
  71. package/Build/Workers/chunk-LXM2ZC4V.js +288 -0
  72. package/Build/Workers/chunk-LXMLERGC.js +1067 -0
  73. package/Build/Workers/chunk-MEFWVMG6.js +788 -0
  74. package/Build/Workers/chunk-MJVNNURF.js +368 -0
  75. package/Build/Workers/chunk-NJEG7WRW.js +387 -0
  76. package/Build/Workers/chunk-O224ZEA5.js +58 -0
  77. package/Build/Workers/chunk-O5ICO3AS.js +682 -0
  78. package/Build/Workers/chunk-O6T3T3V3.js +97 -0
  79. package/Build/Workers/chunk-OFTWEOW2.js +1483 -0
  80. package/Build/Workers/chunk-OIJH6LAY.js +497 -0
  81. package/Build/Workers/chunk-OJFVD5ZS.js +778 -0
  82. package/Build/Workers/chunk-OJNPKCEL.js +73 -0
  83. package/Build/Workers/chunk-PQLZOYZE.js +642 -0
  84. package/Build/Workers/chunk-PU44PXY2.js +75 -0
  85. package/Build/Workers/chunk-Q36VXWGP.js +57 -0
  86. package/Build/Workers/chunk-Q4XPVYXJ.js +476 -0
  87. package/Build/Workers/chunk-QGXE4VZ3.js +55 -0
  88. package/Build/Workers/chunk-QIEHP7O4.js +280 -0
  89. package/Build/Workers/chunk-RJVB3K2X.js +511 -0
  90. package/Build/Workers/chunk-RORZNBGJ.js +299 -0
  91. package/Build/Workers/chunk-RRBGLANL.js +55 -0
  92. package/Build/Workers/chunk-SBR7MW44.js +139 -0
  93. package/Build/Workers/chunk-SKXE77AM.js +139 -0
  94. package/Build/Workers/chunk-T4LDJBKR.js +124 -0
  95. package/Build/Workers/chunk-TQ63SH2Z.js +352 -0
  96. package/Build/Workers/chunk-U77FLUQF.js +368 -0
  97. package/Build/Workers/chunk-UIYQEJ5H.js +1054 -0
  98. package/Build/Workers/chunk-UJ72JOGF.js +511 -0
  99. package/Build/Workers/chunk-UY7I27VQ.js +1800 -0
  100. package/Build/Workers/chunk-VVKDT4J7.js +837 -0
  101. package/Build/Workers/chunk-VXDOONLH.js +162 -0
  102. package/Build/Workers/chunk-WLIQ26XU.js +455 -0
  103. package/Build/Workers/chunk-WOEPS2UA.js +171 -0
  104. package/Build/Workers/chunk-XEB4GEXW.js +629 -0
  105. package/Build/Workers/chunk-XKBR7TJB.js +398 -0
  106. package/Build/Workers/chunk-XYRT4RDI.js +1045 -0
  107. package/Build/Workers/chunk-XZINQPR6.js +124 -0
  108. package/Build/Workers/chunk-YLKTSY65.js +414 -0
  109. package/Build/Workers/chunk-YLSZYTTO.js +102 -0
  110. package/Build/Workers/chunk-YQXKIGXX.js +414 -0
  111. package/Build/Workers/chunk-YR3LX3PR.js +497 -0
  112. package/Build/Workers/chunk-ZBRVFEGF.js +256 -0
  113. package/Build/Workers/chunk-ZCPCQJBX.js +198 -0
  114. package/Build/Workers/chunk-ZS7KQSEM.js +439 -0
  115. package/Build/Workers/combineGeometry.js +24 -24
  116. package/Build/Workers/createBoxGeometry.js +18 -18
  117. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  118. package/Build/Workers/createCircleGeometry.js +26 -26
  119. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  120. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
  121. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  122. package/Build/Workers/createCorridorGeometry.js +29 -29
  123. package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
  124. package/Build/Workers/createCylinderGeometry.js +20 -20
  125. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  126. package/Build/Workers/createEllipseGeometry.js +26 -26
  127. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  128. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  129. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  130. package/Build/Workers/createFrustumGeometry.js +18 -18
  131. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  132. package/Build/Workers/createGeometry.js +24 -24
  133. package/Build/Workers/createGroundPolylineGeometry.js +22 -22
  134. package/Build/Workers/createPlaneGeometry.js +16 -16
  135. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  136. package/Build/Workers/createPolygonGeometry.js +32 -32
  137. package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
  138. package/Build/Workers/createPolylineGeometry.js +25 -25
  139. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  140. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  141. package/Build/Workers/createRectangleGeometry.js +27 -27
  142. package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
  143. package/Build/Workers/createSimplePolylineGeometry.js +23 -23
  144. package/Build/Workers/createSphereGeometry.js +19 -19
  145. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  146. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  147. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  148. package/Build/Workers/createVectorTileGeometries.js +24 -24
  149. package/Build/Workers/createVectorTilePoints.js +13 -13
  150. package/Build/Workers/createVectorTilePolygons.js +22 -22
  151. package/Build/Workers/createVectorTilePolylines.js +14 -14
  152. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  153. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  154. package/Build/Workers/createVerticesFromHeightmap.js +22 -22
  155. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  156. package/Build/Workers/createWallGeometry.js +24 -24
  157. package/Build/Workers/createWallOutlineGeometry.js +23 -23
  158. package/Build/Workers/decodeDraco.js +10 -10
  159. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  160. package/Build/Workers/decodeI3S.js +10 -10
  161. package/Build/Workers/gaussianSplatSorter.js +4 -4
  162. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  163. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  164. package/Build/Workers/transcodeKTX2.js +6 -6
  165. package/Build/Workers/transferTypedArrayTest.js +1 -1
  166. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  167. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  168. package/Source/Scene/Cesium3DTileset.js +42 -0
  169. package/Source/Scene/Model/BarycentricWireframePipelineStage.js +75 -0
  170. package/Source/Scene/Model/Model.js +49 -2
  171. package/Source/Scene/Model/Model3DTileContent.js +17 -0
  172. package/Source/Shaders/Model/ModelFS.glsl +37 -3
  173. package/Source/Shaders/Model/ModelFS.js +37 -3
  174. package/Source/Shaders/Model/ModelVS.glsl +3 -0
  175. package/Source/Shaders/Model/ModelVS.js +3 -0
  176. package/index.js +197 -197
  177. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
3
  * Cesium - https://github.com/CesiumGS/cesium
4
- * Version 0.0.6
4
+ * Version 0.0.8
5
5
  *
6
6
  * Copyright 2011-2022 Cesium Contributors
7
7
  *
@@ -25,21 +25,21 @@
25
25
 
26
26
  import {
27
27
  createTaskProcessorWorker_default
28
- } from "./chunk-IB2XQV6U.js";
28
+ } from "./chunk-3WT5VKYM.js";
29
29
  import {
30
30
  AxisAlignedBoundingBox_default
31
- } from "./chunk-U3VI26GL.js";
32
- import "./chunk-FSYQE5XE.js";
31
+ } from "./chunk-C3G2NDXM.js";
32
+ import "./chunk-IRG63TBY.js";
33
33
  import {
34
34
  Matrix4_default
35
- } from "./chunk-XFKTM6GN.js";
36
- import "./chunk-ET7LWDHA.js";
35
+ } from "./chunk-GWLEBUVI.js";
36
+ import "./chunk-IY53MZW2.js";
37
37
  import {
38
38
  Cartesian3_default
39
- } from "./chunk-GZMTBQM2.js";
40
- import "./chunk-DIA4J2DB.js";
41
- import "./chunk-SZELHE7Q.js";
42
- import "./chunk-OBM2JYMG.js";
39
+ } from "./chunk-HEKLTOOR.js";
40
+ import "./chunk-YR3LX3PR.js";
41
+ import "./chunk-2ZXYLPPT.js";
42
+ import "./chunk-PU44PXY2.js";
43
43
 
44
44
  // packages/engine/Source/Workers/incrementallyBuildTerrainPicker.js
45
45
  var scratchAABBCornerMin = new Cartesian3_default();
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
3
  * Cesium - https://github.com/CesiumGS/cesium
4
- * Version 0.0.6
4
+ * Version 0.0.8
5
5
  *
6
6
  * Copyright 2011-2022 Cesium Contributors
7
7
  *
@@ -25,22 +25,22 @@
25
25
 
26
26
  import {
27
27
  createTaskProcessorWorker_default
28
- } from "./chunk-IB2XQV6U.js";
28
+ } from "./chunk-3WT5VKYM.js";
29
29
  import {
30
30
  WebGLConstants_default
31
- } from "./chunk-O5QH7XD5.js";
31
+ } from "./chunk-XEB4GEXW.js";
32
32
  import {
33
33
  RuntimeError_default
34
- } from "./chunk-ET7LWDHA.js";
34
+ } from "./chunk-IY53MZW2.js";
35
35
  import {
36
36
  Check_default
37
- } from "./chunk-SZELHE7Q.js";
37
+ } from "./chunk-2ZXYLPPT.js";
38
38
  import {
39
39
  __commonJS,
40
40
  __require,
41
41
  __toESM,
42
42
  defined_default
43
- } from "./chunk-OBM2JYMG.js";
43
+ } from "./chunk-PU44PXY2.js";
44
44
 
45
45
  // packages/engine/Source/ThirdParty/Workers/basis_transcoder.js
46
46
  var require_basis_transcoder = __commonJS({
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
3
  * Cesium - https://github.com/CesiumGS/cesium
4
- * Version 0.0.6
4
+ * Version 0.0.8
5
5
  *
6
6
  * Copyright 2011-2022 Cesium Contributors
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
3
  * Cesium - https://github.com/CesiumGS/cesium
4
- * Version 0.0.6
4
+ * Version 0.0.8
5
5
  *
6
6
  * Copyright 2011-2022 Cesium Contributors
7
7
  *
@@ -26,52 +26,52 @@
26
26
  import {
27
27
  EllipsoidalOccluder_default,
28
28
  TerrainEncoding_default
29
- } from "./chunk-WFTPZ3ZX.js";
29
+ } from "./chunk-MEFWVMG6.js";
30
30
  import {
31
31
  createTaskProcessorWorker_default
32
- } from "./chunk-IB2XQV6U.js";
32
+ } from "./chunk-3WT5VKYM.js";
33
33
  import {
34
34
  OrientedBoundingBox_default
35
- } from "./chunk-5SVTAJRH.js";
35
+ } from "./chunk-FYW5UQ24.js";
36
36
  import {
37
37
  AttributeCompression_default
38
- } from "./chunk-VLB25GGE.js";
39
- import "./chunk-7MMYV5PM.js";
40
- import "./chunk-U3VI26GL.js";
41
- import "./chunk-EJVGOIOW.js";
42
- import "./chunk-ERYOZBVC.js";
38
+ } from "./chunk-ZS7KQSEM.js";
39
+ import "./chunk-52UUGJQ6.js";
40
+ import "./chunk-C3G2NDXM.js";
41
+ import "./chunk-LGMONS4O.js";
42
+ import "./chunk-BM6ZG63T.js";
43
43
  import {
44
44
  IndexDatatype_default
45
- } from "./chunk-E5BSDIGY.js";
45
+ } from "./chunk-SKXE77AM.js";
46
46
  import {
47
47
  BoundingSphere_default
48
- } from "./chunk-WX2ZANQC.js";
49
- import "./chunk-FSYQE5XE.js";
48
+ } from "./chunk-H33FCT5U.js";
49
+ import "./chunk-IRG63TBY.js";
50
50
  import {
51
51
  Rectangle_default
52
- } from "./chunk-W4DV7TAL.js";
53
- import "./chunk-XFKTM6GN.js";
54
- import "./chunk-IXM65GBF.js";
55
- import "./chunk-O5QH7XD5.js";
56
- import "./chunk-ET7LWDHA.js";
52
+ } from "./chunk-EPVJ5OOH.js";
53
+ import "./chunk-GWLEBUVI.js";
54
+ import "./chunk-ZBRVFEGF.js";
55
+ import "./chunk-XEB4GEXW.js";
56
+ import "./chunk-IY53MZW2.js";
57
57
  import {
58
58
  Cartesian2_default,
59
59
  Cartographic_default,
60
60
  Ellipsoid_default
61
- } from "./chunk-4DIL24GG.js";
61
+ } from "./chunk-KMZXZUA7.js";
62
62
  import {
63
63
  Cartesian3_default
64
- } from "./chunk-GZMTBQM2.js";
64
+ } from "./chunk-HEKLTOOR.js";
65
65
  import {
66
66
  Math_default
67
- } from "./chunk-DIA4J2DB.js";
67
+ } from "./chunk-YR3LX3PR.js";
68
68
  import {
69
69
  Check_default,
70
70
  DeveloperError_default
71
- } from "./chunk-SZELHE7Q.js";
71
+ } from "./chunk-2ZXYLPPT.js";
72
72
  import {
73
73
  defined_default
74
- } from "./chunk-OBM2JYMG.js";
74
+ } from "./chunk-PU44PXY2.js";
75
75
 
76
76
  // packages/engine/Source/Core/Intersections2D.js
77
77
  var Intersections2D = {};
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
3
  * Cesium - https://github.com/CesiumGS/cesium
4
- * Version 0.0.6
4
+ * Version 0.0.8
5
5
  *
6
6
  * Copyright 2011-2022 Cesium Contributors
7
7
  *
@@ -25,32 +25,32 @@
25
25
 
26
26
  import {
27
27
  Cesium3DTilesTerrainGeometryProcessor_default
28
- } from "./chunk-BCYABDWF.js";
29
- import "./chunk-54SSO7NS.js";
30
- import "./chunk-WFTPZ3ZX.js";
28
+ } from "./chunk-L2QIVAZV.js";
29
+ import "./chunk-TQ63SH2Z.js";
30
+ import "./chunk-MEFWVMG6.js";
31
31
  import {
32
32
  createTaskProcessorWorker_default
33
- } from "./chunk-IB2XQV6U.js";
34
- import "./chunk-64VDO4BW.js";
35
- import "./chunk-5SVTAJRH.js";
36
- import "./chunk-VLB25GGE.js";
37
- import "./chunk-7MMYV5PM.js";
38
- import "./chunk-U3VI26GL.js";
39
- import "./chunk-EJVGOIOW.js";
40
- import "./chunk-ERYOZBVC.js";
41
- import "./chunk-E5BSDIGY.js";
42
- import "./chunk-WX2ZANQC.js";
43
- import "./chunk-FSYQE5XE.js";
44
- import "./chunk-W4DV7TAL.js";
45
- import "./chunk-XFKTM6GN.js";
46
- import "./chunk-IXM65GBF.js";
47
- import "./chunk-O5QH7XD5.js";
48
- import "./chunk-ET7LWDHA.js";
49
- import "./chunk-4DIL24GG.js";
50
- import "./chunk-GZMTBQM2.js";
51
- import "./chunk-DIA4J2DB.js";
52
- import "./chunk-SZELHE7Q.js";
53
- import "./chunk-OBM2JYMG.js";
33
+ } from "./chunk-3WT5VKYM.js";
34
+ import "./chunk-IC2JHDCI.js";
35
+ import "./chunk-FYW5UQ24.js";
36
+ import "./chunk-ZS7KQSEM.js";
37
+ import "./chunk-52UUGJQ6.js";
38
+ import "./chunk-C3G2NDXM.js";
39
+ import "./chunk-LGMONS4O.js";
40
+ import "./chunk-BM6ZG63T.js";
41
+ import "./chunk-SKXE77AM.js";
42
+ import "./chunk-H33FCT5U.js";
43
+ import "./chunk-IRG63TBY.js";
44
+ import "./chunk-EPVJ5OOH.js";
45
+ import "./chunk-GWLEBUVI.js";
46
+ import "./chunk-ZBRVFEGF.js";
47
+ import "./chunk-XEB4GEXW.js";
48
+ import "./chunk-IY53MZW2.js";
49
+ import "./chunk-KMZXZUA7.js";
50
+ import "./chunk-HEKLTOOR.js";
51
+ import "./chunk-YR3LX3PR.js";
52
+ import "./chunk-2ZXYLPPT.js";
53
+ import "./chunk-PU44PXY2.js";
54
54
 
55
55
  // packages/engine/Source/Workers/upsampleVerticesFromCesium3DTilesTerrain.js
56
56
  function upsampleVerticesFromCesium3DTilesTerrain(options, transferableObjects) {
@@ -4036,6 +4036,7 @@ Cesium3DTileset.prototype.showWireframe = function ({
4036
4036
  lineWidth = 1.0,
4037
4037
  mode = "lines",
4038
4038
  overlay = false,
4039
+ effects,
4039
4040
  } = {}) {
4040
4041
  if (!this.debugWireframe) {
4041
4042
  this._wireframeOriginalStyle = this.style;
@@ -4049,6 +4050,47 @@ Cesium3DTileset.prototype.showWireframe = function ({
4049
4050
  this._debugWireframeFillAlpha = fillAlpha;
4050
4051
  this.colorBlendMode = colorBlendMode;
4051
4052
 
4053
+ this._debugWireframeGlow = 0.0;
4054
+ this._debugWireframeScanSpeed = 0.0;
4055
+ this._debugWireframeScanAxis = new Cartesian3(0, 0, 1);
4056
+ this._debugWireframeScanMin = 0.0;
4057
+ this._debugWireframeScanMax = 1.0;
4058
+ this._debugWireframeModelMinHeight = undefined;
4059
+ this._debugWireframeModelMaxHeight = undefined;
4060
+
4061
+ if (defined(effects)) {
4062
+ if (defined(effects.glow) && effects.glow.enabled) {
4063
+ this._debugWireframeGlow = effects.glow.intensity ?? 0.5;
4064
+ }
4065
+ if (defined(effects.scanline) && effects.scanline.enabled) {
4066
+ this._debugWireframeScanSpeed = effects.scanline.speed ?? 0.5;
4067
+ const direction = effects.scanline.direction ?? "y";
4068
+ this._debugWireframeScanAxis = new Cartesian3(
4069
+ direction === "x" ? 1 : 0,
4070
+ direction === "y" ? 1 : 0,
4071
+ direction === "z" ? 1 : 0
4072
+ );
4073
+ const bs = this.boundingSphere;
4074
+ if (defined(bs)) {
4075
+ if (direction === "x") {
4076
+ this._debugWireframeScanMin = bs.center.x - bs.radius;
4077
+ this._debugWireframeScanMax = bs.center.x + bs.radius;
4078
+ } else if (direction === "y") {
4079
+ this._debugWireframeScanMin = bs.center.z - bs.radius;
4080
+ this._debugWireframeScanMax = bs.center.z + bs.radius;
4081
+ } else {
4082
+ const centerHeight = Cartesian3.magnitude(bs.center);
4083
+ this._debugWireframeScanMin = centerHeight - bs.radius;
4084
+ this._debugWireframeScanMax = centerHeight + bs.radius;
4085
+ }
4086
+ // Compute tileset height range from bounding sphere for scanline
4087
+ const centerHeight = Cartesian3.magnitude(bs.center);
4088
+ this._debugWireframeModelMinHeight = centerHeight - bs.radius;
4089
+ this._debugWireframeModelMaxHeight = centerHeight + bs.radius;
4090
+ }
4091
+ }
4092
+ }
4093
+
4052
4094
  if (defined(fillColor)) {
4053
4095
  const fillColorWithAlpha = Color.clone(fillColor);
4054
4096
  fillColorWithAlpha.alpha = fillAlpha;
@@ -1,5 +1,6 @@
1
1
  import Buffer from "../../Renderer/Buffer.js";
2
2
  import BufferUsage from "../../Renderer/BufferUsage.js";
3
+ import Cartesian3 from "../../Core/Cartesian3.js";
3
4
  import Color from "../../Core/Color.js";
4
5
  import ComponentDatatype from "../../Core/ComponentDatatype.js";
5
6
  import defined from "../../Core/defined.js";
@@ -52,7 +53,17 @@ BarycentricWireframePipelineStage.process = function (
52
53
  );
53
54
  }
54
55
 
56
+ if ((model._debugWireframeScanSpeed ?? 0.0) > 0.0) {
57
+ shaderBuilder.addDefine(
58
+ "WIREFRAME_SCANLINE",
59
+ undefined,
60
+ ShaderDestination.FRAGMENT,
61
+ );
62
+ }
63
+
55
64
  shaderBuilder.addVarying("vec3", "v_barycentric");
65
+ shaderBuilder.addVarying("vec3", "v_wireframeWorldPos");
66
+ shaderBuilder.addVarying("vec3", "v_wireframeLocalPos");
56
67
 
57
68
  shaderBuilder.addUniform(
58
69
  "float",
@@ -69,6 +80,46 @@ BarycentricWireframePipelineStage.process = function (
69
80
  "u_wireframeFillAlpha",
70
81
  ShaderDestination.FRAGMENT,
71
82
  );
83
+ shaderBuilder.addUniform(
84
+ "float",
85
+ "u_wireframeGlow",
86
+ ShaderDestination.FRAGMENT,
87
+ );
88
+ shaderBuilder.addUniform(
89
+ "float",
90
+ "u_wireframeScanSpeed",
91
+ ShaderDestination.FRAGMENT,
92
+ );
93
+ shaderBuilder.addUniform(
94
+ "float",
95
+ "u_wireframeTime",
96
+ ShaderDestination.FRAGMENT,
97
+ );
98
+ shaderBuilder.addUniform(
99
+ "float",
100
+ "u_wireframeModelMinHeight",
101
+ ShaderDestination.BOTH,
102
+ );
103
+ shaderBuilder.addUniform(
104
+ "float",
105
+ "u_wireframeModelMaxHeight",
106
+ ShaderDestination.BOTH,
107
+ );
108
+ shaderBuilder.addUniform(
109
+ "vec3",
110
+ "u_wireframeScanAxis",
111
+ ShaderDestination.FRAGMENT,
112
+ );
113
+ shaderBuilder.addUniform(
114
+ "float",
115
+ "u_wireframeScanMin",
116
+ ShaderDestination.FRAGMENT,
117
+ );
118
+ shaderBuilder.addUniform(
119
+ "float",
120
+ "u_wireframeScanMax",
121
+ ShaderDestination.FRAGMENT,
122
+ );
72
123
 
73
124
  const stageUniforms = renderResources.uniformMap;
74
125
  stageUniforms.u_wireframeWidth = function () {
@@ -82,6 +133,30 @@ BarycentricWireframePipelineStage.process = function (
82
133
  ? 1.0
83
134
  : (model._debugWireframeFillAlpha ?? 1.0);
84
135
  };
136
+ stageUniforms.u_wireframeGlow = function () {
137
+ return model._debugWireframeGlow ?? 0.0;
138
+ };
139
+ stageUniforms.u_wireframeScanSpeed = function () {
140
+ return model._debugWireframeScanSpeed ?? 0.0;
141
+ };
142
+ stageUniforms.u_wireframeTime = function () {
143
+ return frameState.time.secondsOfDay;
144
+ };
145
+ stageUniforms.u_wireframeModelMinHeight = function () {
146
+ return model._debugWireframeModelMinHeight ?? 0.0;
147
+ };
148
+ stageUniforms.u_wireframeModelMaxHeight = function () {
149
+ return model._debugWireframeModelMaxHeight ?? 1.0;
150
+ };
151
+ stageUniforms.u_wireframeScanAxis = function () {
152
+ return model._debugWireframeScanAxis ?? new Cartesian3(0, 0, 1);
153
+ };
154
+ stageUniforms.u_wireframeScanMin = function () {
155
+ return model._debugWireframeScanMin ?? 0.0;
156
+ };
157
+ stageUniforms.u_wireframeScanMax = function () {
158
+ return model._debugWireframeScanMax ?? 1.0;
159
+ };
85
160
 
86
161
  // Enable alpha blending when fillAlpha < 1.0 in preserve-original-color mode
87
162
  if (!defined(model._debugWireframeFillColor) && (model._debugWireframeFillAlpha ?? 1.0) < 1.0) {
@@ -2029,9 +2029,12 @@ Model.prototype.showWireframe = function ({
2029
2029
  lineWidth = 1.0,
2030
2030
  mode = "lines",
2031
2031
  overlay = false,
2032
+ effects,
2032
2033
  } = {}) {
2033
- this._wireframeOriginalColor = this.color;
2034
- this._wireframeOriginalColorBlendMode = this.colorBlendMode;
2034
+ if (!this.debugWireframe) {
2035
+ this._wireframeOriginalColor = this.color;
2036
+ this._wireframeOriginalColorBlendMode = this.colorBlendMode;
2037
+ }
2035
2038
  this._debugWireframeFillAlpha = fillAlpha;
2036
2039
  this._debugWireframeColor = Color.clone(color);
2037
2040
  this._debugWireframeFillColor = defined(fillColor)
@@ -2043,6 +2046,50 @@ Model.prototype.showWireframe = function ({
2043
2046
  fillColorWithAlpha.alpha = fillAlpha;
2044
2047
  this.color = fillColorWithAlpha;
2045
2048
  this.colorBlendMode = colorBlendMode;
2049
+ } else {
2050
+ this.color = this._wireframeOriginalColor;
2051
+ this.colorBlendMode = ColorBlendMode.HIGHLIGHT;
2052
+ }
2053
+
2054
+ this._debugWireframeGlow = 0.0;
2055
+ this._debugWireframeScanSpeed = 0.0;
2056
+ this._debugWireframeScanAxis = new Cartesian3(0, 0, 1);
2057
+ this._debugWireframeScanMin = 0.0;
2058
+ this._debugWireframeScanMax = 1.0;
2059
+ this._debugWireframeModelMinHeight = undefined;
2060
+ this._debugWireframeModelMaxHeight = undefined;
2061
+
2062
+ if (defined(effects)) {
2063
+ if (defined(effects.glow) && effects.glow.enabled) {
2064
+ this._debugWireframeGlow = effects.glow.intensity ?? 0.5;
2065
+ }
2066
+ if (defined(effects.scanline) && effects.scanline.enabled) {
2067
+ this._debugWireframeScanSpeed = effects.scanline.speed ?? 0.5;
2068
+ const direction = effects.scanline.direction ?? "y";
2069
+ this._debugWireframeScanAxis = new Cartesian3(
2070
+ direction === "x" ? 1 : 0,
2071
+ direction === "y" ? 1 : 0,
2072
+ direction === "z" ? 1 : 0
2073
+ );
2074
+ const bs = this.boundingSphere;
2075
+ if (defined(bs)) {
2076
+ if (direction === "x") {
2077
+ this._debugWireframeScanMin = bs.center.x - bs.radius;
2078
+ this._debugWireframeScanMax = bs.center.x + bs.radius;
2079
+ } else if (direction === "y") {
2080
+ this._debugWireframeScanMin = bs.center.z - bs.radius;
2081
+ this._debugWireframeScanMax = bs.center.z + bs.radius;
2082
+ } else {
2083
+ const centerHeight = Cartesian3.magnitude(bs.center);
2084
+ this._debugWireframeScanMin = centerHeight - bs.radius;
2085
+ this._debugWireframeScanMax = centerHeight + bs.radius;
2086
+ }
2087
+ // Compute model height range from bounding sphere for scanline
2088
+ const centerHeight = Cartesian3.magnitude(bs.center);
2089
+ this._debugWireframeModelMinHeight = centerHeight - bs.radius;
2090
+ this._debugWireframeModelMaxHeight = centerHeight + bs.radius;
2091
+ }
2092
+ }
2046
2093
  }
2047
2094
 
2048
2095
  this.debugWireframeLineWidth = lineWidth;
@@ -1,5 +1,6 @@
1
1
  import Color from "../../Core/Color.js";
2
2
  import combine from "../../Core/combine.js";
3
+ import Cartesian3 from "../../Core/Cartesian3.js";
3
4
  import defined from "../../Core/defined.js";
4
5
  import destroyObject from "../../Core/destroyObject.js";
5
6
  import DeveloperError from "../../Core/DeveloperError.js";
@@ -275,6 +276,13 @@ Model3DTileContent.prototype.update = function (tileset, frameState) {
275
276
  model.debugWireframeLineWidth = tileset.debugWireframeLineWidth;
276
277
  model.debugWireframeMode = tileset.debugWireframeMode;
277
278
  model.debugWireframeOverlay = tileset.debugWireframeOverlay;
279
+ model._debugWireframeGlow = tileset._debugWireframeGlow ?? 0.0;
280
+ model._debugWireframeScanSpeed = tileset._debugWireframeScanSpeed ?? 0.0;
281
+ model._debugWireframeScanAxis = tileset._debugWireframeScanAxis ?? new Cartesian3(0, 0, 1);
282
+ model._debugWireframeScanMin = tileset._debugWireframeScanMin ?? 0.0;
283
+ model._debugWireframeScanMax = tileset._debugWireframeScanMax ?? 1.0;
284
+ model._debugWireframeModelMinHeight = tileset._debugWireframeModelMinHeight ?? 0.0;
285
+ model._debugWireframeModelMaxHeight = tileset._debugWireframeModelMaxHeight ?? 1.0;
278
286
  model.showOutline = tileset.showOutline;
279
287
  model.outlineColor = tileset.outlineColor;
280
288
  model.pointCloudShading = tileset.pointCloudShading;
@@ -284,6 +292,8 @@ Model3DTileContent.prototype.update = function (tileset, frameState) {
284
292
  fillColor.alpha = tileset._debugWireframeFillAlpha;
285
293
  model.color = fillColor;
286
294
  model.colorBlendMode = tileset.colorBlendMode;
295
+ } else if (!tileset.debugWireframe) {
296
+ model.color = undefined;
287
297
  }
288
298
 
289
299
  // Updating clipping planes requires more effort because of ownership checks
@@ -555,6 +565,13 @@ function makeModelOptions(tileset, tile, content, additionalOptions) {
555
565
  debugWireframeLineWidth: tileset.debugWireframeLineWidth,
556
566
  debugWireframeMode: tileset.debugWireframeMode,
557
567
  debugWireframeOverlay: tileset.debugWireframeOverlay,
568
+ _debugWireframeGlow: tileset._debugWireframeGlow ?? 0.0,
569
+ _debugWireframeScanSpeed: tileset._debugWireframeScanSpeed ?? 0.0,
570
+ _debugWireframeScanAxis: tileset._debugWireframeScanAxis ?? new Cartesian3(0, 0, 1),
571
+ _debugWireframeScanMin: tileset._debugWireframeScanMin ?? 0.0,
572
+ _debugWireframeScanMax: tileset._debugWireframeScanMax ?? 1.0,
573
+ _debugWireframeModelMinHeight: tileset._debugWireframeModelMinHeight ?? 0.0,
574
+ _debugWireframeModelMaxHeight: tileset._debugWireframeModelMaxHeight ?? 1.0,
558
575
  projectTo2D: tileset._projectTo2D,
559
576
  enablePick: tileset._enablePick,
560
577
  enableShowOutline: tileset._enableShowOutline,
@@ -133,12 +133,46 @@ void main()
133
133
  vec3 a3 = smoothstep(vec3(0.0), d * u_wireframeWidth, v_barycentric);
134
134
  float edge = min(min(a3.x, a3.y), a3.z);
135
135
 
136
+ vec3 wireframeColor = u_wireframeColor.rgb;
137
+ float wireframeAlpha = u_wireframeColor.a;
138
+
139
+ #ifdef WIREFRAME_SCANLINE
140
+ float scanProgress = fract(u_wireframeTime * u_wireframeScanSpeed);
141
+ float scanCoord;
142
+ float scanRange;
143
+ if (u_wireframeScanAxis.z > 0.5) {
144
+ scanCoord = length(v_wireframeWorldPos);
145
+ scanRange = u_wireframeScanMax - u_wireframeScanMin;
146
+ } else if (u_wireframeScanAxis.y > 0.5) {
147
+ scanCoord = v_wireframeWorldPos.z;
148
+ scanRange = u_wireframeScanMax - u_wireframeScanMin;
149
+ } else {
150
+ scanCoord = v_wireframeWorldPos.x;
151
+ scanRange = u_wireframeScanMax - u_wireframeScanMin;
152
+ }
153
+ float scanPlanePos = u_wireframeScanMin + scanProgress * scanRange;
154
+ float scanDist = abs(scanCoord - scanPlanePos);
155
+ float scanWidth = max(scanRange * 0.015, 0.001);
156
+ float scanGlow = smoothstep(scanWidth, 0.0, scanDist);
157
+ vec3 scanlineHighlight = mix(wireframeColor, vec3(1.0), 0.6) * 1.5;
158
+ wireframeColor = mix(wireframeColor, scanlineHighlight, scanGlow);
159
+ #endif
160
+
161
+ float glowFactor = 0.0;
162
+ if (u_wireframeGlow > 0.0) {
163
+ vec3 glowA3 = smoothstep(vec3(0.0), d * u_wireframeWidth * (1.0 + u_wireframeGlow * 2.0), v_barycentric);
164
+ float glowEdge = min(min(glowA3.x, glowA3.y), glowA3.z);
165
+ glowFactor = (1.0 - glowEdge) * u_wireframeGlow;
166
+ }
167
+
136
168
  #ifdef WIREFRAME_OVERLAY
137
- color.rgb = mix(u_wireframeColor.rgb, color.rgb, edge);
169
+ color.rgb = mix(wireframeColor, color.rgb, edge);
170
+ color.rgb += glowFactor * wireframeColor;
138
171
  color.a *= u_wireframeFillAlpha;
139
172
  #else
140
- color.rgb = mix(u_wireframeColor.rgb, color.rgb, edge);
141
- color.a = mix(u_wireframeColor.a, color.a * u_wireframeFillAlpha, edge);
173
+ color.rgb = mix(wireframeColor, color.rgb, edge);
174
+ color.rgb += glowFactor * wireframeColor;
175
+ color.a = mix(wireframeAlpha, color.a * u_wireframeFillAlpha, edge);
142
176
  #endif
143
177
  #endif
144
178
 
@@ -133,13 +133,47 @@ void main()\n\
133
133
  vec3 d = fwidth(v_barycentric);\n\
134
134
  vec3 a3 = smoothstep(vec3(0.0), d * u_wireframeWidth, v_barycentric);\n\
135
135
  float edge = min(min(a3.x, a3.y), a3.z);\n\
136
+ \n\
137
+ vec3 wireframeColor = u_wireframeColor.rgb;\n\
138
+ float wireframeAlpha = u_wireframeColor.a;\n\
139
+ \n\
140
+ #ifdef WIREFRAME_SCANLINE\n\
141
+ float scanProgress = fract(u_wireframeTime * u_wireframeScanSpeed);\n\
142
+ float scanCoord;\n\
143
+ float scanRange;\n\
144
+ if (u_wireframeScanAxis.z > 0.5) {\n\
145
+ scanCoord = length(v_wireframeWorldPos);\n\
146
+ scanRange = u_wireframeScanMax - u_wireframeScanMin;\n\
147
+ } else if (u_wireframeScanAxis.y > 0.5) {\n\
148
+ scanCoord = v_wireframeWorldPos.z;\n\
149
+ scanRange = u_wireframeScanMax - u_wireframeScanMin;\n\
150
+ } else {\n\
151
+ scanCoord = v_wireframeWorldPos.x;\n\
152
+ scanRange = u_wireframeScanMax - u_wireframeScanMin;\n\
153
+ }\n\
154
+ float scanPlanePos = u_wireframeScanMin + scanProgress * scanRange;\n\
155
+ float scanDist = abs(scanCoord - scanPlanePos);\n\
156
+ float scanWidth = max(scanRange * 0.015, 0.001);\n\
157
+ float scanGlow = smoothstep(scanWidth, 0.0, scanDist);\n\
158
+ vec3 scanlineHighlight = mix(wireframeColor, vec3(1.0), 0.6) * 1.5;\n\
159
+ wireframeColor = mix(wireframeColor, scanlineHighlight, scanGlow);\n\
160
+ #endif\n\
161
+ \n\
162
+ float glowFactor = 0.0;\n\
163
+ if (u_wireframeGlow > 0.0) {\n\
164
+ vec3 glowA3 = smoothstep(vec3(0.0), d * u_wireframeWidth * (1.0 + u_wireframeGlow * 2.0), v_barycentric);\n\
165
+ float glowEdge = min(min(glowA3.x, glowA3.y), glowA3.z);\n\
166
+ glowFactor = (1.0 - glowEdge) * u_wireframeGlow;\n\
167
+ }\n\
136
168
  \n\
137
169
  #ifdef WIREFRAME_OVERLAY\n\
138
- color.rgb = mix(u_wireframeColor.rgb, color.rgb, edge);\n\
170
+ color.rgb = mix(wireframeColor, color.rgb, edge);\n\
171
+ color.rgb += glowFactor * wireframeColor;\n\
139
172
  color.a *= u_wireframeFillAlpha;\n\
140
173
  #else\n\
141
- color.rgb = mix(u_wireframeColor.rgb, color.rgb, edge);\n\
142
- color.a = mix(u_wireframeColor.a, color.a * u_wireframeFillAlpha, edge);\n\
174
+ color.rgb = mix(wireframeColor, color.rgb, edge);\n\
175
+ color.rgb += glowFactor * wireframeColor;\n\
176
+ color.a = mix(wireframeAlpha, color.a * u_wireframeFillAlpha, edge);\n\
143
177
  #endif\n\
144
178
  #endif\n\
145
179
  \n\
@@ -161,5 +161,8 @@ void main()
161
161
 
162
162
  #ifdef HAS_BARYCENTRIC_WIREFRAME
163
163
  v_barycentric = a_barycentric;
164
+ vec4 _wireframeWorldPos = czm_model * vec4(attributes.positionMC, 1.0);
165
+ v_wireframeWorldPos = _wireframeWorldPos.xyz;
166
+ v_wireframeLocalPos = attributes.positionMC;
164
167
  #endif
165
168
  }
@@ -162,6 +162,9 @@ void main()\n\
162
162
  \n\
163
163
  #ifdef HAS_BARYCENTRIC_WIREFRAME\n\
164
164
  v_barycentric = a_barycentric;\n\
165
+ vec4 _wireframeWorldPos = czm_model * vec4(attributes.positionMC, 1.0);\n\
166
+ v_wireframeWorldPos = _wireframeWorldPos.xyz;\n\
167
+ v_wireframeLocalPos = attributes.positionMC;\n\
165
168
  #endif\n\
166
169
  }\n\
167
170
  ";