@realsee/five-webgpu 1.0.0-alpha.4 → 1.0.0-alpha.6

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 (313) hide show
  1. package/ai_guides/api.md +9 -8
  2. package/ai_guides/features/camera-animation.md +1 -1
  3. package/ai_guides/features/event.md +0 -1
  4. package/ai_guides/features/five.md +8 -8
  5. package/ai_guides/features/gesture.md +1 -1
  6. package/ai_guides/features/load-external-model.md +6 -6
  7. package/ai_guides/features/load-progress.md +2 -2
  8. package/ai_guides/features/mode.md +3 -23
  9. package/ai_guides/features/model.md +1 -1
  10. package/ai_guides/features/state.md +2 -2
  11. package/ai_guides/features/ultra-hdr.md +41 -32
  12. package/ai_guides/quick-start.md +2 -2
  13. package/ai_guides/release_notes/6.8.md +2 -2
  14. package/ai_guides/support.md +0 -4
  15. package/docs/assets/hierarchy.js +1 -1
  16. package/docs/assets/navigation.js +1 -1
  17. package/docs/assets/search.js +1 -1
  18. package/docs/classes/index.AdaptiveLuminancePass.html +1 -1
  19. package/docs/classes/index.BoundingMesh.html +1 -1
  20. package/docs/classes/index.Camera.html +1 -1
  21. package/docs/classes/index.EffectComposer.html +1 -1
  22. package/docs/classes/index.EyeDomeLightingPass.html +1 -1
  23. package/docs/classes/index.Five.html +68 -67
  24. package/docs/classes/index.FivePass.html +1 -1
  25. package/docs/classes/index.FlowingFireworks3DPass.html +1 -1
  26. package/docs/classes/index.FlowingLight2DPass.html +1 -1
  27. package/docs/classes/index.FlowingLight3DPass.html +1 -1
  28. package/docs/classes/index.GaussianBlurPass.html +1 -1
  29. package/docs/classes/index.InternalWebGPURenderer.html +14 -3
  30. package/docs/classes/index.Model.html +1 -1
  31. package/docs/classes/index.ModelScene.html +1 -1
  32. package/docs/classes/index.NetworkSubscribe.html +1 -1
  33. package/docs/classes/index.PBMCustomNode.html +57 -0
  34. package/docs/classes/index.PBMGaussianSplattingNodeMaterial.html +8 -6
  35. package/docs/classes/index.PBMGaussianSplattingObject.html +10 -4
  36. package/docs/classes/index.PBMGaussianSplattingRenderMesh.html +26 -15
  37. package/docs/classes/index.PBMGroup.html +1 -1
  38. package/docs/classes/index.PBMMesh.html +1 -1
  39. package/docs/classes/index.PBMMeshBasicMaterial.html +16 -5
  40. package/docs/classes/index.PBMMeshBasicNodeMaterial.html +28 -7
  41. package/docs/classes/index.PBMMeshPanoOnlyMaterial.html +16 -5
  42. package/docs/classes/index.PBMMeshPanoOnlyNodeMaterial.html +28 -7
  43. package/docs/classes/index.PBMMeshPhongMaterial.html +16 -5
  44. package/docs/classes/index.PBMMeshPhongNodeMaterial.html +28 -7
  45. package/docs/classes/index.PBMMeshPhysicalMaterial.html +16 -5
  46. package/docs/classes/index.PBMMeshPhysicalNodeMaterial.html +28 -7
  47. package/docs/classes/index.PBMPanoFilter.html +8 -8
  48. package/docs/classes/index.PBMPointCloud.html +1 -1
  49. package/docs/classes/index.PBMSkinnedMesh.html +1 -1
  50. package/docs/classes/index.PBMUpdateable.html +1 -1
  51. package/docs/classes/index.PanoCircleMesh.html +1 -1
  52. package/docs/classes/index.PanoCircleMeshCustom.html +5 -5
  53. package/docs/classes/index.PanoCircleMeshSolid.html +1 -1
  54. package/docs/classes/index.Parameter.html +57 -52
  55. package/docs/classes/index.Scene.html +1 -1
  56. package/docs/classes/index.Subscribe.html +1 -1
  57. package/docs/classes/index.TextureLoader.html +4 -1
  58. package/docs/classes/index.Tile3D.html +23 -21
  59. package/docs/classes/index.TileNode.html +1 -1
  60. package/docs/classes/index.Tileset.html +4 -4
  61. package/docs/classes/index.TrajectoryNode.html +3 -3
  62. package/docs/classes/index.Work.html +20 -18
  63. package/docs/classes/index.WorkResolvedObserver.html +22 -22
  64. package/docs/documents/api.html +11 -10
  65. package/docs/documents/features_camera-animation.html +1 -1
  66. package/docs/documents/features_event.html +0 -1
  67. package/docs/documents/features_five.html +7 -7
  68. package/docs/documents/features_gesture.html +1 -1
  69. package/docs/documents/features_load-external-model.html +6 -6
  70. package/docs/documents/features_load-progress.html +1 -1
  71. package/docs/documents/features_mode.html +5 -15
  72. package/docs/documents/features_model.html +1 -1
  73. package/docs/documents/features_state.html +1 -1
  74. package/docs/documents/features_ultra-hdr.html +50 -44
  75. package/docs/documents/quick-start.html +1 -1
  76. package/docs/documents/release_notes_6.8.html +2 -2
  77. package/docs/documents/support.html +1 -3
  78. package/docs/functions/index.customNodesCacheKey.html +3 -0
  79. package/docs/functions/index.parseWork.html +1 -1
  80. package/docs/functions/index.workToJson.html +1 -1
  81. package/docs/hierarchy.html +1 -1
  82. package/docs/interfaces/index.AddableObject.html +1 -1
  83. package/docs/interfaces/index.AjaxOptions.html +1 -1
  84. package/docs/interfaces/index.BaseEvent.html +2 -2
  85. package/docs/interfaces/index.Clock.html +24 -0
  86. package/docs/interfaces/index.EventCallback.html +49 -47
  87. package/docs/interfaces/index.FiveInitArgs.html +49 -40
  88. package/docs/interfaces/index.GainmapCfgData.html +15 -0
  89. package/docs/interfaces/index.GestureEvent.html +2 -2
  90. package/docs/interfaces/index.IPBMMaterial.html +15 -4
  91. package/docs/interfaces/index.ImageOptions.html +1 -1
  92. package/docs/interfaces/index.IntersectEvent.html +2 -2
  93. package/docs/interfaces/index.IntersectMesh.html +1 -1
  94. package/docs/interfaces/index.IntersectMeshInterface.html +1 -1
  95. package/docs/interfaces/index.Intersection.html +1 -1
  96. package/docs/interfaces/index.LoosePanoWork.html +2 -2
  97. package/docs/interfaces/index.LooseWork.html +2 -2
  98. package/docs/interfaces/index.LooseWorkInitial.html +2 -2
  99. package/docs/interfaces/index.LooseWorkModel.html +2 -2
  100. package/docs/interfaces/index.LooseWorkObserver.html +2 -2
  101. package/docs/interfaces/index.LooseWorkPanorama.html +4 -3
  102. package/docs/interfaces/index.LooseWorkWithExtrinsics.html +15 -9
  103. package/docs/interfaces/index.ModeChangeEvent.html +2 -2
  104. package/docs/interfaces/index.ModelControllerCustomInitArgs.html +1 -1
  105. package/docs/interfaces/index.ModelEvent.html +2 -2
  106. package/docs/interfaces/index.ModelSceneEvent.html +2 -2
  107. package/docs/interfaces/index.ModelTileEvent.html +2 -2
  108. package/docs/interfaces/index.MovePanoOptions.html +1 -1
  109. package/docs/interfaces/index.NetworkAbortError.html +1 -1
  110. package/docs/interfaces/index.NetworkFirbiddenError.html +1 -1
  111. package/docs/interfaces/index.NetworkOptions.html +1 -1
  112. package/docs/interfaces/index.NetworkProxyError.html +1 -1
  113. package/docs/interfaces/index.NetworkResourceEvent.html +2 -2
  114. package/docs/interfaces/index.NetworkResponseError.html +1 -1
  115. package/docs/interfaces/index.NetworkTimeoutError.html +1 -1
  116. package/docs/interfaces/index.ObjectEvent.html +2 -2
  117. package/docs/interfaces/index.PBMClipperParameter.html +2 -2
  118. package/docs/interfaces/index.PBMCustomNodeContext.html +87 -0
  119. package/docs/interfaces/index.PBMCustomNodeOptions.html +10 -0
  120. package/docs/interfaces/index.PBMCustomNodePanoContext.html +20 -0
  121. package/docs/interfaces/index.PBMCustomNodeSlots.html +31 -0
  122. package/docs/interfaces/index.PBMPanoDepth.html +5 -5
  123. package/docs/interfaces/index.PBMPanoFilterValue.html +2 -2
  124. package/docs/interfaces/index.PBMPanoGainmap.html +6 -0
  125. package/docs/interfaces/index.PBMPanoPicture.html +9 -8
  126. package/docs/interfaces/index.PBMRefinedScreen.html +2 -2
  127. package/docs/interfaces/index.PanoCircleMeshCustomOptions.html +2 -2
  128. package/docs/interfaces/index.PanoCircleMeshInterface.html +1 -1
  129. package/docs/interfaces/index.PanoEvent.html +2 -2
  130. package/docs/interfaces/index.PanoTextureEvent.html +2 -2
  131. package/docs/interfaces/index.PanoramaControllerCustomInitArgs.html +9 -9
  132. package/docs/interfaces/index.PanoramaLikeControllerCustomInitArgs.html +1 -1
  133. package/docs/interfaces/index.ParameterMaterialValue.html +42 -37
  134. package/docs/interfaces/index.ParameterTilesetValue.html +15 -15
  135. package/docs/interfaces/index.ParameterValue.html +56 -51
  136. package/docs/interfaces/index.Pose.html +1 -1
  137. package/docs/interfaces/index.RenderEvent.html +2 -2
  138. package/docs/interfaces/index.ResolvedParameterValue.html +56 -51
  139. package/docs/interfaces/index.State.html +1 -1
  140. package/docs/interfaces/index.StateEvent.html +2 -2
  141. package/docs/interfaces/index.TextureOptions.html +1 -1
  142. package/docs/interfaces/index.TilesetOptions.html +7 -2
  143. package/docs/interfaces/index.TopviewControllerCustomInitArgs.html +1 -1
  144. package/docs/interfaces/index.VRPanoramaControllerCustomInitArgs.html +37 -0
  145. package/docs/interfaces/index.ViewLayer.html +23 -21
  146. package/docs/interfaces/index.WorkCubeHdrGainmapImage.html +10 -0
  147. package/docs/interfaces/index.WorkCubeImage.html +5 -9
  148. package/docs/interfaces/index.WorkImage.html +8 -12
  149. package/docs/interfaces/index.WorkInitial.html +8 -8
  150. package/docs/interfaces/index.WorkModel.html +8 -8
  151. package/docs/interfaces/index.WorkModelLayer.html +6 -6
  152. package/docs/interfaces/index.WorkObserver.html +23 -23
  153. package/docs/interfaces/index.WorkPanoramaJson.html +3 -2
  154. package/docs/interfaces/index.WorkTile.html +8 -12
  155. package/docs/interfaces/index.WorksEvent.html +2 -2
  156. package/docs/interfaces/index.XRControllerEvent.html +2 -2
  157. package/docs/interfaces/index.XRGestureEvent.html +2 -2
  158. package/docs/interfaces/index.XRSessionEvent.html +2 -2
  159. package/docs/modules/index.html +1 -1
  160. package/docs/types/index.ControllerCustomInitTypes.html +3 -2
  161. package/docs/types/index.ControllerEventTypes.html +25 -23
  162. package/docs/types/index.EventTypes.html +26 -26
  163. package/docs/types/index.Mode.html +2 -1
  164. package/docs/types/index.PBMCustomNodeTargetType.html +2 -0
  165. package/docs/types/index.ParseOptions.html +14 -8
  166. package/docs/variables/index.GSPLAT_PIPELINE_AUTO.html +2 -0
  167. package/docs/variables/index.GSPLAT_PIPELINE_RASTER_CPU_SORT.html +2 -0
  168. package/docs/variables/index.GSPLAT_PIPELINE_RASTER_GPU_SORT.html +2 -0
  169. package/docs/variables/index.PROXY_CONTROLLER_EVENT_NAMES.html +1 -1
  170. package/docs/variables/index.controllersDefaultInitArgs.html +1 -1
  171. package/five/application/controllers.d.ts +4 -0
  172. package/five/application/events.d.ts +1 -1
  173. package/five/application/five.d.ts +4 -1
  174. package/five/application/fiveInitArgs.d.ts +13 -0
  175. package/five/application/mode.d.ts +2 -0
  176. package/five/cardboard/helper.d.ts +2 -0
  177. package/five/cardboard/index.d.ts +13 -0
  178. package/five/cardboard/sensor.d.ts +158 -0
  179. package/five/controllers/base.d.ts +3 -0
  180. package/five/controllers/events.d.ts +5 -3
  181. package/five/controllers/panorama.d.ts +2 -2
  182. package/five/controllers/vrPanorama.d.ts +56 -0
  183. package/five/core/internalWebGPURenderer.d.ts +16 -0
  184. package/five/core/panoVideo.d.ts +4 -1
  185. package/five/core/tiling.d.ts +40 -9
  186. package/five/gaussian-splatting/gpu-sort/prefixSumKernel.d.ts +65 -0
  187. package/five/gaussian-splatting/gpu-sort/radixSortModule.d.ts +128 -0
  188. package/five/gaussian-splatting/gpu-sort/shaders/prefixSum.d.ts +2 -0
  189. package/five/gaussian-splatting/gpu-sort/shaders/radixHistogram.d.ts +2 -0
  190. package/five/gaussian-splatting/gpu-sort/shaders/radixReorder.d.ts +2 -0
  191. package/five/gaussian-splatting/gpu-sort/shaders/sortKeygen.d.ts +2 -0
  192. package/five/gaussian-splatting/gpu-sort/sortAdapter.d.ts +234 -0
  193. package/five/gaussian-splatting/pipelines/cpuSortPipeline.d.ts +159 -0
  194. package/five/gaussian-splatting/pipelines/gpuSortPipeline.d.ts +98 -0
  195. package/five/gaussian-splatting/pipelines/gsplatPipeline.d.ts +104 -0
  196. package/five/gaussian-splatting/pipelines/pipelineMode.d.ts +42 -0
  197. package/five/gaussian-splatting/pipelines/sortThrottle.d.ts +45 -0
  198. package/five/index.d.ts +4 -1
  199. package/five/index.js +272 -269
  200. package/five/index.mjs +7183 -4546
  201. package/five/meshes/panoCircleMeshCustom.d.ts +1 -0
  202. package/five/model/index.d.ts +1 -1
  203. package/five/model/materials/nodes/pbmMeshBasicNodeMaterial.d.ts +2 -0
  204. package/five/model/materials/nodes/pbmMeshPanoOnlyNodeMaterial.d.ts +2 -0
  205. package/five/model/materials/nodes/pbmMeshPhongNodeMaterial.d.ts +2 -0
  206. package/five/model/materials/nodes/pbmMeshPhysicalNodeMaterial.d.ts +2 -0
  207. package/five/model/materials/pbmGaussianSplattingNodeMaterial.d.ts +4 -0
  208. package/five/model/materials/pbmMaterial.d.ts +268 -5
  209. package/five/model/materials/tsl/defines.d.ts +8 -2
  210. package/five/model/materials/tsl/outputBuilder.d.ts +8 -15
  211. package/five/model/materials/tsl/panoColor.d.ts +8 -2
  212. package/five/model/materials/tsl/utils.d.ts +13 -0
  213. package/five/model/objects/pbmGaussianSplattingObject.d.ts +9 -0
  214. package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +67 -101
  215. package/five/model/parameter.d.ts +13 -1
  216. package/five/model/tile3d/index.d.ts +2 -0
  217. package/five/model/tile3d/tileset.d.ts +5 -0
  218. package/five/model/tile3d/trajectory-content.d.ts +53 -0
  219. package/five/texture/loader.d.ts +6 -0
  220. package/five/types/cube.d.ts +0 -1
  221. package/five/utils/detector.d.ts +11 -1
  222. package/five/utils/error.d.ts +1 -0
  223. package/five/utils/event.d.ts +17 -1
  224. package/five/utils/gainmap-data.d.ts +23 -0
  225. package/five/work/index.d.ts +1 -1
  226. package/five/work/looseWorkType.d.ts +2 -1
  227. package/five/work/work.d.ts +30 -7
  228. package/five/work/workJsonType.d.ts +2 -1
  229. package/gltf-loader/gltf-object.d.ts +17 -0
  230. package/gltf-loader/index.d.ts +45 -0
  231. package/gltf-loader/index.js +255 -0
  232. package/gltf-loader/index.mjs +302 -0
  233. package/package.json +6 -1
  234. package/plugins/BackgroundPlugin/Controller.d.ts +20 -0
  235. package/plugins/BackgroundPlugin/index.d.ts +5 -0
  236. package/plugins/BackgroundPlugin/typings.d.ts +44 -0
  237. package/plugins/CSS2DPlugin/Controller.d.ts +59 -0
  238. package/plugins/CSS2DPlugin/index.d.ts +5 -0
  239. package/plugins/CSS2DPlugin/typing.d.ts +31 -0
  240. package/plugins/CSS3DPlugin/Controller.d.ts +64 -0
  241. package/plugins/CSS3DPlugin/index.d.ts +5 -0
  242. package/plugins/CSS3DPlugin/typing.d.ts +33 -0
  243. package/plugins/FloorplanPlugin/Controller.d.ts +100 -0
  244. package/plugins/FloorplanPlugin/index.d.ts +5 -0
  245. package/plugins/FloorplanPlugin/render/assets.d.ts +9 -0
  246. package/plugins/FloorplanPlugin/render/index.d.ts +35 -0
  247. package/plugins/FloorplanPlugin/render/isPointInPolygon.d.ts +5 -0
  248. package/plugins/FloorplanPlugin/render/renderFloor.d.ts +22 -0
  249. package/plugins/FloorplanPlugin/render/roomLabelVisibility.d.ts +10 -0
  250. package/plugins/FloorplanPlugin/typing.d.ts +156 -0
  251. package/plugins/FloorplanPlugin/typings/floorplanData.d.ts +112 -0
  252. package/plugins/FloorplanPlugin/typings/floorplanServerData.d.ts +78 -0
  253. package/plugins/FloorplanPlugin/typings/index.d.ts +2 -0
  254. package/plugins/FloorplanPlugin/utils/changeMode.d.ts +5 -0
  255. package/plugins/FloorplanPlugin/utils/changeModelCanvasOpacity.d.ts +6 -0
  256. package/plugins/FloorplanPlugin/utils/correctFiveState.d.ts +11 -0
  257. package/plugins/FloorplanPlugin/utils/equal.d.ts +9 -0
  258. package/plugins/FloorplanPlugin/utils/filter.d.ts +8 -0
  259. package/plugins/FloorplanPlugin/utils/fiveModelLoad.d.ts +6 -0
  260. package/plugins/FloorplanPlugin/utils/formatData.d.ts +6 -0
  261. package/plugins/FloorplanPlugin/utils/formatPosition.d.ts +33 -0
  262. package/plugins/FloorplanPlugin/utils/getDistanceFromModel.d.ts +6 -0
  263. package/plugins/FloorplanPlugin/utils/getPxmm.d.ts +19 -0
  264. package/plugins/FloorplanPlugin/utils/isTruelyObject.d.ts +4 -0
  265. package/plugins/FloorplanPlugin/utils/nearlyEqual.d.ts +8 -0
  266. package/plugins/FloorplanPlugin/utils/to.d.ts +5 -0
  267. package/plugins/Object3DHelperPlugin/Controller.d.ts +99 -0
  268. package/plugins/Object3DHelperPlugin/Controllers/BaseController.d.ts +142 -0
  269. package/plugins/Object3DHelperPlugin/Controllers/BoundingBoxController.d.ts +16 -0
  270. package/plugins/Object3DHelperPlugin/Controllers/MoveController.d.ts +66 -0
  271. package/plugins/Object3DHelperPlugin/Controllers/RotateController.d.ts +61 -0
  272. package/plugins/Object3DHelperPlugin/FiveControllerWrapper.d.ts +17 -0
  273. package/plugins/Object3DHelperPlugin/Helper/BaseHelper.d.ts +97 -0
  274. package/plugins/Object3DHelperPlugin/Helper/BoundingBoxHelper.d.ts +16 -0
  275. package/plugins/Object3DHelperPlugin/Helper/MoveHelper.d.ts +37 -0
  276. package/plugins/Object3DHelperPlugin/Helper/RotateHelper.d.ts +93 -0
  277. package/plugins/Object3DHelperPlugin/constant.d.ts +27 -0
  278. package/plugins/Object3DHelperPlugin/index.d.ts +6 -0
  279. package/plugins/Object3DHelperPlugin/typing.d.ts +143 -0
  280. package/plugins/Object3DHelperPlugin/utils/ArrowGroup.d.ts +22 -0
  281. package/plugins/Object3DHelperPlugin/utils/CenterHandle.d.ts +23 -0
  282. package/plugins/Object3DHelperPlugin/utils/PlaneHandle.d.ts +19 -0
  283. package/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.d.ts +5 -0
  284. package/plugins/Object3DHelperPlugin/utils/cameraHooks.d.ts +3 -0
  285. package/plugins/Object3DHelperPlugin/utils/direction.d.ts +14 -0
  286. package/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.d.ts +5 -0
  287. package/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.d.ts +8 -0
  288. package/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.d.ts +8 -0
  289. package/plugins/Object3DHelperPlugin/utils/solidGuide.d.ts +27 -0
  290. package/plugins/Object3DHelperPlugin/utils/tipsDom.d.ts +8 -0
  291. package/plugins/PanoAnimePlugin/Controller.d.ts +49 -0
  292. package/plugins/PanoAnimePlugin/index.d.ts +5 -0
  293. package/plugins/PanoAnimePlugin/typing.d.ts +37 -0
  294. package/plugins/index.d.ts +6 -0
  295. package/plugins/index.js +393 -3
  296. package/plugins/index.mjs +3421 -92
  297. package/plugins/thirdParty/CSS2DRenderer.d.ts +37 -0
  298. package/plugins/thirdParty/CSS3DRenderer.d.ts +45 -0
  299. package/plugins/thirdParty/OrbitControls.d.ts +78 -0
  300. package/plugins/thirdParty/domevents.d.ts +36 -0
  301. package/plugins/utils/clamp.d.ts +2 -0
  302. package/plugins/utils/uuid.d.ts +2 -0
  303. package/react/index.js +2 -2
  304. package/react/index.mjs +2 -2
  305. package/umd/five-gltf-loader.js +255 -0
  306. package/umd/five-plugins.js +461 -3
  307. package/umd/five-react.js +2 -2
  308. package/umd/five.js +350 -347
  309. package/docs/interfaces/index.PBMHDRConfig.html +0 -12
  310. package/five/gaussian-splatting/worker/dataWorker.d.ts +0 -1
  311. package/five/three-version-check.d.ts +0 -1
  312. package/five/utils/hdr-data.d.ts +0 -13
  313. package/five/utils/shaderContentFix.d.ts +0 -7
