@rtzh/engine 0.0.9 → 0.0.11

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 (131) hide show
  1. package/Build/ThirdParty/Workers/zip-web-worker.js +586 -480
  2. package/Build/Workers/chunk-3CD4WIF4.js +101 -0
  3. package/Build/Workers/chunk-3PWX65TL.js +398 -0
  4. package/Build/Workers/chunk-4CQDMEZY.js +2058 -0
  5. package/Build/Workers/chunk-4GZLJPDW.js +8366 -0
  6. package/Build/Workers/chunk-5WKGRIN6.js +114 -0
  7. package/Build/Workers/chunk-6BNIWSFA.js +940 -0
  8. package/Build/Workers/chunk-6TWMNB7Q.js +455 -0
  9. package/Build/Workers/chunk-72Q33KL6.js +280 -0
  10. package/Build/Workers/chunk-74HENCNJ.js +171 -0
  11. package/Build/Workers/chunk-7C2MOK27.js +57 -0
  12. package/Build/Workers/chunk-7EFYX4FL.js +642 -0
  13. package/Build/Workers/chunk-7RAUHLDW.js +497 -0
  14. package/Build/Workers/chunk-B3FJJGCH.js +305 -0
  15. package/Build/Workers/chunk-BIJHMMCD.js +138 -0
  16. package/Build/Workers/chunk-CGAHG2LR.js +163 -0
  17. package/Build/Workers/chunk-CQ5PWUMS.js +37 -0
  18. package/Build/Workers/chunk-CQB3KRGK.js +198 -0
  19. package/Build/Workers/chunk-DHWZGIOA.js +139 -0
  20. package/Build/Workers/chunk-EDFDPOY6.js +55 -0
  21. package/Build/Workers/chunk-F2BQY3GT.js +1317 -0
  22. package/Build/Workers/chunk-FARHIBOA.js +75 -0
  23. package/Build/Workers/chunk-G6PDJHNG.js +476 -0
  24. package/Build/Workers/chunk-GCPD37SU.js +1054 -0
  25. package/Build/Workers/chunk-GDHDJK32.js +1045 -0
  26. package/Build/Workers/chunk-GNGGEDZK.js +352 -0
  27. package/Build/Workers/chunk-GNGZG6C6.js +162 -0
  28. package/Build/Workers/chunk-HFCJLXTG.js +55 -0
  29. package/Build/Workers/chunk-HKII76UV.js +1800 -0
  30. package/Build/Workers/chunk-HWUHUN7Z.js +387 -0
  31. package/Build/Workers/chunk-I3VVEQQ6.js +439 -0
  32. package/Build/Workers/chunk-IKMU6YHA.js +288 -0
  33. package/Build/Workers/chunk-J4PNHKWO.js +2719 -0
  34. package/Build/Workers/chunk-JFLJS4QU.js +1443 -0
  35. package/Build/Workers/chunk-JJWMDUOJ.js +44 -0
  36. package/Build/Workers/chunk-JOQFYJZ2.js +692 -0
  37. package/Build/Workers/chunk-JUJONRWD.js +788 -0
  38. package/Build/Workers/chunk-MCJRXFRL.js +102 -0
  39. package/Build/Workers/chunk-MLL4AAXV.js +1460 -0
  40. package/Build/Workers/chunk-MPCZC3G6.js +414 -0
  41. package/Build/Workers/chunk-MPHEIDPB.js +629 -0
  42. package/Build/Workers/chunk-NXZJKIYD.js +97 -0
  43. package/Build/Workers/chunk-OD7UYXFV.js +352 -0
  44. package/Build/Workers/chunk-R2AFDOIY.js +778 -0
  45. package/Build/Workers/chunk-RBLCJVK6.js +73 -0
  46. package/Build/Workers/chunk-SCF2OVAZ.js +219 -0
  47. package/Build/Workers/chunk-SJX7UJNW.js +241 -0
  48. package/Build/Workers/chunk-SZQC2TUH.js +368 -0
  49. package/Build/Workers/chunk-TAWVKT4B.js +58 -0
  50. package/Build/Workers/chunk-U267N6IJ.js +299 -0
  51. package/Build/Workers/chunk-UZXJSLDO.js +3514 -0
  52. package/Build/Workers/chunk-VP2OAU4C.js +124 -0
  53. package/Build/Workers/chunk-XMIENZET.js +256 -0
  54. package/Build/Workers/chunk-XXD3TQVI.js +837 -0
  55. package/Build/Workers/chunk-YCTK62TY.js +1483 -0
  56. package/Build/Workers/chunk-YWSB7PZP.js +511 -0
  57. package/Build/Workers/chunk-ZVXETFPZ.js +1067 -0
  58. package/Build/Workers/chunk-ZXZTWDTN.js +682 -0
  59. package/Build/Workers/combineGeometry.js +24 -24
  60. package/Build/Workers/createBoxGeometry.js +18 -18
  61. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  62. package/Build/Workers/createCircleGeometry.js +26 -26
  63. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  64. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
  65. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  66. package/Build/Workers/createCorridorGeometry.js +29 -29
  67. package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
  68. package/Build/Workers/createCylinderGeometry.js +20 -20
  69. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  70. package/Build/Workers/createEllipseGeometry.js +26 -26
  71. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  72. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  73. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  74. package/Build/Workers/createFrustumGeometry.js +18 -18
  75. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  76. package/Build/Workers/createGeometry.js +24 -24
  77. package/Build/Workers/createGroundPolylineGeometry.js +22 -22
  78. package/Build/Workers/createPlaneGeometry.js +16 -16
  79. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  80. package/Build/Workers/createPolygonGeometry.js +32 -32
  81. package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
  82. package/Build/Workers/createPolylineGeometry.js +25 -25
  83. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  84. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  85. package/Build/Workers/createRectangleGeometry.js +27 -27
  86. package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
  87. package/Build/Workers/createSimplePolylineGeometry.js +23 -23
  88. package/Build/Workers/createSphereGeometry.js +19 -19
  89. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  90. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  91. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  92. package/Build/Workers/createVectorTileGeometries.js +24 -24
  93. package/Build/Workers/createVectorTilePoints.js +13 -13
  94. package/Build/Workers/createVectorTilePolygons.js +22 -22
  95. package/Build/Workers/createVectorTilePolylines.js +14 -14
  96. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  97. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  98. package/Build/Workers/createVerticesFromHeightmap.js +22 -22
  99. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  100. package/Build/Workers/createWallGeometry.js +24 -24
  101. package/Build/Workers/createWallOutlineGeometry.js +23 -23
  102. package/Build/Workers/decodeDraco.js +10 -10
  103. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  104. package/Build/Workers/decodeI3S.js +10 -10
  105. package/Build/Workers/gaussianSplatSorter.js +4 -4
  106. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  107. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  108. package/Build/Workers/transcodeKTX2.js +6 -6
  109. package/Build/Workers/transferTypedArrayTest.js +1 -1
  110. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  111. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  112. package/README.md +69 -9
  113. package/Source/Renderer/AutomaticUniforms.js +76 -1
  114. package/Source/Renderer/UniformState.js +108 -1
  115. package/Source/Scene/Cesium3DTileset.js +4157 -4157
  116. package/Source/Scene/Model/BarycentricWireframePipelineStage.js +462 -414
  117. package/Source/Scene/Model/LightingPipelineStage.js +17 -2
  118. package/Source/Scene/Model/MaterialPipelineStage.js +50 -0
  119. package/Source/Scene/Model/Model.js +3646 -3631
  120. package/Source/Scene/Model/Model3DTileContent.js +568 -568
  121. package/Source/Scene/Model/ModelRuntimePrimitive.js +391 -391
  122. package/Source/Scene/Model/WireframePipelineStage.js +122 -122
  123. package/Source/Scene/PointLight.js +36 -0
  124. package/Source/Scene/Scene.js +9 -1
  125. package/Source/Shaders/Model/LightingStageFS.glsl +33 -0
  126. package/Source/Shaders/Model/LightingStageFS.js +33 -0
  127. package/Source/ThirdParty/Workers/zip-web-worker.js +1 -1
  128. package/Source/ThirdParty/zip-module.wasm +0 -0
  129. package/index.d.ts +809 -779
  130. package/index.js +11 -10
  131. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import BoundingRectangle from "../Core/BoundingRectangle.js";
