@rtzh/engine 0.0.6 → 0.0.8

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 +36 -0
  169. package/Source/Scene/Model/BarycentricWireframePipelineStage.js +89 -30
  170. package/Source/Scene/Model/Model.js +46 -7
  171. package/Source/Scene/Model/Model3DTileContent.js +17 -5
  172. package/Source/Shaders/Model/ModelFS.glsl +34 -3
  173. package/Source/Shaders/Model/ModelFS.js +34 -3
  174. package/Source/Shaders/Model/ModelVS.glsl +4 -0
  175. package/Source/Shaders/Model/ModelVS.js +4 -0
  176. package/index.js +101 -101
  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,41 @@ 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
+
4059
+ if (defined(effects)) {
4060
+ if (defined(effects.glow) && effects.glow.enabled) {
4061
+ this._debugWireframeGlow = effects.glow.intensity ?? 0.5;
4062
+ }
4063
+ if (defined(effects.scanline) && effects.scanline.enabled) {
4064
+ this._debugWireframeScanSpeed = effects.scanline.speed ?? 0.5;
4065
+ const direction = effects.scanline.direction ?? "y";
4066
+ this._debugWireframeScanAxis = new Cartesian3(
4067
+ direction === "x" ? 1 : 0,
4068
+ direction === "y" ? 1 : 0,
4069
+ direction === "z" ? 1 : 0,
4070
+ );
4071
+ const bs = this.boundingSphere;
4072
+ if (defined(bs)) {
4073
+ if (direction === "x") {
4074
+ this._debugWireframeScanMin = bs.center.x - bs.radius;
4075
+ this._debugWireframeScanMax = bs.center.x + bs.radius;
4076
+ } else if (direction === "y") {
4077
+ this._debugWireframeScanMin = bs.center.z - bs.radius;
4078
+ this._debugWireframeScanMax = bs.center.z + bs.radius;
4079
+ } else {
4080
+ const centerHeight = Cartesian3.magnitude(bs.center);
4081
+ this._debugWireframeScanMin = centerHeight - bs.radius;
4082
+ this._debugWireframeScanMax = centerHeight + bs.radius;
4083
+ }
4084
+ }
4085
+ }
4086
+ }
4087
+
4052
4088
  if (defined(fillColor)) {
4053
4089
  const fillColorWithAlpha = Color.clone(fillColor);
4054
4090
  fillColorWithAlpha.alpha = fillAlpha;
@@ -1,9 +1,9 @@
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";
6
- import IndexDatatype from "../../Core/IndexDatatype.js";
7
7
  import ModelUtility from "./ModelUtility.js";
8
8
  import PrimitiveType from "../../Core/PrimitiveType.js";
9
9
  import ShaderDestination from "../../Renderer/ShaderDestination.js";
@@ -16,6 +16,8 @@ const BarycentricWireframePipelineStage = {
16
16
  name: "BarycentricWireframePipelineStage",
17
17
  };
18
18
 
19
+ const defaultScanAxis = new Cartesian3(0, 0, 1);
20
+
19
21
  BarycentricWireframePipelineStage.process = function (
20
22
  renderResources,
21
23
  primitive,
@@ -44,6 +46,8 @@ BarycentricWireframePipelineStage.process = function (
44
46
  ShaderDestination.BOTH,
45
47
  );
46
48
 
49
+ const scanlineEnabled = (model._debugWireframeScanSpeed ?? 0.0) > 0.0;
50
+
47
51
  if (model.debugWireframeOverlay) {
48
52
  shaderBuilder.addDefine(
49
53
  "WIREFRAME_OVERLAY",
@@ -52,23 +56,41 @@ BarycentricWireframePipelineStage.process = function (
52
56
  );
53
57
  }
54
58
 
59
+ if (scanlineEnabled) {
60
+ shaderBuilder.addDefine(
61
+ "WIREFRAME_SCANLINE",
62
+ undefined,
63
+ ShaderDestination.BOTH,
64
+ );
65
+ }
66
+
55
67
  shaderBuilder.addVarying("vec3", "v_barycentric");
68
+ if (scanlineEnabled) {
69
+ shaderBuilder.addVarying("vec3", "v_wireframeWorldPos");
70
+ }
56
71
 
57
- shaderBuilder.addUniform(
58
- "float",
59
- "u_wireframeWidth",
60
- ShaderDestination.FRAGMENT,
61
- );
62
- shaderBuilder.addUniform(
63
- "vec4",
64
- "u_wireframeColor",
65
- ShaderDestination.FRAGMENT,
66
- );
67
- shaderBuilder.addUniform(
68
- "float",
69
- "u_wireframeFillAlpha",
70
- ShaderDestination.FRAGMENT,
71
- );
72
+ shaderBuilder.addUniform("float", "u_wireframeWidth", ShaderDestination.FRAGMENT);
73
+ shaderBuilder.addUniform("vec4", "u_wireframeColor", ShaderDestination.FRAGMENT);
74
+ shaderBuilder.addUniform("float", "u_wireframeFillAlpha", ShaderDestination.FRAGMENT);
75
+ shaderBuilder.addUniform("float", "u_wireframeGlow", ShaderDestination.FRAGMENT);
76
+
77
+ const hasFillColor = defined(model._debugWireframeFillColor);
78
+ if (hasFillColor) {
79
+ shaderBuilder.addDefine(
80
+ "HAS_WIREFRAME_FILL_COLOR",
81
+ undefined,
82
+ ShaderDestination.FRAGMENT,
83
+ );
84
+ shaderBuilder.addUniform("vec4", "u_wireframeFillColor", ShaderDestination.FRAGMENT);
85
+ }
86
+
87
+ if (scanlineEnabled) {
88
+ shaderBuilder.addUniform("float", "u_wireframeScanSpeed", ShaderDestination.FRAGMENT);
89
+ shaderBuilder.addUniform("float", "u_wireframeTime", ShaderDestination.FRAGMENT);
90
+ shaderBuilder.addUniform("vec3", "u_wireframeScanAxis", ShaderDestination.FRAGMENT);
91
+ shaderBuilder.addUniform("float", "u_wireframeScanMin", ShaderDestination.FRAGMENT);
92
+ shaderBuilder.addUniform("float", "u_wireframeScanMax", ShaderDestination.FRAGMENT);
93
+ }
72
94
 
73
95
  const stageUniforms = renderResources.uniformMap;
74
96
  stageUniforms.u_wireframeWidth = function () {
@@ -82,9 +104,38 @@ BarycentricWireframePipelineStage.process = function (
82
104
  ? 1.0
83
105
  : (model._debugWireframeFillAlpha ?? 1.0);
84
106
  };
107
+ if (hasFillColor) {
108
+ stageUniforms.u_wireframeFillColor = function () {
109
+ return model._debugWireframeFillColor;
110
+ };
111
+ }
112
+ stageUniforms.u_wireframeGlow = function () {
113
+ return model._debugWireframeGlow ?? 0.0;
114
+ };
115
+
116
+ if (scanlineEnabled) {
117
+ stageUniforms.u_wireframeScanSpeed = function () {
118
+ return model._debugWireframeScanSpeed ?? 0.0;
119
+ };
120
+ stageUniforms.u_wireframeTime = function () {
121
+ return frameState.time.secondsOfDay;
122
+ };
123
+ stageUniforms.u_wireframeScanAxis = function () {
124
+ return model._debugWireframeScanAxis ?? defaultScanAxis;
125
+ };
126
+ stageUniforms.u_wireframeScanMin = function () {
127
+ return model._debugWireframeScanMin ?? 0.0;
128
+ };
129
+ stageUniforms.u_wireframeScanMax = function () {
130
+ return model._debugWireframeScanMax ?? 1.0;
131
+ };
132
+ }
85
133
 
86
- // Enable alpha blending when fillAlpha < 1.0 in preserve-original-color mode
87
- if (!defined(model._debugWireframeFillColor) && (model._debugWireframeFillAlpha ?? 1.0) < 1.0) {
134
+ // Enable alpha blending when fillAlpha < 1.0 or fillColor alpha < 1.0
135
+ const fillAlphaValue = defined(model._debugWireframeFillColor)
136
+ ? model._debugWireframeFillColor.alpha
137
+ : (model._debugWireframeFillAlpha ?? 1.0);
138
+ if (fillAlphaValue < 1.0) {
88
139
  renderResources.alphaOptions.pass = Pass.TRANSLUCENT;
89
140
  }
90
141
 
@@ -93,6 +144,7 @@ BarycentricWireframePipelineStage.process = function (
93
144
  primitive,
94
145
  barycentricAttributeLocation,
95
146
  frameState,
147
+ model.debugWireframeOverlay,
96
148
  );
97
149
  };
98
150
 
@@ -198,6 +250,7 @@ function deindexGeometryAndAddBarycentric(
198
250
  primitive,
199
251
  barycentricAttributeLocation,
200
252
  frameState,
253
+ overlay,
201
254
  ) {
202
255
  const model = renderResources.model;
203
256
  const shaderBuilder = renderResources.shaderBuilder;
@@ -262,18 +315,24 @@ function deindexGeometryAndAddBarycentric(
262
315
  let attributeIndex;
263
316
  if (semantic === VertexAttributeSemantic.POSITION) {
264
317
  attributeIndex = shaderBuilder.attributeLocations.position;
265
- } else if (semantic === VertexAttributeSemantic.NORMAL) {
266
- attributeIndex = shaderBuilder.attributeLocations.normal;
267
- } else if (semantic === VertexAttributeSemantic.TANGENT) {
268
- attributeIndex = shaderBuilder.attributeLocations.tangent;
269
- } else if (semantic === VertexAttributeSemantic.TEXCOORD) {
270
- attributeIndex = shaderBuilder.attributeLocations["texCoord_" + setIndex];
271
- } else if (semantic === VertexAttributeSemantic.COLOR) {
272
- attributeIndex = shaderBuilder.attributeLocations["color_" + setIndex];
273
- } else if (semantic === VertexAttributeSemantic.JOINTS) {
274
- attributeIndex = shaderBuilder.attributeLocations["joints_" + setIndex];
275
- } else if (semantic === VertexAttributeSemantic.WEIGHTS) {
276
- attributeIndex = shaderBuilder.attributeLocations["weights_" + setIndex];
318
+ } else if (overlay) {
319
+ // Only deindex non-position attributes in overlay mode
320
+ // (overlay needs original material for blending)
321
+ if (semantic === VertexAttributeSemantic.NORMAL) {
322
+ attributeIndex = shaderBuilder.attributeLocations.normal;
323
+ } else if (semantic === VertexAttributeSemantic.TANGENT) {
324
+ attributeIndex = shaderBuilder.attributeLocations.tangent;
325
+ } else if (semantic === VertexAttributeSemantic.TEXCOORD) {
326
+ attributeIndex = shaderBuilder.attributeLocations["texCoord_" + setIndex];
327
+ } else if (semantic === VertexAttributeSemantic.COLOR) {
328
+ attributeIndex = shaderBuilder.attributeLocations["color_" + setIndex];
329
+ } else if (semantic === VertexAttributeSemantic.JOINTS) {
330
+ attributeIndex = shaderBuilder.attributeLocations["joints_" + setIndex];
331
+ } else if (semantic === VertexAttributeSemantic.WEIGHTS) {
332
+ attributeIndex = shaderBuilder.attributeLocations["weights_" + setIndex];
333
+ } else {
334
+ continue;
335
+ }
277
336
  } else {
278
337
  continue;
279
338
  }
@@ -421,6 +421,9 @@ function Model(options) {
421
421
  this._debugWireframeMode = options.debugWireframeMode ?? "lines";
422
422
  this._debugWireframeOverlay = options.debugWireframeOverlay ?? false;
423
423
  this._debugWireframeFillAlpha = options.debugWireframeFillAlpha ?? 0.2;
424
+ this._debugWireframeFillColor = defined(options.debugWireframeFillColor)
425
+ ? Color.clone(options.debugWireframeFillColor)
426
+ : undefined;
424
427
  this._debugWireframeColor = Color.clone(Color.WHITE);
425
428
  this._wireframeOriginalColor = undefined;
426
429
  this._wireframeOriginalColorBlendMode = undefined;
@@ -2029,20 +2032,56 @@ Model.prototype.showWireframe = function ({
2029
2032
  lineWidth = 1.0,
2030
2033
  mode = "lines",
2031
2034
  overlay = false,
2035
+ effects,
2032
2036
  } = {}) {
2033
- this._wireframeOriginalColor = this.color;
2034
- this._wireframeOriginalColorBlendMode = this.colorBlendMode;
2037
+ if (!this.debugWireframe) {
2038
+ this._wireframeOriginalColor = this.color;
2039
+ this._wireframeOriginalColorBlendMode = this.colorBlendMode;
2040
+ }
2035
2041
  this._debugWireframeFillAlpha = fillAlpha;
2036
2042
  this._debugWireframeColor = Color.clone(color);
2037
2043
  this._debugWireframeFillColor = defined(fillColor)
2038
2044
  ? Color.clone(fillColor)
2039
2045
  : undefined;
2040
2046
 
2041
- if (defined(fillColor)) {
2042
- const fillColorWithAlpha = Color.clone(fillColor);
2043
- fillColorWithAlpha.alpha = fillAlpha;
2044
- this.color = fillColorWithAlpha;
2045
- this.colorBlendMode = colorBlendMode;
2047
+ if (!defined(fillColor)) {
2048
+ this.color = this._wireframeOriginalColor;
2049
+ this.colorBlendMode = this._wireframeOriginalColorBlendMode ?? ColorBlendMode.HIGHLIGHT;
2050
+ }
2051
+
2052
+ this._debugWireframeGlow = 0.0;
2053
+ this._debugWireframeScanSpeed = 0.0;
2054
+ this._debugWireframeScanAxis = new Cartesian3(0, 0, 1);
2055
+ this._debugWireframeScanMin = 0.0;
2056
+ this._debugWireframeScanMax = 1.0;
2057
+
2058
+ if (defined(effects)) {
2059
+ if (defined(effects.glow) && effects.glow.enabled) {
2060
+ this._debugWireframeGlow = effects.glow.intensity ?? 0.5;
2061
+ }
2062
+ if (defined(effects.scanline) && effects.scanline.enabled) {
2063
+ this._debugWireframeScanSpeed = effects.scanline.speed ?? 0.5;
2064
+ const direction = effects.scanline.direction ?? "y";
2065
+ this._debugWireframeScanAxis = new Cartesian3(
2066
+ direction === "x" ? 1 : 0,
2067
+ direction === "y" ? 1 : 0,
2068
+ direction === "z" ? 1 : 0,
2069
+ );
2070
+ const bs = this.boundingSphere;
2071
+ if (defined(bs)) {
2072
+ if (direction === "x") {
2073
+ this._debugWireframeScanMin = bs.center.x - bs.radius;
2074
+ this._debugWireframeScanMax = bs.center.x + bs.radius;
2075
+ } else if (direction === "y") {
2076
+ this._debugWireframeScanMin = bs.center.z - bs.radius;
2077
+ this._debugWireframeScanMax = bs.center.z + bs.radius;
2078
+ } else {
2079
+ const centerHeight = Cartesian3.magnitude(bs.center);
2080
+ this._debugWireframeScanMin = centerHeight - bs.radius;
2081
+ this._debugWireframeScanMax = centerHeight + bs.radius;
2082
+ }
2083
+ }
2084
+ }
2046
2085
  }
2047
2086
 
2048
2087
  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";
@@ -271,19 +272,23 @@ Model3DTileContent.prototype.update = function (tileset, frameState) {
271
272
  model.splitDirection = tileset.splitDirection;
272
273
  model.debugWireframe = tileset.debugWireframe;
273
274
  model.debugWireframeColor = tileset._debugWireframeColor;
275
+ model._debugWireframeFillColor = tileset._debugWireframeFillColor;
274
276
  model.debugWireframeFillAlpha = tileset._debugWireframeFillAlpha;
275
277
  model.debugWireframeLineWidth = tileset.debugWireframeLineWidth;
276
278
  model.debugWireframeMode = tileset.debugWireframeMode;
277
279
  model.debugWireframeOverlay = tileset.debugWireframeOverlay;
280
+ model._debugWireframeGlow = tileset._debugWireframeGlow ?? 0.0;
281
+ model._debugWireframeScanSpeed = tileset._debugWireframeScanSpeed ?? 0.0;
282
+ model._debugWireframeScanAxis =
283
+ tileset._debugWireframeScanAxis ?? new Cartesian3(0, 0, 1);
284
+ model._debugWireframeScanMin = tileset._debugWireframeScanMin ?? 0.0;
285
+ model._debugWireframeScanMax = tileset._debugWireframeScanMax ?? 1.0;
278
286
  model.showOutline = tileset.showOutline;
279
287
  model.outlineColor = tileset.outlineColor;
280
288
  model.pointCloudShading = tileset.pointCloudShading;
281
289
 
282
- if (tileset.debugWireframe && defined(tileset._debugWireframeFillColor)) {
283
- const fillColor = Color.clone(tileset._debugWireframeFillColor);
284
- fillColor.alpha = tileset._debugWireframeFillAlpha;
285
- model.color = fillColor;
286
- model.colorBlendMode = tileset.colorBlendMode;
290
+ if (!tileset.debugWireframe) {
291
+ model.color = undefined;
287
292
  }
288
293
 
289
294
  // Updating clipping planes requires more effort because of ownership checks
@@ -551,10 +556,17 @@ function makeModelOptions(tileset, tile, content, additionalOptions) {
551
556
  enableDebugWireframe: tileset._enableDebugWireframe,
552
557
  debugWireframe: tileset.debugWireframe,
553
558
  debugWireframeColor: tileset._debugWireframeColor,
559
+ debugWireframeFillColor: tileset._debugWireframeFillColor,
554
560
  debugWireframeFillAlpha: tileset._debugWireframeFillAlpha,
555
561
  debugWireframeLineWidth: tileset.debugWireframeLineWidth,
556
562
  debugWireframeMode: tileset.debugWireframeMode,
557
563
  debugWireframeOverlay: tileset.debugWireframeOverlay,
564
+ _debugWireframeGlow: tileset._debugWireframeGlow ?? 0.0,
565
+ _debugWireframeScanSpeed: tileset._debugWireframeScanSpeed ?? 0.0,
566
+ _debugWireframeScanAxis:
567
+ tileset._debugWireframeScanAxis ?? new Cartesian3(0, 0, 1),
568
+ _debugWireframeScanMin: tileset._debugWireframeScanMin ?? 0.0,
569
+ _debugWireframeScanMax: tileset._debugWireframeScanMax ?? 1.0,
558
570
  projectTo2D: tileset._projectTo2D,
559
571
  enablePick: tileset._enablePick,
560
572
  enableShowOutline: tileset._enableShowOutline,
@@ -69,6 +69,11 @@ void main()
69
69
  customShaderStage(material, attributes, featureIds, metadata, metadataClass, metadataStatistics);
70
70
  #endif
71
71
 
72
+ #ifdef HAS_WIREFRAME_FILL_COLOR
73
+ material.diffuse = u_wireframeFillColor.rgb;
74
+ material.alpha = u_wireframeFillColor.a;
75
+ #endif
76
+
72
77
  lightingStage(material, attributes);
73
78
 
74
79
  #ifdef HAS_SELECTED_FEATURE_ID
@@ -133,12 +138,38 @@ void main()
133
138
  vec3 a3 = smoothstep(vec3(0.0), d * u_wireframeWidth, v_barycentric);
134
139
  float edge = min(min(a3.x, a3.y), a3.z);
135
140
 
141
+ vec3 wireframeColor = u_wireframeColor.rgb;
142
+ float wireframeAlpha = u_wireframeColor.a;
143
+
144
+ #ifdef WIREFRAME_SCANLINE
145
+ float scanProgress = fract(u_wireframeTime * u_wireframeScanSpeed);
146
+ float scanCoord;
147
+ float scanRange = u_wireframeScanMax - u_wireframeScanMin;
148
+ if (u_wireframeScanAxis.z > 0.5) {
149
+ scanCoord = length(v_wireframeWorldPos);
150
+ } else if (u_wireframeScanAxis.y > 0.5) {
151
+ scanCoord = v_wireframeWorldPos.z;
152
+ } else {
153
+ scanCoord = v_wireframeWorldPos.x;
154
+ }
155
+ float scanPlanePos = u_wireframeScanMin + scanProgress * scanRange;
156
+ float scanDist = abs(scanCoord - scanPlanePos);
157
+ float scanWidth = max(scanRange * 0.015, 0.001);
158
+ float scanGlow = smoothstep(scanWidth, 0.0, scanDist);
159
+ vec3 scanlineHighlight = mix(wireframeColor, vec3(1.0), 0.6) * 1.5;
160
+ wireframeColor = mix(wireframeColor, scanlineHighlight, scanGlow);
161
+ #endif
162
+
163
+ float glowFactor = (1.0 - edge) * u_wireframeGlow;
164
+
136
165
  #ifdef WIREFRAME_OVERLAY
137
- color.rgb = mix(u_wireframeColor.rgb, color.rgb, edge);
166
+ color.rgb = mix(wireframeColor, color.rgb, edge);
167
+ color.rgb += glowFactor * wireframeColor;
138
168
  color.a *= u_wireframeFillAlpha;
139
169
  #else
140
- color.rgb = mix(u_wireframeColor.rgb, color.rgb, edge);
141
- color.a = mix(u_wireframeColor.a, color.a * u_wireframeFillAlpha, edge);
170
+ color.rgb = mix(wireframeColor, color.rgb, edge);
171
+ color.rgb += glowFactor * wireframeColor;
172
+ color.a = mix(wireframeAlpha, color.a * u_wireframeFillAlpha, edge);
142
173
  #endif
143
174
  #endif
144
175