@@ -1,6 +1,6 @@
1
1
  <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>PBMGaussianSplattingObject | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/index.html">index</a></li><li><a href="" aria-current="page">PBMGaussianSplattingObject</a></li></ul><h1>Class PBMGaussianSplattingObject</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>3DGS 源对象:承载 BufferGeometry 属性 + world matrix,不参与直接绘制
2
2
  (material.visible = false),最终由 PBMGaussianSplattingRenderMesh 统一渲染。</p>
3
- </div></section><section class="tsd-panel tsd-hierarchy" data-refl="3075"><h4>Hierarchy</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Points</a><span class="tsd-signature-symbol">&lt;</span><a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">THREE.BufferGeometry</a><span class="tsd-signature-symbol">,</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">THREE.Material</a><span class="tsd-signature-symbol">&gt;</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">PBMGaussianSplattingObject</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:28</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
3
+ </div></section><section class="tsd-panel tsd-hierarchy" data-refl="3159"><h4>Hierarchy</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Points</a><span class="tsd-signature-symbol">&lt;</span><a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">THREE.BufferGeometry</a><span class="tsd-signature-symbol">,</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">THREE.Material</a><span class="tsd-signature-symbol">&gt;</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">PBMGaussianSplattingObject</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:28</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
4
4
  </div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#gsclippers" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>gs<wbr/>Clippers</span></a>
