@babylonjs/core 6.29.0 → 6.29.2

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 (300) hide show
  1. package/Actions/abstractActionManager.js +1 -1
  2. package/Actions/abstractActionManager.js.map +1 -1
  3. package/Actions/actionManager.js +3 -3
  4. package/Actions/actionManager.js.map +1 -1
  5. package/Animations/animatable.js +1 -1
  6. package/Animations/animatable.js.map +1 -1
  7. package/Animations/animation.js +2 -2
  8. package/Animations/animation.js.map +1 -1
  9. package/Animations/pathCursor.js +1 -1
  10. package/Animations/pathCursor.js.map +1 -1
  11. package/Audio/audioSceneComponent.js +2 -2
  12. package/Audio/audioSceneComponent.js.map +1 -1
  13. package/Audio/soundTrack.js +1 -1
  14. package/Audio/soundTrack.js.map +1 -1
  15. package/Behaviors/Meshes/fadeInOutBehavior.js +1 -2
  16. package/Behaviors/Meshes/fadeInOutBehavior.js.map +1 -1
  17. package/Bones/bone.js +2 -2
  18. package/Bones/bone.js.map +1 -1
  19. package/Bones/skeleton.js +2 -2
  20. package/Bones/skeleton.js.map +1 -1
  21. package/Cameras/arcRotateCamera.js +13 -37
  22. package/Cameras/arcRotateCamera.js.map +1 -1
  23. package/Cameras/camera.d.ts +0 -21
  24. package/Cameras/camera.js +1 -36
  25. package/Cameras/camera.js.map +1 -1
  26. package/Cameras/targetCamera.js +30 -51
  27. package/Cameras/targetCamera.js.map +1 -1
  28. package/Culling/Octrees/octree.js +1 -1
  29. package/Culling/Octrees/octree.js.map +1 -1
  30. package/Culling/Octrees/octreeBlock.js +1 -1
  31. package/Culling/Octrees/octreeBlock.js.map +1 -1
  32. package/Culling/ray.js +1 -1
  33. package/Culling/ray.js.map +1 -1
  34. package/Debug/axesViewer.d.ts +3 -1
  35. package/Debug/axesViewer.js +14 -11
  36. package/Debug/axesViewer.js.map +1 -1
  37. package/Engines/Extensions/engine.multiRender.js +8 -8
  38. package/Engines/Extensions/engine.multiRender.js.map +1 -1
  39. package/Engines/Extensions/engine.textureSelector.js +1 -1
  40. package/Engines/Extensions/engine.textureSelector.js.map +1 -1
  41. package/Engines/Processors/shaderCodeInliner.js +1 -1
  42. package/Engines/Processors/shaderCodeInliner.js.map +1 -1
  43. package/Engines/WebGPU/Extensions/engine.computeShader.js +2 -10
  44. package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
  45. package/Engines/WebGPU/Extensions/engine.debugging.js +3 -6
  46. package/Engines/WebGPU/Extensions/engine.debugging.js.map +1 -1
  47. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js +1 -1
  48. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js.map +1 -1
  49. package/Engines/WebGPU/Extensions/engine.multiRender.js +9 -14
  50. package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
  51. package/Engines/WebGPU/Extensions/engine.query.js +2 -6
  52. package/Engines/WebGPU/Extensions/engine.query.js.map +1 -1
  53. package/Engines/WebGPU/Extensions/engine.renderTarget.js +6 -10
  54. package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
  55. package/Engines/WebGPU/Extensions/engine.storageBuffer.js +1 -1
  56. package/Engines/WebGPU/Extensions/engine.storageBuffer.js.map +1 -1
  57. package/Engines/WebGPU/Extensions/engine.videoTexture.js +2 -2
  58. package/Engines/WebGPU/Extensions/engine.videoTexture.js.map +1 -1
  59. package/Engines/WebGPU/webgpuBundleList.js +2 -1
  60. package/Engines/WebGPU/webgpuBundleList.js.map +1 -1
  61. package/Engines/WebGPU/webgpuCacheBindGroups.js +1 -1
  62. package/Engines/WebGPU/webgpuCacheBindGroups.js.map +1 -1
  63. package/Engines/WebGPU/webgpuCacheRenderPipeline.d.ts +1 -1
  64. package/Engines/WebGPU/webgpuCacheRenderPipeline.js +4 -7
  65. package/Engines/WebGPU/webgpuCacheRenderPipeline.js.map +1 -1
  66. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.d.ts +1 -1
  67. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js +2 -2
  68. package/Engines/WebGPU/webgpuCacheRenderPipelineTree.js.map +1 -1
  69. package/Engines/WebGPU/webgpuCacheSampler.d.ts +1 -1
  70. package/Engines/WebGPU/webgpuCacheSampler.js +5 -5
  71. package/Engines/WebGPU/webgpuCacheSampler.js.map +1 -1
  72. package/Engines/WebGPU/webgpuClearQuad.js +2 -2
  73. package/Engines/WebGPU/webgpuClearQuad.js.map +1 -1
  74. package/Engines/WebGPU/webgpuHardwareTexture.d.ts +0 -12
  75. package/Engines/WebGPU/webgpuHardwareTexture.js.map +1 -1
  76. package/Engines/WebGPU/webgpuMaterialContext.d.ts +3 -3
  77. package/Engines/WebGPU/webgpuMaterialContext.js +14 -10
  78. package/Engines/WebGPU/webgpuMaterialContext.js.map +1 -1
  79. package/Engines/WebGPU/webgpuOcclusionQuery.js +1 -12
  80. package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
  81. package/Engines/WebGPU/webgpuSnapshotRendering.d.ts +5 -8
  82. package/Engines/WebGPU/webgpuSnapshotRendering.js +24 -33
  83. package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -1
  84. package/Engines/WebGPU/webgpuTextureHelper.d.ts +2 -1
  85. package/Engines/WebGPU/webgpuTextureHelper.js +11 -16
  86. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  87. package/Engines/constants.d.ts +2 -2
  88. package/Engines/constants.js +2 -2
  89. package/Engines/constants.js.map +1 -1
  90. package/Engines/engine.js +2 -2
  91. package/Engines/engine.js.map +1 -1
  92. package/Engines/engineCapabilities.d.ts +2 -0
  93. package/Engines/engineCapabilities.js.map +1 -1
  94. package/Engines/engineStore.js +1 -1
  95. package/Engines/engineStore.js.map +1 -1
  96. package/Engines/nativeEngine.js +1 -0
  97. package/Engines/nativeEngine.js.map +1 -1
  98. package/Engines/nullEngine.js +1 -0
  99. package/Engines/nullEngine.js.map +1 -1
  100. package/Engines/thinEngine.js +6 -2
  101. package/Engines/thinEngine.js.map +1 -1
  102. package/Engines/webgpuEngine.d.ts +27 -32
  103. package/Engines/webgpuEngine.js +237 -317
  104. package/Engines/webgpuEngine.js.map +1 -1
  105. package/Gizmos/boundingBoxGizmo.js +1 -1
  106. package/Gizmos/boundingBoxGizmo.js.map +1 -1
  107. package/Gizmos/cameraGizmo.d.ts +3 -1
  108. package/Gizmos/cameraGizmo.js +11 -8
  109. package/Gizmos/cameraGizmo.js.map +1 -1
  110. package/Layers/effectLayerSceneComponent.js +2 -2
  111. package/Layers/effectLayerSceneComponent.js.map +1 -1
  112. package/Layers/layerSceneComponent.js +1 -1
  113. package/Layers/layerSceneComponent.js.map +1 -1
  114. package/LensFlares/lensFlareSystem.js +1 -1
  115. package/LensFlares/lensFlareSystem.js.map +1 -1
  116. package/LensFlares/lensFlareSystemSceneComponent.js +2 -2
  117. package/LensFlares/lensFlareSystemSceneComponent.js.map +1 -1
  118. package/Lights/Shadows/shadowGenerator.js +1 -1
  119. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  120. package/Lights/light.js +2 -2
  121. package/Lights/light.js.map +1 -1
  122. package/Loading/Plugins/babylonFileLoader.js +1 -1
  123. package/Loading/Plugins/babylonFileLoader.js.map +1 -1
  124. package/Loading/sceneLoader.js +3 -3
  125. package/Loading/sceneLoader.js.map +1 -1
  126. package/Materials/GreasedLine/greasedLineMaterialDefaults.d.ts +2 -2
  127. package/Materials/GreasedLine/greasedLineMaterialDefaults.js.map +1 -1
  128. package/Materials/GreasedLine/greasedLineSimpleMaterial.js +4 -1
  129. package/Materials/GreasedLine/greasedLineSimpleMaterial.js.map +1 -1
  130. package/Materials/Node/Blocks/Dual/lightBlock.js +1 -1
  131. package/Materials/Node/Blocks/Dual/lightBlock.js.map +1 -1
  132. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +1 -1
  133. package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
  134. package/Materials/Node/nodeMaterial.js +1 -1
  135. package/Materials/Node/nodeMaterial.js.map +1 -1
  136. package/Materials/Node/nodeMaterialBlockConnectionPoint.js +2 -2
  137. package/Materials/Node/nodeMaterialBlockConnectionPoint.js.map +1 -1
  138. package/Materials/Node/nodeMaterialBuildState.js +4 -4
  139. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  140. package/Materials/Node/nodeMaterialBuildStateSharedData.js +12 -12
  141. package/Materials/Node/nodeMaterialBuildStateSharedData.js.map +1 -1
  142. package/Materials/Textures/Procedurals/proceduralTextureSceneComponent.js +1 -1
  143. package/Materials/Textures/Procedurals/proceduralTextureSceneComponent.js.map +1 -1
  144. package/Materials/Textures/baseTexture.js +1 -1
  145. package/Materials/Textures/baseTexture.js.map +1 -1
  146. package/Materials/Textures/dynamicTexture.d.ts +4 -3
  147. package/Materials/Textures/dynamicTexture.js +10 -6
  148. package/Materials/Textures/dynamicTexture.js.map +1 -1
  149. package/Materials/Textures/externalTexture.d.ts +4 -0
  150. package/Materials/Textures/externalTexture.js +4 -0
  151. package/Materials/Textures/externalTexture.js.map +1 -1
  152. package/Materials/Textures/internalTexture.d.ts +0 -4
  153. package/Materials/Textures/internalTexture.js.map +1 -1
  154. package/Materials/Textures/renderTargetTexture.js +1 -1
  155. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  156. package/Materials/Textures/textureSampler.d.ts +4 -0
  157. package/Materials/Textures/textureSampler.js.map +1 -1
  158. package/Materials/material.js +1 -1
  159. package/Materials/material.js.map +1 -1
  160. package/Materials/multiMaterial.js +1 -1
  161. package/Materials/multiMaterial.js.map +1 -1
  162. package/Materials/shaderMaterial.js +1 -1
  163. package/Materials/shaderMaterial.js.map +1 -1
  164. package/Maths/math.path.d.ts +9 -1
  165. package/Maths/math.path.js +23 -7
  166. package/Maths/math.path.js.map +1 -1
  167. package/Maths/math.vector.d.ts +93 -0
  168. package/Maths/math.vector.js +157 -26
  169. package/Maths/math.vector.js.map +1 -1
  170. package/Meshes/Builders/cylinderBuilder.js +5 -5
  171. package/Meshes/Builders/cylinderBuilder.js.map +1 -1
  172. package/Meshes/Builders/decalBuilder.js +1 -1
  173. package/Meshes/Builders/decalBuilder.js.map +1 -1
  174. package/Meshes/Builders/discBuilder.js +4 -4
  175. package/Meshes/Builders/discBuilder.js.map +1 -1
  176. package/Meshes/Builders/goldbergBuilder.js +4 -4
  177. package/Meshes/Builders/goldbergBuilder.js.map +1 -1
  178. package/Meshes/Builders/groundBuilder.js +4 -4
  179. package/Meshes/Builders/groundBuilder.js.map +1 -1
  180. package/Meshes/Builders/icoSphereBuilder.js +4 -4
  181. package/Meshes/Builders/icoSphereBuilder.js.map +1 -1
  182. package/Meshes/Builders/latheBuilder.js +1 -1
  183. package/Meshes/Builders/latheBuilder.js.map +1 -1
  184. package/Meshes/Builders/linesBuilder.js +2 -2
  185. package/Meshes/Builders/linesBuilder.js.map +1 -1
  186. package/Meshes/Builders/polyhedronBuilder.js +6 -6
  187. package/Meshes/Builders/polyhedronBuilder.js.map +1 -1
  188. package/Meshes/Builders/shapeBuilder.js +1 -1
  189. package/Meshes/Builders/shapeBuilder.js.map +1 -1
  190. package/Meshes/Builders/textBuilder.js +13 -5
  191. package/Meshes/Builders/textBuilder.js.map +1 -1
  192. package/Meshes/Builders/torusKnotBuilder.js +4 -4
  193. package/Meshes/Builders/torusKnotBuilder.js.map +1 -1
  194. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.js +1 -1
  195. package/Meshes/Node/Blocks/Instances/instantiateOnVerticesBlock.js.map +1 -1
  196. package/Meshes/Node/Blocks/Sources/boxBlock.js +1 -0
  197. package/Meshes/Node/Blocks/Sources/boxBlock.js.map +1 -1
  198. package/Meshes/Node/Blocks/Sources/capsuleBlock.js +1 -0
  199. package/Meshes/Node/Blocks/Sources/capsuleBlock.js.map +1 -1
  200. package/Meshes/Node/Blocks/Sources/cylinderBlock.js +1 -0
  201. package/Meshes/Node/Blocks/Sources/cylinderBlock.js.map +1 -1
  202. package/Meshes/Node/Blocks/Sources/discBlock.js +1 -0
  203. package/Meshes/Node/Blocks/Sources/discBlock.js.map +1 -1
  204. package/Meshes/Node/Blocks/Sources/gridBlock.js +1 -0
  205. package/Meshes/Node/Blocks/Sources/gridBlock.js.map +1 -1
  206. package/Meshes/Node/Blocks/Sources/icoSphereBlock.js +1 -0
  207. package/Meshes/Node/Blocks/Sources/icoSphereBlock.js.map +1 -1
  208. package/Meshes/Node/Blocks/Sources/planeBlock.js +1 -0
  209. package/Meshes/Node/Blocks/Sources/planeBlock.js.map +1 -1
  210. package/Meshes/Node/Blocks/Sources/sphereBlock.js +1 -0
  211. package/Meshes/Node/Blocks/Sources/sphereBlock.js.map +1 -1
  212. package/Meshes/Node/Blocks/Sources/torusBlock.js +1 -0
  213. package/Meshes/Node/Blocks/Sources/torusBlock.js.map +1 -1
  214. package/Meshes/Node/nodeGeometry.js +1 -1
  215. package/Meshes/Node/nodeGeometry.js.map +1 -1
  216. package/Meshes/Node/nodeGeometryBlock.js +1 -0
  217. package/Meshes/Node/nodeGeometryBlock.js.map +1 -1
  218. package/Meshes/Node/nodeGeometryBlockConnectionPoint.d.ts +14 -0
  219. package/Meshes/Node/nodeGeometryBlockConnectionPoint.js +32 -5
  220. package/Meshes/Node/nodeGeometryBlockConnectionPoint.js.map +1 -1
  221. package/Meshes/abstractMesh.js +5 -5
  222. package/Meshes/abstractMesh.js.map +1 -1
  223. package/Meshes/csg.js +5 -5
  224. package/Meshes/csg.js.map +1 -1
  225. package/Meshes/geodesicMesh.js +1 -1
  226. package/Meshes/geodesicMesh.js.map +1 -1
  227. package/Meshes/mesh.js +14 -10
  228. package/Meshes/mesh.js.map +1 -1
  229. package/Meshes/mesh.vertexData.js +1 -1
  230. package/Meshes/mesh.vertexData.js.map +1 -1
  231. package/Meshes/meshSimplification.js +2 -2
  232. package/Meshes/meshSimplification.js.map +1 -1
  233. package/Meshes/polygonMesh.js +7 -7
  234. package/Meshes/polygonMesh.js.map +1 -1
  235. package/Meshes/thinInstanceMesh.js +1 -1
  236. package/Meshes/thinInstanceMesh.js.map +1 -1
  237. package/Misc/codeStringParsingTools.d.ts +2 -1
  238. package/Misc/codeStringParsingTools.js +3 -2
  239. package/Misc/codeStringParsingTools.js.map +1 -1
  240. package/Misc/dds.js +1 -1
  241. package/Misc/dds.js.map +1 -1
  242. package/Misc/filesInput.js +1 -1
  243. package/Misc/filesInput.js.map +1 -1
  244. package/Misc/greasedLineTools.d.ts +2 -1
  245. package/Misc/greasedLineTools.js +2 -0
  246. package/Misc/greasedLineTools.js.map +1 -1
  247. package/Misc/precisionDate.js +4 -2
  248. package/Misc/precisionDate.js.map +1 -1
  249. package/Misc/sceneOptimizer.js +2 -2
  250. package/Misc/sceneOptimizer.js.map +1 -1
  251. package/Morph/morphTarget.js +1 -1
  252. package/Morph/morphTarget.js.map +1 -1
  253. package/Particles/gpuParticleSystem.js +1 -1
  254. package/Particles/gpuParticleSystem.js.map +1 -1
  255. package/Particles/particleSystem.js +2 -2
  256. package/Particles/particleSystem.js.map +1 -1
  257. package/Particles/particleSystemComponent.js +2 -2
  258. package/Particles/particleSystemComponent.js.map +1 -1
  259. package/Particles/particleSystemSet.js +1 -1
  260. package/Particles/particleSystemSet.js.map +1 -1
  261. package/Physics/v1/Plugins/cannonJSPlugin.js +2 -2
  262. package/Physics/v1/Plugins/cannonJSPlugin.js.map +1 -1
  263. package/Physics/v2/Plugins/havokPlugin.js +3 -1
  264. package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
  265. package/PostProcesses/postProcess.d.ts +1 -0
  266. package/PostProcesses/postProcess.js +30 -23
  267. package/PostProcesses/postProcess.js.map +1 -1
  268. package/PostProcesses/volumetricLightScatteringPostProcess.js +2 -2
  269. package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
  270. package/Probes/reflectionProbe.js +1 -1
  271. package/Probes/reflectionProbe.js.map +1 -1
  272. package/Rendering/edgesRenderer.js +3 -3
  273. package/Rendering/edgesRenderer.js.map +1 -1
  274. package/Rendering/fluidRenderer/fluidRenderingDepthTextureCopy.js +2 -1
  275. package/Rendering/fluidRenderer/fluidRenderingDepthTextureCopy.js.map +1 -1
  276. package/Rendering/prePassRenderer.js +8 -4
  277. package/Rendering/prePassRenderer.js.map +1 -1
  278. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +2 -1
  279. package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  280. package/Sprites/spriteManager.js +1 -1
  281. package/Sprites/spriteManager.js.map +1 -1
  282. package/Sprites/spriteMap.js +4 -4
  283. package/Sprites/spriteMap.js.map +1 -1
  284. package/Sprites/spriteSceneComponent.js +2 -2
  285. package/Sprites/spriteSceneComponent.js.map +1 -1
  286. package/XR/features/WebXRFeaturePointSystem.js +2 -2
  287. package/XR/features/WebXRFeaturePointSystem.js.map +1 -1
  288. package/abstractScene.js +16 -16
  289. package/abstractScene.js.map +1 -1
  290. package/assetContainer.js +2 -2
  291. package/assetContainer.js.map +1 -1
  292. package/node.js +2 -2
  293. package/node.js.map +1 -1
  294. package/package.json +1 -1
  295. package/scene.d.ts +0 -4
  296. package/scene.js +6 -12
  297. package/scene.js.map +1 -1
  298. package/Engines/WebGPU/webgpuRenderPassWrapper.d.ts +0 -13
  299. package/Engines/WebGPU/webgpuRenderPassWrapper.js +0 -18
  300. package/Engines/WebGPU/webgpuRenderPassWrapper.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"webgpuSnapshotRendering.js","sourceRoot":"","sources":["../../../../../dev/core/src/Engines/WebGPU/webgpuSnapshotRendering.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Nullable } from \"../../types\";\r\nimport { Constants } from \"../constants\";\r\nimport type { WebGPUEngine } from \"../webgpuEngine\";\r\nimport type { WebGPUBundleList } from \"./webgpuBundleList\";\r\nimport type { WebGPUHardwareTexture } from \"./webgpuHardwareTexture\";\r\n\r\n/** @internal */\r\nexport class WebGPUSnapshotRendering {\r\n private _engine: WebGPUEngine;\r\n\r\n private _record = false;\r\n private _play = false;\r\n private _mainPassBundleList: WebGPUBundleList[] = [];\r\n private _modeSaved: number;\r\n private _bundleList: WebGPUBundleList;\r\n private _bundleListRenderTarget: WebGPUBundleList;\r\n\r\n private _enabled = false;\r\n private _mode: number;\r\n\r\n constructor(engine: WebGPUEngine, renderingMode: number, bundleList: WebGPUBundleList, bundleListRenderTarget: WebGPUBundleList) {\r\n this._engine = engine;\r\n this._mode = renderingMode;\r\n this._bundleList = bundleList;\r\n this._bundleListRenderTarget = bundleListRenderTarget;\r\n }\r\n\r\n public get enabled(): boolean {\r\n return this._enabled;\r\n }\r\n\r\n public get play() {\r\n return this._play;\r\n }\r\n\r\n public get record() {\r\n return this._record;\r\n }\r\n\r\n public set enabled(activate: boolean) {\r\n this._mainPassBundleList.length = 0;\r\n this._record = this._enabled = activate;\r\n this._play = false;\r\n if (activate) {\r\n this._modeSaved = this._mode;\r\n this._mode = Constants.SNAPSHOTRENDERING_STANDARD; // need to reset to standard for the recording pass to avoid some code being bypassed\r\n }\r\n }\r\n\r\n public get mode(): number {\r\n return this._mode;\r\n }\r\n\r\n public set mode(mode: number) {\r\n if (this._record) {\r\n this._modeSaved = mode;\r\n } else {\r\n this._mode = mode;\r\n }\r\n }\r\n\r\n public endMainRenderPass(): void {\r\n if (this._record) {\r\n this._mainPassBundleList.push(this._bundleList.clone());\r\n }\r\n }\r\n\r\n public endRenderTargetPass(currentRenderPass: GPURenderPassEncoder, gpuWrapper: WebGPUHardwareTexture): boolean {\r\n if (this._play) {\r\n gpuWrapper._bundleLists?.[gpuWrapper._currentLayer]?.run(currentRenderPass);\r\n if (this._mode === Constants.SNAPSHOTRENDERING_FAST) {\r\n this._engine._reportDrawCall(gpuWrapper._bundleLists?.[gpuWrapper._currentLayer]?.numDrawCalls);\r\n }\r\n } else if (this._record) {\r\n if (!gpuWrapper._bundleLists) {\r\n gpuWrapper._bundleLists = [];\r\n }\r\n gpuWrapper._bundleLists[gpuWrapper._currentLayer] = this._bundleListRenderTarget.clone();\r\n gpuWrapper._bundleLists[gpuWrapper._currentLayer].run(currentRenderPass);\r\n this._bundleListRenderTarget.reset();\r\n } else {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public endFrame(mainRenderPass: Nullable<GPURenderPassEncoder>): void {\r\n if (this._record) {\r\n this._mainPassBundleList.push(this._bundleList.clone());\r\n this._record = false;\r\n this._play = true;\r\n this._mode = this._modeSaved;\r\n }\r\n\r\n if (mainRenderPass !== null && this._play) {\r\n for (let i = 0; i < this._mainPassBundleList.length; ++i) {\r\n this._mainPassBundleList[i].run(mainRenderPass);\r\n if (this._mode === Constants.SNAPSHOTRENDERING_FAST) {\r\n this._engine._reportDrawCall(this._mainPassBundleList[i].numDrawCalls);\r\n }\r\n }\r\n }\r\n }\r\n\r\n public reset(): void {\r\n this.enabled = false;\r\n this.enabled = true;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"webgpuSnapshotRendering.js","sourceRoot":"","sources":["../../../../../dev/core/src/Engines/WebGPU/webgpuSnapshotRendering.ts"],"names":[],"mappings":"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","sourcesContent":["import { Constants } from \"../constants\";\r\nimport type { WebGPUEngine } from \"../webgpuEngine\";\r\nimport type { WebGPUBundleList } from \"./webgpuBundleList\";\r\n\r\n/** @internal */\r\nexport class WebGPUSnapshotRendering {\r\n private _engine: WebGPUEngine;\r\n\r\n private _record = false;\r\n private _play = false;\r\n private _playBundleListIndex = 0;\r\n private _allBundleLists: WebGPUBundleList[] = [];\r\n private _modeSaved: number;\r\n private _bundleList: WebGPUBundleList;\r\n\r\n private _enabled = false;\r\n private _mode: number;\r\n\r\n constructor(engine: WebGPUEngine, renderingMode: number, bundleList: WebGPUBundleList) {\r\n this._engine = engine;\r\n this._mode = renderingMode;\r\n this._bundleList = bundleList;\r\n }\r\n\r\n public get enabled(): boolean {\r\n return this._enabled;\r\n }\r\n\r\n public get play() {\r\n return this._play;\r\n }\r\n\r\n public get record() {\r\n return this._record;\r\n }\r\n\r\n public set enabled(activate: boolean) {\r\n this._allBundleLists.length = 0;\r\n this._record = this._enabled = activate;\r\n this._play = false;\r\n if (activate) {\r\n this._modeSaved = this._mode;\r\n this._mode = Constants.SNAPSHOTRENDERING_STANDARD; // need to reset to standard for the recording pass to avoid some code being bypassed\r\n }\r\n }\r\n\r\n public get mode(): number {\r\n return this._mode;\r\n }\r\n\r\n public set mode(mode: number) {\r\n if (this._record) {\r\n this._modeSaved = mode;\r\n } else {\r\n this._mode = mode;\r\n }\r\n }\r\n\r\n public endRenderPass(currentRenderPass: GPURenderPassEncoder): boolean {\r\n if (!this._record && !this._play) {\r\n // Snapshot rendering mode is not enabled\r\n return false;\r\n }\r\n\r\n let bundleList: WebGPUBundleList;\r\n\r\n if (this._record) {\r\n bundleList = this._bundleList.clone();\r\n this._allBundleLists.push(bundleList);\r\n this._bundleList.reset();\r\n } else {\r\n // We are playing the snapshot\r\n if (this._playBundleListIndex >= this._allBundleLists.length) {\r\n throw new Error(\r\n `Invalid playBundleListIndex! Your snapshot is no longer valid for the current frame, you should recreate a new one. playBundleListIndex=${this._playBundleListIndex}, allBundleLists.length=${this._allBundleLists.length}}`\r\n );\r\n }\r\n bundleList = this._allBundleLists[this._playBundleListIndex++];\r\n }\r\n\r\n bundleList.run(currentRenderPass);\r\n\r\n if (this._mode === Constants.SNAPSHOTRENDERING_FAST) {\r\n this._engine._reportDrawCall(bundleList.numDrawCalls);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public endFrame(): void {\r\n if (this._record) {\r\n // We stop recording and switch to replay mode for the next frames\r\n this._record = false;\r\n this._play = true;\r\n this._mode = this._modeSaved;\r\n }\r\n\r\n this._playBundleListIndex = 0;\r\n }\r\n\r\n public reset(): void {\r\n this.enabled = false;\r\n this.enabled = true;\r\n }\r\n}\r\n"]}