1
+ import BoundingRectangle from "../Core/BoundingRectangle.js";
2
2
  import Cartesian2 from "../Core/Cartesian2.js";
3
3
  import Cartesian3 from "../Core/Cartesian3.js";
4
4
  import Cartesian4 from "../Core/Cartesian4.js";
@@ -145,6 +145,39 @@ function UniformState() {
145
145
  this._lightColor = new Cartesian3();
146
146
  this._lightColorHdr = new Cartesian3();
147
147
 
148
+ this._pointLightCount = 0;
149
+ this._pointLightPositionsWC = [
150
+ new Cartesian3(),
151
+ new Cartesian3(),
152
+ new Cartesian3(),
153
+ new Cartesian3(),
154
+ new Cartesian3(),
155
+ new Cartesian3(),
156
+ new Cartesian3(),
157
+ new Cartesian3(),
158
+ ];
159
+ this._pointLightPositionsEC = [
160
+ new Cartesian3(),
161
+ new Cartesian3(),
162
+ new Cartesian3(),
163
+ new Cartesian3(),
164
+ new Cartesian3(),
165
+ new Cartesian3(),
166
+ new Cartesian3(),
167
+ new Cartesian3(),
168
+ ];
169
+ this._pointLightColors = [
170
+ new Cartesian3(),
171
+ new Cartesian3(),
172
+ new Cartesian3(),
173
+ new Cartesian3(),
174
+ new Cartesian3(),
175
+ new Cartesian3(),
176
+ new Cartesian3(),
177
+ new Cartesian3(),
178
+ ];
179
+ this._pointLightRanges = [0, 0, 0, 0, 0, 0, 0, 0];
180
+
148
181
  this._pass = undefined;
149
182
  this._mode = undefined;
150
183
  this._mapProjection = undefined;
@@ -877,6 +910,61 @@ Object.defineProperties(UniformState.prototype, {
877
910
  },
878
911
  },
879
912
 
913
+ /**
914
+ * The number of active point lights.
915
+ * @memberof UniformState.prototype
916
+ * @type {number}
917
+ */
918
+ pointLightCount: {
919
+ get: function () {
920
+ return this._pointLightCount;
921
+ },
922
+ },
923
+
924
+ /**
925
+ * The positions of point lights in world coordinates.
926
+ * @memberof UniformState.prototype
927
+ * @type {Cartesian3[]}
928
+ */
929
+ pointLightPositionsWC: {
930
+ get: function () {
931
+ return this._pointLightPositionsWC;
932
+ },
933
+ },
934
+
935
+ /**
936
+ * The positions of point lights in eye coordinates.
937
+ * @memberof UniformState.prototype
938
+ * @type {Cartesian3[]}
939
+ */
940
+ pointLightPositionsEC: {
941
+ get: function () {
942
+ return this._pointLightPositionsEC;
943
+ },
944
+ },
945
+
946
+ /**
947
+ * The HDR colors of point lights.
948
+ * @memberof UniformState.prototype
949
+ * @type {Cartesian3[]}
950
+ */
951
+ pointLightColors: {
952
+ get: function () {
953
+ return this._pointLightColors;
954
+ },
955
+ },
956
+
957
+ /**
958
+ * The ranges of point lights.
959
+ * @memberof UniformState.prototype
960
+ * @type {number[]}
961
+ */
962
+ pointLightRanges: {
963
+ get: function () {
964
+ return this._pointLightRanges;
965
+ },
966
+ },
967
+
880
968
  /**
881
969
  * The high bits of the camera position.
882
970
  * @memberof UniformState.prototype
@@ -1496,6 +1584,25 @@ UniformState.prototype.update = function (frameState) {
1496
1584
  Cartesian3.clone(lightColorHdr, this._lightColor);
1497
1585
  }
1498
1586
 
1587
+ const pointLights = frameState.pointLights ?? [];
1588
+ const pointLightCount = Math.min(pointLights.length, 8);
1589
+ this._pointLightCount = pointLightCount;
1590
+
1591
+ const view = this._view;
1592
+ for (let i = 0; i < pointLightCount; i++) {
1593
+ const pl = pointLights[i];
1594
+ Cartesian3.clone(pl.position, this._pointLightPositionsWC[i]);
1595
+ Matrix4.multiplyByPoint(view, pl.position, this._pointLightPositionsEC[i]);
1596
+ this._pointLightColors[i].x = pl.color.red * pl.intensity;
1597
+ this._pointLightColors[i].y = pl.color.green * pl.intensity;
1598
+ this._pointLightColors[i].z = pl.color.blue * pl.intensity;
1599
+ this._pointLightRanges[i] = pl.range;
1600
+ }
1601
+
1602
+ for (let i = pointLightCount; i < 8; i++) {
1603
+ this._pointLightRanges[i] = 0.0;
1604
+ }
1605
+
1499
1606
  const brdfLutGenerator = frameState.brdfLutGenerator;
1500
1607
  const brdfLut = defined(brdfLutGenerator)
1501
1608
  ? brdfLutGenerator.colorTexture