5
5
  <a href="#gsviewlayerkey" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>gs<wbr/>View<wbr/>Layer<wbr/>Key</span></a>
6
6
  <a href="#lastmatrixworld" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>last<wbr/>Matrix<wbr/>World</span></a>
@@ -14,6 +14,7 @@
14
14
  <a href="#rowlength" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Row<wbr/>Length</span></a>
15
15
  </div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Accessors</h3><div class="tsd-index-list"><a href="#boundingbox" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>bounding<wbr/>Box</span></a>
16
16
  <a href="#colors" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>colors</span></a>
17
+ <a href="#objectspaceboundingbox" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>object<wbr/>Space<wbr/>Bounding<wbr/>Box</span></a>
17
18
  <a href="#positions" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>positions</span></a>
18
19
  <a href="#rotations" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>rotations</span></a>
19
20
  <a href="#scales" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>scales</span></a>
@@ -28,13 +29,18 @@
28
29
  <a href="#reattach" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>reattach</span></a>
29
30
  <a href="#serialize" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>serialize</span></a>
30
31
  </div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Constructors</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="constructor"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="constructorpbmgaussiansplattingobject"><span class="tsd-signature-keyword">new</span> <span class="tsd-kind-constructor-signature">PBMGaussianSplattingObject</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">splatData</span><span class="tsd-signature-symbol">?:</span> <a href="../interfaces/index.SplatData.html" class="tsd-signature-type tsd-kind-interface">SplatData</a><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-class">PBMGaussianSplattingObject</a><a href="#constructorpbmgaussiansplattingobject" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">splatData</span>: <a href="../interfaces/index.SplatData.html" class="tsd-signature-type tsd-kind-interface">SplatData</a></span></li></ul></div><h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">PBMGaussianSplattingObject</a></h4><aside class="tsd-sources"><p>Overrides <a href="https://threejs.org/docs/" class="external" target="_blank">THREE.Points&lt;THREE.BufferGeometry, THREE.Material&gt;.constructor</a></p><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:87</li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Properties</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="gsclippers"><span>gs<wbr/>Clippers</span><a href="#gsclippers" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">gsClippers</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-keyword">readonly</span> <a href="../interfaces/index.PBMClipperParameter.html" class="tsd-signature-type tsd-kind-interface">PBMClipperParameter</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> = []</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:39</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="gsviewlayerkey"><span>gs<wbr/>View<wbr/>Layer<wbr/>Key</span><a href="#gsviewlayerkey" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">gsViewLayerKey</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &#39;&#39;</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:38</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="lastmatrixworld"><span>last<wbr/>Matrix<wbr/>World</span><a href="#lastmatrixworld" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">lastMatrixWorld</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Matrix4</a> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:45</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="maxshdegree"><span>max<wbr/>SH<wbr/>Degree</span><a href="#maxshdegree" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">maxSHDegree</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:36</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="numpoints"><span>num<wbr/>Points</span><a href="#numpoints" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">numPoints</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:35</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="packeddata"><span>packed<wbr/>Data</span><a href="#packeddata" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">packedData</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Uint32Array</span></div><div class="tsd-comment tsd-typography"><p>加载时在 worker 中预 pack 好的 GPU 数据(8 uint32/splat)</p>