@@ -30,7 +30,7 @@ export declare class WebGPUTextureHelper {
30
30
  constructor(device: GPUDevice, glslang: any, tintWASM: Nullable<WebGPUTintWASM>, bufferManager: WebGPUBufferManager, enabledExtensions: GPUFeatureName[]);
31
31
  private _getPipeline;
32
32
  private _getVideoPipeline;
33
- private static _GetTextureTypeFromFormat;
33
+ static GetTextureTypeFromFormat(format: GPUTextureFormat): number;
34
34
  private static _GetBlockInformationFromFormat;
35
35
  private static _IsHardwareTexture;
36
36
  private static _IsInternalTexture;
@@ -49,6 +49,7 @@ export declare class WebGPUTextureHelper {
49
49
  static HasStencilAspect(format: GPUTextureFormat): boolean;
50
50
  static HasDepthAndStencilAspects(format: GPUTextureFormat): boolean;
51
51
  static GetDepthFormatOnly(format: GPUTextureFormat): GPUTextureFormat;
52
+ static GetSample(sampleCount: number): 1 | 4;
52
53
  copyVideoToTexture(video: ExternalTexture, texture: InternalTexture, format: GPUTextureFormat, invertY?: boolean, commandEncoder?: GPUCommandEncoder): void;
53
54
  invertYPreMultiplyAlpha(gpuOrHdwTexture: GPUTexture | WebGPUHardwareTexture, width: number, height: number, format: GPUTextureFormat, invertY?: boolean, premultiplyAlpha?: boolean, faceIndex?: number, mipLevel?: number, layers?: number, ofstX?: number, ofstY?: number, rectWidth?: number, rectHeight?: number, commandEncoder?: GPUCommandEncoder, allowGPUOptimization?: boolean): void;
54
55
  copyWithInvertY(srcTextureView: GPUTextureView, format: GPUTextureFormat, renderPassDescriptor: GPURenderPassDescriptor, commandEncoder?: GPUCommandEncoder): void;
@@ -394,7 +394,7 @@ export class WebGPUTextureHelper {
394
394
  }
395
395
  return pipelineAndBGL;
396
396
  }
397
- static _GetTextureTypeFromFormat(format) {
397
+ static GetTextureTypeFromFormat(format) {
398
398
  switch (format) {
399
399
  // One Component = 8 bits
400
400
  case WebGPUConstants.TextureFormat.R8Unorm:
@@ -416,7 +416,6 @@ export class WebGPUTextureHelper {
416
416
  case WebGPUConstants.TextureFormat.RGB10A2Unorm: // composite format - let's say it's byte...
417
417
  case WebGPUConstants.TextureFormat.RGB9E5UFloat: // composite format - let's say it's byte...
418
418
  case WebGPUConstants.TextureFormat.RG11B10UFloat: // composite format - let's say it's byte...
419
- case WebGPUConstants.TextureFormat.Depth32FloatStencil8: // composite format - let's say it's byte...
420
419
  case WebGPUConstants.TextureFormat.BC7RGBAUnorm:
421
420
  case WebGPUConstants.TextureFormat.BC7RGBAUnormSRGB:
422
421
  case WebGPUConstants.TextureFormat.BC6HRGBUFloat:
@@ -469,6 +468,7 @@ export class WebGPUTextureHelper {
469
468
  case WebGPUConstants.TextureFormat.ASTC12x10UnormSRGB:
470
469
  case WebGPUConstants.TextureFormat.ASTC12x12Unorm:
471
470
  case WebGPUConstants.TextureFormat.ASTC12x12UnormSRGB:
471
+ case WebGPUConstants.TextureFormat.Stencil8:
472
472
  return 0;
473
473
  // One component = 16 bits
474
474
  case WebGPUConstants.TextureFormat.R16Uint:
@@ -495,13 +495,10 @@ export class WebGPUTextureHelper {
495
495
  case WebGPUConstants.TextureFormat.RG32Float:
496
496
  case WebGPUConstants.TextureFormat.RGBA32Float:
497
497
  case WebGPUConstants.TextureFormat.Depth32Float:
498
- return 1;
499
- case WebGPUConstants.TextureFormat.Stencil8:
500
- throw "No fixed size for Stencil8 format!";
498
+ case WebGPUConstants.TextureFormat.Depth32FloatStencil8:
501
499
  case WebGPUConstants.TextureFormat.Depth24Plus:
502
- throw "No fixed size for Depth24Plus format!";
503
500
  case WebGPUConstants.TextureFormat.Depth24PlusStencil8:
504
- throw "No fixed size for Depth24PlusStencil8 format!";
501
+ return 1;
505
502
  }
506
503
  return 0;
507
504
  }
@@ -1053,6 +1050,10 @@ export class WebGPUTextureHelper {
1053
1050
  }
1054
1051
  return format;
1055
1052
  }
1053
+ static GetSample(sampleCount) {
1054
+ // WebGPU only supports 1 or 4
1055
+ return sampleCount > 1 ? 4 : 1;
1056
+ }
1056
1057
  copyVideoToTexture(video, texture, format, invertY = false, commandEncoder) {
1057
1058
  var _a, _b, _c, _d;
1058
1059
  const useOwnCommandEncoder = commandEncoder === undefined;
@@ -1256,10 +1257,7 @@ export class WebGPUTextureHelper {
1256
1257
  // Creation
1257
1258
  //------------------------------------------------------------------------------
1258
1259
  createTexture(imageBitmap, hasMipmaps = false, generateMipmaps = false, invertY = false, premultiplyAlpha = false, is3D = false, format = WebGPUConstants.TextureFormat.RGBA8Unorm, sampleCount = 1, commandEncoder, usage = -1, additionalUsages = 0, label) {
1259
- if (sampleCount > 1) {
1260
- // WebGPU only supports 1 or 4
1261
- sampleCount = 4;
1262
- }
1260
+ sampleCount = WebGPUTextureHelper.GetSample(sampleCount);
1263
1261
  const layerCount = imageBitmap.layers || 1;
1264
1262
  const textureSize = {
1265
1263
  width: imageBitmap.width,
@@ -1293,10 +1291,7 @@ export class WebGPUTextureHelper {
1293
1291
  return gpuTexture;
1294
1292
  }
1295
1293
  createCubeTexture(imageBitmaps, hasMipmaps = false, generateMipmaps = false, invertY = false, premultiplyAlpha = false, format = WebGPUConstants.TextureFormat.RGBA8Unorm, sampleCount = 1, commandEncoder, usage = -1, additionalUsages = 0, label) {
1296
- if (sampleCount > 1) {
1297
- // WebGPU only supports 1 or 4
1298
- sampleCount = 4;
1299
- }
1294
+ sampleCount = WebGPUTextureHelper.GetSample(sampleCount);
1300
1295
  const width = WebGPUTextureHelper.IsImageBitmapArray(imageBitmaps) ? imageBitmaps[0].width : imageBitmaps.width;
1301
1296
  const height = WebGPUTextureHelper.IsImageBitmapArray(imageBitmaps) ? imageBitmaps[0].height : imageBitmaps.height;
1302
1297
  const renderAttachmentFlag = renderableTextureFormatToIndex[format] ? WebGPUConstants.TextureUsage.RenderAttachment : 0;
@@ -1631,7 +1626,7 @@ export class WebGPUTextureHelper {
1631
1626
  depthOrArrayLayers: 1,
1632
1627
  });
1633
1628
  this._device.queue.submit([commandEncoder.finish()]);
1634
- return this._bufferManager.readDataFromBuffer(gpuBuffer, size, width, height, bytesPerRow, bytesPerRowAligned, WebGPUTextureHelper._GetTextureTypeFromFormat(format), 0, buffer, true, noDataConversion);
1629
+ return this._bufferManager.readDataFromBuffer(gpuBuffer, size, width, height, bytesPerRow, bytesPerRowAligned, WebGPUTextureHelper.GetTextureTypeFromFormat(format), 0, buffer, true, noDataConversion);
1635
1630
  }
1636
1631
  //------------------------------------------------------------------------------
1637
1632
  // Dispose