31
- </div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:41</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="selectedchanged"><span>selected<wbr/>Changed</span><a href="#selectedchanged" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">selectedChanged</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = false</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:32</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="transferdetached"><span>transfer<wbr/>Detached</span><a href="#transferdetached" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">transferDetached</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = false</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:33</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="transformchanged"><span>transform<wbr/>Changed</span><a href="#transformchanged" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">transformChanged</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = false</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:31</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="usedshdegree"><span>used<wbr/>SH<wbr/>Degree</span><a href="#usedshdegree" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">usedSHDegree</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:37</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="rowlength"><code class="tsd-tag">Static</code><span>Row<wbr/>Length</span><a href="#rowlength" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">RowLength</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:29</li></ul></aside></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Accessors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Accessors</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="boundingbox"><span>bounding<wbr/>Box</span><a href="#boundingbox" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="boundingboxboundingbox"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">boundingBox</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Box3</a></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Box3</a></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:241</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="colors"><span>colors</span><a href="#colors" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="colorscolors"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">colors</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Uint8Array</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Uint8Array</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:62</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="positions"><span>positions</span><a href="#positions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="positionspositions"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">positions</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float32Array</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float32Array</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:47</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="rotations"><span>rotations</span><a href="#rotations" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="rotationsrotations"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">rotations</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float32Array</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float32Array</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:52</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="scales"><span>scales</span><a href="#scales" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="scalesscales"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">scales</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float32Array</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float32Array</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:57</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="selected"><span>selected</span><a href="#selected" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="selectedselected"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">selected</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:229</li></ul></aside></div></li><li><div class="tsd-signature" id="selectedselected-1"><span class="tsd-signature-keyword">set</span> <span class="tsd-kind-set-signature">selected</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">selected</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">selected</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:233</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="selection"><span>selection</span><a href="#selection" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="selectionselection"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">selection</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Uint8Array</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Uint8Array</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:67</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="sh1"><span>sh1</span><a href="#sh1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="sh1sh1"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">sh1</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:72</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="sh2"><span>sh2</span><a href="#sh2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="sh2sh2"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">sh2</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:77</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="sh3"><span>sh3</span><a href="#sh3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="sh3sh3"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">sh3</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:82</li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Methods</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="decodecov3d"><span>decode<wbr/>Cov3<wbr/>D</span><a href="#decodecov3d" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="decodecov3d-1"><span class="tsd-kind-call-signature">decodeCov3D</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">index</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><a href="#decodecov3d-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>从 packedData 即时解码第 index 个 splat 的 3D 协方差矩阵(half-precision → float)。
32
+ </div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:41</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="selectedchanged"><span>selected<wbr/>Changed</span><a href="#selectedchanged" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">selectedChanged</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = false</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:32</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="transferdetached"><span>transfer<wbr/>Detached</span><a href="#transferdetached" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">transferDetached</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = false</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:33</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="transformchanged"><span>transform<wbr/>Changed</span><a href="#transformchanged" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">transformChanged</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = false</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:31</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="usedshdegree"><span>used<wbr/>SH<wbr/>Degree</span><a href="#usedshdegree" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">usedSHDegree</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:37</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="rowlength"><code class="tsd-tag">Static</code><span>Row<wbr/>Length</span><a href="#rowlength" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">RowLength</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = ...</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:29</li></ul></aside></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Accessors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Accessors</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="boundingbox"><span>bounding<wbr/>Box</span><a href="#boundingbox" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="boundingboxboundingbox"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">boundingBox</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Box3</a></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Box3</a></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:253</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="colors"><span>colors</span><a href="#colors" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="colorscolors"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">colors</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Uint8Array</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Uint8Array</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:62</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="objectspaceboundingbox"><span>object<wbr/>Space<wbr/>Bounding<wbr/>Box</span><a href="#objectspaceboundingbox" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="objectspaceboundingboxobjectspaceboundingbox"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">objectSpaceBoundingBox</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Box3</a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>对象空间(未经任何变换)的 AABB,由 packedData / positions 的原始坐标构建。</p>
33
+ <p>直接返回内部实例以避免每次访问都分配,<strong>调用方不得修改</strong>。
34
+ 与 <code>boundingBox</code> 的区别:后者已把 <code>position</code> 与 <code>scale</code> 烘进结果(但忽略旋转与父级变换),
35
+ 因此不能再与 <code>matrixWorld</code> 组合使用;本 getter 才是可配合 <code>matrixWorld</code> 求世界空间角点的那一个,
36
+ GPU 排序的 Distance_Range 计算依赖它。</p>
37
+ </div><h4 class="tsd-returns-title">Returns <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Box3</a></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:249</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="positions"><span>positions</span><a href="#positions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="positionspositions"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">positions</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float32Array</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float32Array</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:47</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="rotations"><span>rotations</span><a href="#rotations" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="rotationsrotations"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">rotations</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float32Array</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float32Array</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:52</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="scales"><span>scales</span><a href="#scales" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="scalesscales"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">scales</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float32Array</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float32Array</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:57</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="selected"><span>selected</span><a href="#selected" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="selectedselected"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">selected</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:229</li></ul></aside></div></li><li><div class="tsd-signature" id="selectedselected-1"><span class="tsd-signature-keyword">set</span> <span class="tsd-kind-set-signature">selected</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">selected</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">selected</span>: <span class="tsd-signature-type">boolean</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:233</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="selection"><span>selection</span><a href="#selection" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="selectionselection"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">selection</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Uint8Array</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Uint8Array</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:67</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="sh1"><span>sh1</span><a href="#sh1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="sh1sh1"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">sh1</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:72</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="sh2"><span>sh2</span><a href="#sh2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="sh2sh2"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">sh2</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:77</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="sh3"><span>sh3</span><a href="#sh3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="sh3sh3"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">sh3</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">undefined</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:82</li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Methods</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="decodecov3d"><span>decode<wbr/>Cov3<wbr/>D</span><a href="#decodecov3d" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="decodecov3d-1"><span class="tsd-kind-call-signature">decodeCov3D</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">index</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span><a href="#decodecov3d-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>从 packedData 即时解码第 index 个 splat 的 3D 协方差矩阵(half-precision → float)。
32
38
  用于 BVH 法线拟合——只在命中点按需解码。
33
39
  packedData texel1 布局:[4]=cov00|cov01(half2), [5]=cov02|cov11(half2), [6]=cov12|cov22(half2)。
34
40
  pack 端遵循 Cov4_Convention(协方差整体 ×4),此处除以 4 还原真实 Σ。
35
41
  返回 6 个上三角分量 [s00, s01, s02, s11, s12, s22],数据不足时返回 null。</p>
36
- </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">index</span>: <span class="tsd-signature-type">number</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:260</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="dispose"><span>dispose</span><a href="#dispose" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="dispose-1"><span class="tsd-kind-call-signature">dispose</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#dispose-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:277</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="raycast"><span>raycast</span><a href="#raycast" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="raycast-1"><span class="tsd-kind-call-signature">raycast</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">raycaster</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Raycaster</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">intersects</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Intersection</a><span class="tsd-signature-symbol">&lt;</span><a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Object3D</a><span class="tsd-signature-symbol">&lt;</span><a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Object3DEventMap</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#raycast-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Abstract (empty) method to get intersections between a casted ray and this object</p>
42
+ </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">index</span>: <span class="tsd-signature-type">number</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Float32Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">&gt;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">null</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:272</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="dispose"><span>dispose</span><a href="#dispose" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="dispose-1"><span class="tsd-kind-call-signature">dispose</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#dispose-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:289</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="raycast"><span>raycast</span><a href="#raycast" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="raycast-1"><span class="tsd-kind-call-signature">raycast</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">raycaster</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Raycaster</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">intersects</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Intersection</a><span class="tsd-signature-symbol">&lt;</span><a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Object3D</a><span class="tsd-signature-symbol">&lt;</span><a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Object3DEventMap</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#raycast-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Abstract (empty) method to get intersections between a casted ray and this object</p>
37
43
  </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">raycaster</span>: <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Raycaster</a></span></li><li><span><span class="tsd-kind-parameter">intersects</span>: <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Intersection</a><span class="tsd-signature-symbol">&lt;</span><a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Object3D</a><span class="tsd-signature-symbol">&lt;</span><a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Object3DEventMap</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-remarks"><h4 class="tsd-anchor-link" id="remarks">Remarks<a href="#remarks" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>Subclasses such as THREE.Mesh | Mesh, THREE.Line | Line, and THREE.Points | Points implement this method in order to use raycasting.</p>
38
44
  </div><div class="tsd-tag-see"><h4 class="tsd-anchor-link" id="see">See<a href="#see" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>THREE.Raycaster | Raycaster</p>
39
45
  </div><div class="tsd-tag-defaultValue"><h4 class="tsd-anchor-link" id="default-value">Default Value<a href="#default-value" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p><code>() =&gt; {}</code></p>
40
- </div></div><aside class="tsd-sources"><p>Overrides <a href="https://threejs.org/docs/" class="external" target="_blank">THREE.Points.raycast</a></p><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:281</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="reattach"><span>reattach</span><a href="#reattach" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="reattach-1"><span class="tsd-kind-call-signature">reattach</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">positions</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">rotations</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">scales</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">colors</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">selection</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#reattach-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">positions</span>: <span class="tsd-signature-type">ArrayBufferLike</span></span></li><li><span><span class="tsd-kind-parameter">rotations</span>: <span class="tsd-signature-type">ArrayBufferLike</span></span></li><li><span><span class="tsd-kind-parameter">scales</span>: <span class="tsd-signature-type">ArrayBufferLike</span></span></li><li><span><span class="tsd-kind-parameter">colors</span>: <span class="tsd-signature-type">ArrayBufferLike</span></span></li><li><span><span class="tsd-kind-parameter">selection</span>: <span class="tsd-signature-type">ArrayBufferLike</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:207</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="serialize"><span>serialize</span><a href="#serialize" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="serialize-1"><span class="tsd-kind-call-signature">serialize</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBuffer</span><span class="tsd-signature-symbol">&gt;</span><a href="#serialize-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBuffer</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:173</li></ul></aside></div></li></ul></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#gsclippers"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>gs<wbr/>Clippers</span></a><a href="#gsviewlayerkey"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>gs<wbr/>View<wbr/>Layer<wbr/>Key</span></a><a href="#lastmatrixworld"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>last<wbr/>Matrix<wbr/>World</span></a><a href="#maxshdegree"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>max<wbr/>SH<wbr/>Degree</span></a><a href="#numpoints"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>num<wbr/>Points</span></a><a href="#packeddata"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>packed<wbr/>Data</span></a><a href="#selectedchanged"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>selected<wbr/>Changed</span></a><a href="#transferdetached"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>transfer<wbr/>Detached</span></a><a href="#transformchanged"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>transform<wbr/>Changed</span></a><a href="#usedshdegree"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>used<wbr/>SH<wbr/>Degree</span></a><a href="#rowlength"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Row<wbr/>Length</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Accessors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Accessors</summary><div><a href="#boundingbox"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>bounding<wbr/>Box</span></a><a href="#colors"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>colors</span></a><a href="#positions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>positions</span></a><a href="#rotations"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>rotations</span></a><a href="#scales"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>scales</span></a><a href="#selected"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>selected</span></a><a href="#selection"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>selection</span></a><a href="#sh1"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>sh1</span></a><a href="#sh2"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>sh2</span></a><a href="#sh3"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>sh3</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#decodecov3d"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>decode<wbr/>Cov3<wbr/>D</span></a><a href="#dispose"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>dispose</span></a><a href="#raycast"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>raycast</span></a><a href="#reattach"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>reattach</span></a><a href="#serialize"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>serialize</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">如视 Five SDK</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
46
+ </div></div><aside class="tsd-sources"><p>Overrides <a href="https://threejs.org/docs/" class="external" target="_blank">THREE.Points.raycast</a></p><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:293</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="reattach"><span>reattach</span><a href="#reattach" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="reattach-1"><span class="tsd-kind-call-signature">reattach</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">positions</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">rotations</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">scales</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">colors</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">selection</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ArrayBufferLike</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#reattach-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">positions</span>: <span class="tsd-signature-type">ArrayBufferLike</span></span></li><li><span><span class="tsd-kind-parameter">rotations</span>: <span class="tsd-signature-type">ArrayBufferLike</span></span></li><li><span><span class="tsd-kind-parameter">scales</span>: <span class="tsd-signature-type">ArrayBufferLike</span></span></li><li><span><span class="tsd-kind-parameter">colors</span>: <span class="tsd-signature-type">ArrayBufferLike</span></span></li><li><span><span class="tsd-kind-parameter">selection</span>: <span class="tsd-signature-type">ArrayBufferLike</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:207</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="serialize"><span>serialize</span><a href="#serialize" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="serialize-1"><span class="tsd-kind-call-signature">serialize</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBuffer</span><span class="tsd-signature-symbol">&gt;</span><a href="#serialize-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayBuffer</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingObject.ts:173</li></ul></aside></div></li></ul></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#gsclippers"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>gs<wbr/>Clippers</span></a><a href="#gsviewlayerkey"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>gs<wbr/>View<wbr/>Layer<wbr/>Key</span></a><a href="#lastmatrixworld"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>last<wbr/>Matrix<wbr/>World</span></a><a href="#maxshdegree"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>max<wbr/>SH<wbr/>Degree</span></a><a href="#numpoints"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>num<wbr/>Points</span></a><a href="#packeddata"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>packed<wbr/>Data</span></a><a href="#selectedchanged"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>selected<wbr/>Changed</span></a><a href="#transferdetached"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>transfer<wbr/>Detached</span></a><a href="#transformchanged"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>transform<wbr/>Changed</span></a><a href="#usedshdegree"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>used<wbr/>SH<wbr/>Degree</span></a><a href="#rowlength"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>Row<wbr/>Length</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Accessors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Accessors</summary><div><a href="#boundingbox"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>bounding<wbr/>Box</span></a><a href="#colors"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>colors</span></a><a href="#objectspaceboundingbox"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>object<wbr/>Space<wbr/>Bounding<wbr/>Box</span></a><a href="#positions"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>positions</span></a><a href="#rotations"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>rotations</span></a><a href="#scales"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>scales</span></a><a href="#selected"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>selected</span></a><a href="#selection"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>selection</span></a><a href="#sh1"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>sh1</span></a><a href="#sh2"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>sh2</span></a><a href="#sh3"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>sh3</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#decodecov3d"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>decode<wbr/>Cov3<wbr/>D</span></a><a href="#dispose"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>dispose</span></a><a href="#raycast"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>raycast</span></a><a href="#reattach"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>reattach</span></a><a href="#serialize"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>serialize</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">如视 Five SDK</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -1,5 +1,5 @@
1
- <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>PBMGaussianSplattingRenderMesh | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/index.html">index</a></li><li><a href="" aria-current="page">PBMGaussianSplattingRenderMesh</a></li></ul><h1>Class PBMGaussianSplattingRenderMesh</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>3DGS 渲染 Mesh(WebGPU / TSL 版,纯 CPU 数据准备)</p>
2
- <p>主循环用四个协作者准备数据(<strong>无任何 compute shader</strong>):</p>
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>PBMGaussianSplattingRenderMesh | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/index.html">index</a></li><li><a href="" aria-current="page">PBMGaussianSplattingRenderMesh</a></li></ul><h1>Class PBMGaussianSplattingRenderMesh</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>3DGS 渲染 Mesh(WebGPU / TSL 版)</p>
2
+ <p>主循环用四个协作者准备数据:</p>
3
3
  <ul>
4
4
  <li><code>SplatAssembler</code>:per-object region 增量 diff + <strong>CPU 拼装</strong> 大数据纹理
5
5
  (把各对象 packedData 紧凑拷进 CPU 缓冲,写 transformIndex/layerIndex 到 texel1.w;
@@ -11,11 +11,16 @@
11
11
  <p>布局三一致(Requirements 13.1 / 13.2):<code>SplatAssembler.regionList</code> 顺序 ≡ <code>TransformStore</code>
12
12
  索引顺序 ≡ <code>SHStore</code> 写入顺序。四个协作者都从<strong>同一有序 <code>objects</code> 数组、同一顺序</strong>同步,
13
13
  因此不会产生 transformIndex / SH 错位;<code>onBeforeRender</code> 中另加防御性一致性断言兜底。</p>
14
- <p>排序:把 <code>SplatAssembler.extractSortInputs()</code>(世界坐标 + transformIndex)与
15
- <code>TransformStore.transforms</code>(20 float/对象)喂给 Sort_Worker,回传的 <code>depthIndex</code>
16
- 保存为 <code>orderData</code>。每帧(order 或布局变化时)在 <strong>CPU 端</strong> 用「旧布局→当前布局」段表
17
- 把 orderData remap 到当前布局,紧凑写入 <code>splatIndex</code> 实例属性,材质用 <code>splatIndex</code> 取点驱动
18
- instanced draw(tile 增删布局变化时保持排序与大纹理映射一致、不闪烁)。</p>
14
+ <p>排序:本类<strong>不再自己排序</strong>。排序、绘制索引来源与绘制实例数一律经 <code>GSplatPipeline</code> 抽象基类
15
+ 消费(Requirement 10.2):</p>
16
+ <ul>
17
+ <li><code>RASTER_CPU_SORT</code>(<code>CpuSortPipeline</code>):wasm worker 排序 + Reorder_CPU,索引来自
18
+ <code>splatIndex</code> 实例属性;</li>
19
+ <li><code>RASTER_GPU_SORT</code>(<code>GpuSortPipeline</code>):GPU radix sort,索引来自 R32UI Order_Texture。
20
+ 「本帧是否需要排序」由 <code>SortThrottle</code> 判定(相机小平移 / 小角度 / min-interval 门),
21
+ 与管线实现无关,两条路径的节流行为完全一致。管线按 <code>pipelineMode</code> 解析结果整体切换,
22
+ 本类不引用 Sort_Worker、排序模块或任何 WebGPU 资源。</li>
23
+ </ul>
19
24
  <p>大数据纹理:</p>
20
25
  <ul>
21
26
  <li><code>SplatAssembler</code> 在对象集合变化时在 <strong>CPU</strong> 端把各对象 packedData 紧凑拼进一张
@@ -25,14 +30,20 @@ instanced draw(tile 增删布局变化时保持排序与大纹理映射一致
25
30
  <li>per-splat 的 transformIndicesTexture / layerIndicesTexture 已折叠进大纹理 texel1.w,不再单独产出;
26
31
  <code>transformsTexture</code> 与 <code>shTexture</code> 由对应 store 直接提供,布局与既有材质一致。</li>
27
32
  </ul>
28
- </div></section><section class="tsd-panel tsd-hierarchy" data-refl="3222"><h4>Hierarchy</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Mesh</a><span class="tsd-signature-symbol">&lt;</span><a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">THREE.InstancedBufferGeometry</a><span class="tsd-signature-symbol">,</span> <a href="index.PBMGaussianSplattingNodeMaterial.html" class="tsd-signature-type tsd-kind-class">PBMGaussianSplattingNodeMaterial</a><span class="tsd-signature-symbol">&gt;</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">PBMGaussianSplattingRenderMesh</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:62</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
33
+ </div></section><section class="tsd-panel tsd-hierarchy" data-refl="3308"><h4>Hierarchy</h4><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Mesh</a><span class="tsd-signature-symbol">&lt;</span><a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">THREE.InstancedBufferGeometry</a><span class="tsd-signature-symbol">,</span> <a href="index.PBMGaussianSplattingNodeMaterial.html" class="tsd-signature-type tsd-kind-class">PBMGaussianSplattingNodeMaterial</a><span class="tsd-signature-symbol">&gt;</span><ul class="tsd-hierarchy"><li class="tsd-hierarchy-item"><span class="tsd-hierarchy-target">PBMGaussianSplattingRenderMesh</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:54</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h5 class="tsd-index-heading uppercase">Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
29
34
  </div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Properties</h3><div class="tsd-index-list"><a href="#needsrender" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>needs<wbr/>Render</span></a>
30
- <a href="#sortcameracoorient" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>sort<wbr/>Camera<wbr/>Coorient</span></a>
31
- <a href="#sortcameradistance" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>sort<wbr/>Camera<wbr/>Distance</span></a>
32
- <a href="#sortminintervalms" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>sort<wbr/>Min<wbr/>Interval<wbr/>Ms</span></a>
35
+ </div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Accessors</h3><div class="tsd-index-list"><a href="#currentpipelinemode" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>current<wbr/>Pipeline<wbr/>Mode</span></a>
36
+ <a href="#pipelinemode" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>pipeline<wbr/>Mode</span></a>
37
+ <a href="#sortcameracoorient" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>sort<wbr/>Camera<wbr/>Coorient</span></a>
38
+ <a href="#sortcameradistance" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>sort<wbr/>Camera<wbr/>Distance</span></a>
39
+ <a href="#sortminintervalms" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>sort<wbr/>Min<wbr/>Interval<wbr/>Ms</span></a>
33
40
  </div></section><section class="tsd-index-section"><h3 class="tsd-index-heading">Methods</h3><div class="tsd-index-list"><a href="#dispose" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>dispose</span></a>
34
41
  <a href="#onbeforerender" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>on<wbr/>Before<wbr/>Render</span></a>
35
- </div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Constructors</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="constructor"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="constructorpbmgaussiansplattingrendermesh"><span class="tsd-signature-keyword">new</span> <span class="tsd-kind-constructor-signature">PBMGaussianSplattingRenderMesh</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-class">PBMGaussianSplattingRenderMesh</a><a href="#constructorpbmgaussiansplattingrendermesh" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">PBMGaussianSplattingRenderMesh</a></h4><aside class="tsd-sources"><p>Overrides <a href="https://threejs.org/docs/" class="external" target="_blank">THREE.Mesh&lt;THREE.InstancedBufferGeometry, PBMGaussianSplattingNodeMaterial&gt;.constructor</a></p><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:135</li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Properties</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="needsrender"><span>needs<wbr/>Render</span><a href="#needsrender" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">needsRender</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = false</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:68</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="sortcameracoorient"><span>sort<wbr/>Camera<wbr/>Coorient</span><a href="#sortcameracoorient" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">sortCameraCoorient</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0.99</span></div><div class="tsd-comment tsd-typography"><p>姿态相似度阈值(|quat 点积|):低于才重排(0.99 ≈ 约 16° 内不重排)。</p>
36
- </div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:126</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="sortcameradistance"><span>sort<wbr/>Camera<wbr/>Distance</span><a href="#sortcameradistance" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">sortCameraDistance</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 1</span></div><div class="tsd-comment tsd-typography"><p>平移增量阈值(世界单位):超过才重排。</p>
37
- </div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:124</li></ul></aside></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="sortminintervalms"><span>sort<wbr/>Min<wbr/>Interval<wbr/>Ms</span><a href="#sortminintervalms" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">sortMinIntervalMs</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 0</span></div><div class="tsd-comment tsd-typography"><p>最小重排间隔(ms):即使脏也不超过此频率,0=不限。</p>
38
- </div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:128</li></ul></aside></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Methods</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="dispose"><span>dispose</span><a href="#dispose" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="dispose-1"><span class="tsd-kind-call-signature">dispose</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#dispose-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:702</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="onbeforerender"><span>on<wbr/>Before<wbr/>Render</span><a href="#onbeforerender" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="onbeforerender-1"><span class="tsd-kind-call-signature">onBeforeRender</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">renderer</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">scene</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Scene</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">camera</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Camera</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">_rest</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#onbeforerender-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">renderer</span>: <span class="tsd-signature-type">any</span></span></li><li><span><span class="tsd-kind-parameter">scene</span>: <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Scene</a></span></li><li><span><span class="tsd-kind-parameter">camera</span>: <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Camera</a></span></li><li><span><span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">_rest</span>: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><p>Overrides <a href="https://threejs.org/docs/" class="external" target="_blank">THREE.Mesh.onBeforeRender</a></p><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:601</li></ul></aside></div></li></ul></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#needsrender"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>needs<wbr/>Render</span></a><a href="#sortcameracoorient"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>sort<wbr/>Camera<wbr/>Coorient</span></a><a href="#sortcameradistance"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>sort<wbr/>Camera<wbr/>Distance</span></a><a href="#sortminintervalms"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>sort<wbr/>Min<wbr/>Interval<wbr/>Ms</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#dispose"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>dispose</span></a><a href="#onbeforerender"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>on<wbr/>Before<wbr/>Render</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">如视 Five SDK</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
42
+ </div></section></div></details></section></section><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Constructors</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="constructor"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="constructorpbmgaussiansplattingrendermesh"><span class="tsd-signature-keyword">new</span> <span class="tsd-kind-constructor-signature">PBMGaussianSplattingRenderMesh</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <a href="" class="tsd-signature-type tsd-kind-class">PBMGaussianSplattingRenderMesh</a><a href="#constructorpbmgaussiansplattingrendermesh" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">PBMGaussianSplattingRenderMesh</a></h4><aside class="tsd-sources"><p>Overrides <a href="https://threejs.org/docs/" class="external" target="_blank">THREE.Mesh&lt;THREE.InstancedBufferGeometry, PBMGaussianSplattingNodeMaterial&gt;.constructor</a></p><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:110</li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Properties</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="needsrender"><span>needs<wbr/>Render</span><a href="#needsrender" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">needsRender</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = false</span></div><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:60</li></ul></aside></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Accessors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Accessors</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="currentpipelinemode"><span>current<wbr/>Pipeline<wbr/>Mode</span><a href="#currentpipelinemode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="currentpipelinemodecurrentpipelinemode"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">currentPipelineMode</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>实际生效的 Current_Pipeline_Mode(解析后的结果,永不为 <code>AUTO</code>)。</p>
43
+ </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:149</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="pipelinemode"><span>pipeline<wbr/>Mode</span><a href="#pipelinemode" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="pipelinemodepipelinemode"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">pipelineMode</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Requested_Pipeline_Mode(<code>GSPLAT_PIPELINE_*</code>)。写入后在<strong>下一帧</strong>由
44
+ <code>syncPipelineMode</code> 解析并按需重建管线,便于开发期在同场景下对比两条管线
45
+ (Requirement 13.2)。</p>
46
+ </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:140</li></ul></aside></div></li><li><div class="tsd-signature" id="pipelinemodepipelinemode-1"><span class="tsd-signature-keyword">set</span> <span class="tsd-kind-set-signature">pipelineMode</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">value</span>: <span class="tsd-signature-type">number</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:144</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="sortcameracoorient"><span>sort<wbr/>Camera<wbr/>Coorient</span><a href="#sortcameracoorient" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="sortcameracoorientsortcameracoorient"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">sortCameraCoorient</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>姿态相似度阈值(|quat 点积|):低于才重排(0.99 ≈ 约 16° 内不重排)。</p>
47
+ </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:165</li></ul></aside></div></li><li><div class="tsd-signature" id="sortcameracoorientsortcameracoorient-1"><span class="tsd-signature-keyword">set</span> <span class="tsd-kind-set-signature">sortCameraCoorient</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">value</span>: <span class="tsd-signature-type">number</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:169</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="sortcameradistance"><span>sort<wbr/>Camera<wbr/>Distance</span><a href="#sortcameradistance" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="sortcameradistancesortcameradistance"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">sortCameraDistance</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>平移增量阈值(世界单位):超过才重排。</p>
48
+ </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:156</li></ul></aside></div></li><li><div class="tsd-signature" id="sortcameradistancesortcameradistance-1"><span class="tsd-signature-keyword">set</span> <span class="tsd-kind-set-signature">sortCameraDistance</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">value</span>: <span class="tsd-signature-type">number</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:160</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="sortminintervalms"><span>sort<wbr/>Min<wbr/>Interval<wbr/>Ms</span><a href="#sortminintervalms" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li><div class="tsd-signature" id="sortminintervalmssortminintervalms"><span class="tsd-signature-keyword">get</span> <span class="tsd-kind-get-signature">sortMinIntervalMs</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>最小重排间隔(ms):即使脏也不超过此频率,0=不限。</p>
49
+ </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:174</li></ul></aside></div></li><li><div class="tsd-signature" id="sortminintervalmssortminintervalms-1"><span class="tsd-signature-keyword">set</span> <span class="tsd-kind-set-signature">sortMinIntervalMs</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">value</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">value</span>: <span class="tsd-signature-type">number</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:178</li></ul></aside></div></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h2>Methods</h2></summary><section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="dispose"><span>dispose</span><a href="#dispose" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="dispose-1"><span class="tsd-kind-call-signature">dispose</span><span class="tsd-signature-symbol">()</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#dispose-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:587</li></ul></aside></div></li></ul></section><section class="tsd-panel tsd-member"><h3 class="tsd-anchor-link" id="onbeforerender"><span>on<wbr/>Before<wbr/>Render</span><a href="#onbeforerender" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="onbeforerender-1"><span class="tsd-kind-call-signature">onBeforeRender</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">renderer</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">scene</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Scene</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">camera</span><span class="tsd-signature-symbol">:</span> <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Camera</a><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">_rest</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">,</span><br/><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span><a href="#onbeforerender-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">renderer</span>: <span class="tsd-signature-type">any</span></span></li><li><span><span class="tsd-kind-parameter">scene</span>: <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Scene</a></span></li><li><span><span class="tsd-kind-parameter">camera</span>: <a href="https://threejs.org/docs/" class="tsd-signature-type external" target="_blank">Camera</a></span></li><li><span><span class="tsd-signature-symbol">...</span><span class="tsd-kind-parameter">_rest</span>: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><p>Overrides <a href="https://threejs.org/docs/" class="external" target="_blank">THREE.Mesh.onBeforeRender</a></p><ul><li>Defined in lib/five/model/objects/pbmGaussianSplattingRenderMesh.ts:461</li></ul></aside></div></li></ul></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Constructor"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#needsrender"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Property"><use href="../assets/icons.svg#icon-1024"></use></svg><span>needs<wbr/>Render</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Accessors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Accessors</summary><div><a href="#currentpipelinemode"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>current<wbr/>Pipeline<wbr/>Mode</span></a><a href="#pipelinemode"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>pipeline<wbr/>Mode</span></a><a href="#sortcameracoorient"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>sort<wbr/>Camera<wbr/>Coorient</span></a><a href="#sortcameradistance"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>sort<wbr/>Camera<wbr/>Distance</span></a><a href="#sortminintervalms"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Accessor"><use href="../assets/icons.svg#icon-262144"></use></svg><span>sort<wbr/>Min<wbr/>Interval<wbr/>Ms</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#dispose"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>dispose</span></a><a href="#onbeforerender"><svg class="tsd-kind-icon" viewBox="0 0 24 24" aria-label="Method"><use href="../assets/icons.svg#icon-2048"></use></svg><span>on<wbr/>Before<wbr/>Render</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">如视 Five SDK</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>