@babylonjs/core 7.2.2 → 7.2.3

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 (376) hide show
  1. package/Animations/runtimeAnimation.d.ts +1 -0
  2. package/Animations/runtimeAnimation.js +12 -3
  3. package/Animations/runtimeAnimation.js.map +1 -1
  4. package/Audio/audioEngine.js +2 -2
  5. package/Audio/audioEngine.js.map +1 -1
  6. package/Bones/boneLookController.js +3 -0
  7. package/Bones/boneLookController.js.map +1 -1
  8. package/Buffers/buffer.d.ts +5 -5
  9. package/Buffers/buffer.js.map +1 -1
  10. package/Buffers/storageBuffer.d.ts +2 -2
  11. package/Buffers/storageBuffer.js.map +1 -1
  12. package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js.map +1 -1
  13. package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
  14. package/Cameras/Inputs/followCameraKeyboardMoveInput.js.map +1 -1
  15. package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
  16. package/Compute/computeEffect.d.ts +3 -3
  17. package/Compute/computeEffect.js.map +1 -1
  18. package/Compute/computeShader.d.ts +10 -2
  19. package/Compute/computeShader.js +53 -35
  20. package/Compute/computeShader.js.map +1 -1
  21. package/DeviceInput/InputDevices/deviceSourceManager.d.ts +2 -2
  22. package/DeviceInput/InputDevices/deviceSourceManager.js.map +1 -1
  23. package/DeviceInput/internalDeviceSourceManager.d.ts +4 -4
  24. package/DeviceInput/internalDeviceSourceManager.js.map +1 -1
  25. package/DeviceInput/webDeviceInputSystem.d.ts +2 -2
  26. package/DeviceInput/webDeviceInputSystem.js.map +1 -1
  27. package/Engines/AbstractEngine/abstractEngine.alpha.d.ts +10 -0
  28. package/Engines/AbstractEngine/abstractEngine.alpha.js +29 -0
  29. package/Engines/AbstractEngine/abstractEngine.alpha.js.map +1 -0
  30. package/Engines/AbstractEngine/abstractEngine.cubeTexture.d.ts +17 -0
  31. package/Engines/AbstractEngine/abstractEngine.cubeTexture.js +138 -0
  32. package/Engines/AbstractEngine/abstractEngine.cubeTexture.js.map +1 -0
  33. package/Engines/AbstractEngine/abstractEngine.dom.d.ts +61 -0
  34. package/Engines/AbstractEngine/abstractEngine.dom.js +27 -0
  35. package/Engines/AbstractEngine/abstractEngine.dom.js.map +1 -0
  36. package/Engines/AbstractEngine/abstractEngine.loadingScreen.d.ts +30 -0
  37. package/Engines/AbstractEngine/abstractEngine.loadingScreen.js +48 -0
  38. package/Engines/AbstractEngine/abstractEngine.loadingScreen.js.map +1 -0
  39. package/Engines/AbstractEngine/abstractEngine.query.d.ts +122 -0
  40. package/Engines/AbstractEngine/abstractEngine.query.js +175 -0
  41. package/Engines/AbstractEngine/abstractEngine.query.js.map +1 -0
  42. package/Engines/AbstractEngine/abstractEngine.renderPass.d.ts +26 -0
  43. package/Engines/AbstractEngine/abstractEngine.renderPass.js +29 -0
  44. package/Engines/AbstractEngine/abstractEngine.renderPass.js.map +1 -0
  45. package/Engines/AbstractEngine/abstractEngine.states.d.ts +162 -0
  46. package/Engines/AbstractEngine/abstractEngine.states.js +105 -0
  47. package/Engines/AbstractEngine/abstractEngine.states.js.map +1 -0
  48. package/Engines/AbstractEngine/abstractEngine.texture.d.ts +16 -0
  49. package/Engines/AbstractEngine/abstractEngine.texture.js +11 -0
  50. package/Engines/AbstractEngine/abstractEngine.texture.js.map +1 -0
  51. package/Engines/AbstractEngine/index.d.ts +8 -0
  52. package/Engines/AbstractEngine/index.js +10 -0
  53. package/Engines/AbstractEngine/index.js.map +1 -0
  54. package/Engines/Extensions/engine.alpha.d.ts +0 -24
  55. package/Engines/Extensions/engine.alpha.js +0 -35
  56. package/Engines/Extensions/engine.alpha.js.map +1 -1
  57. package/Engines/Extensions/engine.computeShader.d.ts +15 -2
  58. package/Engines/Extensions/engine.computeShader.js +5 -1
  59. package/Engines/Extensions/engine.computeShader.js.map +1 -1
  60. package/Engines/Extensions/engine.cubeTexture.d.ts +0 -8
  61. package/Engines/Extensions/engine.cubeTexture.js +2 -135
  62. package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
  63. package/Engines/Extensions/engine.debugging.d.ts +2 -2
  64. package/Engines/Extensions/engine.debugging.js +5 -5
  65. package/Engines/Extensions/engine.debugging.js.map +1 -1
  66. package/Engines/Extensions/engine.dynamicTexture.js +3 -2
  67. package/Engines/Extensions/engine.dynamicTexture.js.map +1 -1
  68. package/Engines/Extensions/engine.multiview.js.map +1 -1
  69. package/Engines/Extensions/engine.query.d.ts +5 -120
  70. package/Engines/Extensions/engine.query.js +14 -150
  71. package/Engines/Extensions/engine.query.js.map +1 -1
  72. package/Engines/Extensions/engine.renderTarget.js +0 -9
  73. package/Engines/Extensions/engine.renderTarget.js.map +1 -1
  74. package/Engines/Extensions/engine.views.d.ts +3 -2
  75. package/Engines/Extensions/engine.views.js.map +1 -1
  76. package/Engines/Processors/iShaderProcessor.d.ts +2 -2
  77. package/Engines/Processors/iShaderProcessor.js.map +1 -1
  78. package/Engines/Processors/shaderProcessor.d.ts +3 -3
  79. package/Engines/Processors/shaderProcessor.js.map +1 -1
  80. package/Engines/WebGL/webGLRenderTargetWrapper.js +12 -9
  81. package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
  82. package/Engines/WebGL/webGLShaderProcessors.d.ts +2 -2
  83. package/Engines/WebGL/webGLShaderProcessors.js.map +1 -1
  84. package/Engines/WebGPU/Extensions/engine.alpha.d.ts +35 -0
  85. package/Engines/WebGPU/Extensions/engine.alpha.js +4 -4
  86. package/Engines/WebGPU/Extensions/engine.alpha.js.map +1 -1
  87. package/Engines/WebGPU/Extensions/engine.computeShader.d.ts +9 -0
  88. package/Engines/WebGPU/Extensions/engine.computeShader.js +13 -2
  89. package/Engines/WebGPU/Extensions/engine.computeShader.js.map +1 -1
  90. package/Engines/WebGPU/Extensions/engine.cubeTexture.d.ts +78 -1
  91. package/Engines/WebGPU/Extensions/engine.cubeTexture.js.map +1 -1
  92. package/Engines/WebGPU/Extensions/engine.dynamicTexture.d.ts +27 -1
  93. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js +3 -3
  94. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js.map +1 -1
  95. package/Engines/WebGPU/Extensions/engine.externalTexture.d.ts +16 -0
  96. package/Engines/WebGPU/Extensions/engine.externalTexture.js.map +1 -1
  97. package/Engines/WebGPU/Extensions/engine.multiRender.d.ts +55 -1
  98. package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
  99. package/Engines/WebGPU/Extensions/engine.query.d.ts +1 -1
  100. package/Engines/WebGPU/Extensions/engine.query.js +1 -0
  101. package/Engines/WebGPU/Extensions/engine.query.js.map +1 -1
  102. package/Engines/WebGPU/Extensions/engine.rawTexture.d.ts +185 -1
  103. package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
  104. package/Engines/WebGPU/Extensions/engine.readTexture.d.ts +10 -1
  105. package/Engines/WebGPU/Extensions/engine.readTexture.js.map +1 -1
  106. package/Engines/WebGPU/Extensions/engine.renderTarget.d.ts +38 -1
  107. package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
  108. package/Engines/WebGPU/Extensions/engine.renderTargetCube.d.ts +13 -1
  109. package/Engines/WebGPU/Extensions/engine.renderTargetCube.js.map +1 -1
  110. package/Engines/WebGPU/Extensions/engine.storageBuffer.d.ts +38 -1
  111. package/Engines/WebGPU/Extensions/engine.storageBuffer.js.map +1 -1
  112. package/Engines/WebGPU/Extensions/engine.textureSampler.d.ts +10 -0
  113. package/Engines/WebGPU/Extensions/engine.textureSampler.js.map +1 -1
  114. package/Engines/WebGPU/Extensions/engine.videoTexture.d.ts +14 -1
  115. package/Engines/WebGPU/Extensions/engine.videoTexture.js.map +1 -1
  116. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.d.ts +2 -2
  117. package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
  118. package/Engines/abstractEngine.d.ts +1688 -0
  119. package/Engines/abstractEngine.js +1354 -0
  120. package/Engines/abstractEngine.js.map +1 -0
  121. package/Engines/engine.common.d.ts +39 -0
  122. package/Engines/engine.common.js +226 -0
  123. package/Engines/engine.common.js.map +1 -0
  124. package/Engines/engine.d.ts +40 -447
  125. package/Engines/engine.js +64 -810
  126. package/Engines/engine.js.map +1 -1
  127. package/Engines/engineFactory.d.ts +2 -2
  128. package/Engines/engineFactory.js.map +1 -1
  129. package/Engines/engineStore.d.ts +4 -4
  130. package/Engines/engineStore.js.map +1 -1
  131. package/Engines/index.d.ts +3 -0
  132. package/Engines/index.js +3 -0
  133. package/Engines/index.js.map +1 -1
  134. package/Engines/nativeEngine.d.ts +1 -1
  135. package/Engines/nativeEngine.js +2 -1
  136. package/Engines/nativeEngine.js.map +1 -1
  137. package/Engines/nullEngine.d.ts +2 -2
  138. package/Engines/nullEngine.js +2 -3
  139. package/Engines/nullEngine.js.map +1 -1
  140. package/Engines/renderTargetWrapper.d.ts +3 -3
  141. package/Engines/renderTargetWrapper.js.map +1 -1
  142. package/Engines/thinEngine.d.ts +35 -591
  143. package/Engines/thinEngine.js +84 -1134
  144. package/Engines/thinEngine.js.map +1 -1
  145. package/Engines/webgpuEngine.d.ts +149 -109
  146. package/Engines/webgpuEngine.js +249 -161
  147. package/Engines/webgpuEngine.js.map +1 -1
  148. package/Instrumentation/engineInstrumentation.d.ts +5 -4
  149. package/Instrumentation/engineInstrumentation.js.map +1 -1
  150. package/Layers/effectLayer.d.ts +2 -2
  151. package/Layers/effectLayer.js +3 -3
  152. package/Layers/effectLayer.js.map +1 -1
  153. package/Layers/effectLayerSceneComponent.js.map +1 -1
  154. package/Layers/glowLayer.js +3 -3
  155. package/Layers/glowLayer.js.map +1 -1
  156. package/Layers/highlightLayer.js +3 -3
  157. package/Layers/highlightLayer.js.map +1 -1
  158. package/Layers/layerSceneComponent.js.map +1 -1
  159. package/Loading/loadingScreen.js +2 -2
  160. package/Loading/loadingScreen.js.map +1 -1
  161. package/Loading/sceneLoader.d.ts +3 -3
  162. package/Loading/sceneLoader.js +1 -1
  163. package/Loading/sceneLoader.js.map +1 -1
  164. package/Materials/GreasedLine/greasedLinePluginMaterial.js.map +1 -1
  165. package/Materials/Textures/Filtering/hdrFiltering.d.ts +2 -2
  166. package/Materials/Textures/Filtering/hdrFiltering.js.map +1 -1
  167. package/Materials/Textures/Loaders/basisTextureLoader.js +2 -2
  168. package/Materials/Textures/Loaders/basisTextureLoader.js.map +1 -1
  169. package/Materials/Textures/MultiviewRenderTarget.d.ts +1 -0
  170. package/Materials/Textures/MultiviewRenderTarget.js +1 -0
  171. package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
  172. package/Materials/Textures/Procedurals/proceduralTexture.js +1 -1
  173. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  174. package/Materials/Textures/baseTexture.d.ts +3 -3
  175. package/Materials/Textures/baseTexture.js.map +1 -1
  176. package/Materials/Textures/colorGradingTexture.d.ts +2 -2
  177. package/Materials/Textures/colorGradingTexture.js.map +1 -1
  178. package/Materials/Textures/cubeTexture.d.ts +3 -2
  179. package/Materials/Textures/cubeTexture.js +1 -0
  180. package/Materials/Textures/cubeTexture.js.map +1 -1
  181. package/Materials/Textures/hdrCubeTexture.d.ts +2 -2
  182. package/Materials/Textures/hdrCubeTexture.js.map +1 -1
  183. package/Materials/Textures/htmlElementTexture.d.ts +2 -2
  184. package/Materials/Textures/htmlElementTexture.js.map +1 -1
  185. package/Materials/Textures/internalTexture.d.ts +3 -3
  186. package/Materials/Textures/internalTexture.js.map +1 -1
  187. package/Materials/Textures/rawTexture.d.ts +10 -10
  188. package/Materials/Textures/rawTexture.js.map +1 -1
  189. package/Materials/Textures/renderTargetTexture.d.ts +4 -4
  190. package/Materials/Textures/renderTargetTexture.js +4 -4
  191. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  192. package/Materials/Textures/texture.d.ts +2 -2
  193. package/Materials/Textures/texture.js.map +1 -1
  194. package/Materials/Textures/thinTexture.d.ts +3 -3
  195. package/Materials/Textures/thinTexture.js +1 -1
  196. package/Materials/Textures/thinTexture.js.map +1 -1
  197. package/Materials/drawWrapper.d.ts +2 -3
  198. package/Materials/drawWrapper.functions.d.ts +8 -0
  199. package/Materials/drawWrapper.functions.js +9 -0
  200. package/Materials/drawWrapper.functions.js.map +1 -0
  201. package/Materials/drawWrapper.js +0 -3
  202. package/Materials/drawWrapper.js.map +1 -1
  203. package/Materials/effect.d.ts +4 -5
  204. package/Materials/effect.js.map +1 -1
  205. package/Materials/effectRenderer.d.ts +4 -4
  206. package/Materials/effectRenderer.js.map +1 -1
  207. package/Materials/index.d.ts +1 -0
  208. package/Materials/index.js +1 -0
  209. package/Materials/index.js.map +1 -1
  210. package/Materials/materialHelper.functions.d.ts +2 -2
  211. package/Materials/materialHelper.functions.js.map +1 -1
  212. package/Materials/materialPluginBase.d.ts +4 -4
  213. package/Materials/materialPluginBase.js.map +1 -1
  214. package/Materials/materialPluginManager.d.ts +2 -2
  215. package/Materials/materialPluginManager.js.map +1 -1
  216. package/Materials/meshDebugPluginMaterial.js +1 -1
  217. package/Materials/meshDebugPluginMaterial.js.map +1 -1
  218. package/Materials/uniformBuffer.d.ts +2 -2
  219. package/Materials/uniformBuffer.js.map +1 -1
  220. package/Meshes/Builders/greasedLineBuilder.d.ts +6 -0
  221. package/Meshes/Builders/greasedLineBuilder.js +15 -8
  222. package/Meshes/Builders/greasedLineBuilder.js.map +1 -1
  223. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +1 -1
  224. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
  225. package/Meshes/GreasedLine/greasedLineBaseMesh.d.ts +2 -2
  226. package/Meshes/GreasedLine/greasedLineBaseMesh.js.map +1 -1
  227. package/Meshes/GreasedLine/greasedLineMesh.js +1 -1
  228. package/Meshes/GreasedLine/greasedLineMesh.js.map +1 -1
  229. package/Meshes/geometry.d.ts +2 -2
  230. package/Meshes/geometry.js +3 -2
  231. package/Meshes/geometry.js.map +1 -1
  232. package/Meshes/instancedMesh.js.map +1 -1
  233. package/Meshes/mesh.d.ts +3 -3
  234. package/Meshes/mesh.js.map +1 -1
  235. package/Meshes/subMesh.d.ts +2 -2
  236. package/Meshes/subMesh.js.map +1 -1
  237. package/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js.map +1 -1
  238. package/Misc/copyTextureToTexture.d.ts +2 -2
  239. package/Misc/copyTextureToTexture.js.map +1 -1
  240. package/Misc/dds.d.ts +3 -2
  241. package/Misc/dds.js +2 -1
  242. package/Misc/dds.js.map +1 -1
  243. package/Misc/dumpTools.d.ts +2 -2
  244. package/Misc/dumpTools.js.map +1 -1
  245. package/Misc/fileTools.js +3 -3
  246. package/Misc/fileTools.js.map +1 -1
  247. package/Misc/khronosTextureContainer2.d.ts +8 -2
  248. package/Misc/khronosTextureContainer2.js +3 -2
  249. package/Misc/khronosTextureContainer2.js.map +1 -1
  250. package/Misc/minMaxReducer.d.ts +2 -2
  251. package/Misc/minMaxReducer.js.map +1 -1
  252. package/Misc/textureTools.js.map +1 -1
  253. package/Misc/tools.d.ts +7 -7
  254. package/Misc/tools.functions.d.ts +26 -0
  255. package/Misc/tools.functions.js +62 -0
  256. package/Misc/tools.functions.js.map +1 -1
  257. package/Misc/tools.js.map +1 -1
  258. package/Misc/videoRecorder.d.ts +3 -3
  259. package/Misc/videoRecorder.js.map +1 -1
  260. package/Particles/baseParticleSystem.d.ts +2 -2
  261. package/Particles/baseParticleSystem.js.map +1 -1
  262. package/Particles/computeShaderParticleSystem.d.ts +2 -2
  263. package/Particles/computeShaderParticleSystem.js.map +1 -1
  264. package/Particles/gpuParticleSystem.d.ts +3 -3
  265. package/Particles/gpuParticleSystem.js +2 -2
  266. package/Particles/gpuParticleSystem.js.map +1 -1
  267. package/Particles/particle.js +1 -1
  268. package/Particles/particle.js.map +1 -1
  269. package/Particles/particleSystem.d.ts +3 -3
  270. package/Particles/particleSystem.js +3 -3
  271. package/Particles/particleSystem.js.map +1 -1
  272. package/Particles/particleSystemComponent.d.ts +2 -2
  273. package/Particles/particleSystemComponent.js +2 -2
  274. package/Particles/particleSystemComponent.js.map +1 -1
  275. package/Particles/subEmitter.d.ts +3 -3
  276. package/Particles/subEmitter.js.map +1 -1
  277. package/Particles/thinParticleSystem.d.ts +2 -2
  278. package/Particles/thinParticleSystem.js.map +1 -1
  279. package/Physics/v2/physicsBody.js +3 -3
  280. package/Physics/v2/physicsBody.js.map +1 -1
  281. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
  282. package/PostProcesses/RenderPipeline/postProcessRenderEffect.d.ts +2 -2
  283. package/PostProcesses/RenderPipeline/postProcessRenderEffect.js.map +1 -1
  284. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.d.ts +2 -2
  285. package/PostProcesses/RenderPipeline/postProcessRenderPipeline.js.map +1 -1
  286. package/PostProcesses/blackAndWhitePostProcess.d.ts +2 -2
  287. package/PostProcesses/blackAndWhitePostProcess.js.map +1 -1
  288. package/PostProcesses/bloomMergePostProcess.d.ts +2 -2
  289. package/PostProcesses/bloomMergePostProcess.js.map +1 -1
  290. package/PostProcesses/blurPostProcess.d.ts +2 -2
  291. package/PostProcesses/blurPostProcess.js.map +1 -1
  292. package/PostProcesses/chromaticAberrationPostProcess.d.ts +2 -2
  293. package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
  294. package/PostProcesses/circleOfConfusionPostProcess.d.ts +2 -2
  295. package/PostProcesses/circleOfConfusionPostProcess.js.map +1 -1
  296. package/PostProcesses/colorCorrectionPostProcess.d.ts +2 -2
  297. package/PostProcesses/colorCorrectionPostProcess.js.map +1 -1
  298. package/PostProcesses/convolutionPostProcess.d.ts +2 -2
  299. package/PostProcesses/convolutionPostProcess.js.map +1 -1
  300. package/PostProcesses/depthOfFieldBlurPostProcess.d.ts +2 -2
  301. package/PostProcesses/depthOfFieldBlurPostProcess.js.map +1 -1
  302. package/PostProcesses/depthOfFieldEffect.js +1 -1
  303. package/PostProcesses/depthOfFieldEffect.js.map +1 -1
  304. package/PostProcesses/depthOfFieldMergePostProcess.d.ts +2 -2
  305. package/PostProcesses/depthOfFieldMergePostProcess.js.map +1 -1
  306. package/PostProcesses/displayPassPostProcess.d.ts +2 -2
  307. package/PostProcesses/displayPassPostProcess.js.map +1 -1
  308. package/PostProcesses/extractHighlightsPostProcess.d.ts +2 -2
  309. package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
  310. package/PostProcesses/filterPostProcess.d.ts +2 -2
  311. package/PostProcesses/filterPostProcess.js.map +1 -1
  312. package/PostProcesses/fxaaPostProcess.d.ts +2 -2
  313. package/PostProcesses/fxaaPostProcess.js +2 -2
  314. package/PostProcesses/fxaaPostProcess.js.map +1 -1
  315. package/PostProcesses/grainPostProcess.d.ts +2 -2
  316. package/PostProcesses/grainPostProcess.js.map +1 -1
  317. package/PostProcesses/imageProcessingPostProcess.d.ts +2 -2
  318. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  319. package/PostProcesses/motionBlurPostProcess.d.ts +2 -2
  320. package/PostProcesses/motionBlurPostProcess.js.map +1 -1
  321. package/PostProcesses/passPostProcess.d.ts +3 -3
  322. package/PostProcesses/passPostProcess.js +2 -2
  323. package/PostProcesses/passPostProcess.js.map +1 -1
  324. package/PostProcesses/postProcess.d.ts +4 -4
  325. package/PostProcesses/postProcess.js +3 -3
  326. package/PostProcesses/postProcess.js.map +1 -1
  327. package/PostProcesses/refractionPostProcess.d.ts +2 -2
  328. package/PostProcesses/refractionPostProcess.js.map +1 -1
  329. package/PostProcesses/screenSpaceCurvaturePostProcess.d.ts +2 -2
  330. package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
  331. package/PostProcesses/screenSpaceReflectionPostProcess.d.ts +2 -2
  332. package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
  333. package/PostProcesses/sharpenPostProcess.d.ts +2 -2
  334. package/PostProcesses/sharpenPostProcess.js.map +1 -1
  335. package/PostProcesses/subSurfaceScatteringPostProcess.d.ts +2 -2
  336. package/PostProcesses/subSurfaceScatteringPostProcess.js.map +1 -1
  337. package/PostProcesses/volumetricLightScatteringPostProcess.d.ts +2 -2
  338. package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
  339. package/Rendering/GlobalIllumination/giRSMManager.js.map +1 -1
  340. package/Rendering/depthPeelingRenderer.js.map +1 -1
  341. package/Rendering/fluidRenderer/fluidRenderer.js.map +1 -1
  342. package/Rendering/fluidRenderer/fluidRenderingDepthTextureCopy.d.ts +2 -2
  343. package/Rendering/fluidRenderer/fluidRenderingDepthTextureCopy.js.map +1 -1
  344. package/Rendering/fluidRenderer/fluidRenderingObject.d.ts +2 -2
  345. package/Rendering/fluidRenderer/fluidRenderingObject.js.map +1 -1
  346. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.d.ts +2 -2
  347. package/Rendering/fluidRenderer/fluidRenderingTargetRenderer.js.map +1 -1
  348. package/Rendering/fluidRenderer/fluidRenderingTextures.d.ts +2 -2
  349. package/Rendering/fluidRenderer/fluidRenderingTextures.js.map +1 -1
  350. package/Rendering/geometryBufferRenderer.js +24 -18
  351. package/Rendering/geometryBufferRenderer.js.map +1 -1
  352. package/Rendering/outlineRenderer.js.map +1 -1
  353. package/Rendering/prePassRenderer.js.map +1 -1
  354. package/Sprites/spriteRenderer.d.ts +2 -2
  355. package/Sprites/spriteRenderer.js.map +1 -1
  356. package/XR/features/WebXRDepthSensing.js.map +1 -1
  357. package/XR/features/WebXRImageTracking.js.map +1 -1
  358. package/XR/features/WebXRLayers.d.ts +2 -2
  359. package/XR/features/WebXRLayers.js.map +1 -1
  360. package/XR/features/WebXRLightEstimation.js.map +1 -1
  361. package/XR/features/WebXRRawCameraAccess.d.ts +1 -1
  362. package/XR/features/WebXRRawCameraAccess.js.map +1 -1
  363. package/XR/features/WebXRSpaceWarp.js +1 -3
  364. package/XR/features/WebXRSpaceWarp.js.map +1 -1
  365. package/XR/features/WebXRWalkingLocomotion.js.map +1 -1
  366. package/XR/webXRExperienceHelper.js.map +1 -1
  367. package/XR/webXRManagedOutputCanvas.d.ts +2 -2
  368. package/XR/webXRManagedOutputCanvas.js.map +1 -1
  369. package/XR/webXRRenderTargetTextureProvider.js.map +1 -1
  370. package/XR/webXRSessionManager.js.map +1 -1
  371. package/assetContainer.js.map +1 -1
  372. package/node.d.ts +2 -2
  373. package/node.js.map +1 -1
  374. package/package.json +1 -1
  375. package/scene.d.ts +3 -3
  376. package/scene.js.map +1 -1
@@ -1,124 +1,32 @@
1
- import type { IInternalTextureLoader } from "../Materials/Textures/internalTextureLoader";
2
1
  import type { IEffectCreationOptions, IShaderPath } from "../Materials/effect";
3
- import { Effect } from "../Materials/effect";
4
- import type { IShaderProcessor } from "./Processors/iShaderProcessor";
5
2
  import type { ShaderProcessingContext } from "./Processors/shaderProcessingOptions";
6
- import type { UniformBuffer } from "../Materials/uniformBuffer";
7
3
  import type { Nullable, DataArray, IndicesArray, FloatArray, DeepImmutable } from "../types";
8
- import type { EngineCapabilities } from "./engineCapabilities";
9
- import { Observable } from "../Misc/observable";
10
- import { DepthCullingState } from "../States/depthCullingState";
11
- import { StencilState } from "../States/stencilState";
12
- import { AlphaState } from "../States/alphaCullingState";
13
- import { InternalTexture, InternalTextureSource } from "../Materials/Textures/internalTexture";
14
- import type { IViewportLike, IColor4Like } from "../Maths/math.like";
4
+ import type { IColor4Like } from "../Maths/math.like";
15
5
  import type { DataBuffer } from "../Buffers/dataBuffer";
16
- import type { IFileRequest } from "../Misc/fileRequest";
17
6
  import type { IPipelineContext } from "./IPipelineContext";
18
- import { WebGLPipelineContext } from "./WebGL/webGLPipelineContext";
19
7
  import type { VertexBuffer } from "../Buffers/buffer";
20
8
  import type { InstancingAttributeInfo } from "./instancingAttributeInfo";
21
9
  import type { ThinTexture } from "../Materials/Textures/thinTexture";
22
- import type { IOfflineProvider } from "../Offline/IOfflineProvider";
23
10
  import type { IEffectFallbacks } from "../Materials/iEffectFallbacks";
24
- import type { IWebRequest } from "../Misc/interfaces/iWebRequest";
25
- import type { EngineFeatures } from "./engineFeatures";
26
11
  import type { HardwareTextureWrapper } from "../Materials/Textures/hardwareTextureWrapper";
27
- import { DrawWrapper } from "../Materials/drawWrapper";
12
+ import type { DrawWrapper } from "../Materials/drawWrapper";
28
13
  import type { IMaterialContext } from "./IMaterialContext";
29
14
  import type { IDrawContext } from "./IDrawContext";
30
- import type { ICanvas, ICanvasRenderingContext, IImage } from "./ICanvas";
31
- import { StencilStateComposer } from "../States/stencilStateComposer";
32
- import type { StorageBuffer } from "../Buffers/storageBuffer";
33
- import type { IAudioEngineOptions } from "../Audio/Interfaces/IAudioEngineOptions";
15
+ import type { ICanvas, ICanvasRenderingContext } from "./ICanvas";
34
16
  import type { IStencilState } from "../States/IStencilState";
35
17
  import type { InternalTextureCreationOptions, TextureSize } from "../Materials/Textures/textureCreationOptions";
36
- import { ShaderLanguage } from "../Materials/shaderLanguage";
37
18
  import type { RenderTargetWrapper } from "./renderTargetWrapper";
38
- import type { WebRequest } from "../Misc/webRequest";
39
- import type { LoadFileError } from "../Misc/fileTools";
40
- import type { Texture } from "../Materials/Textures/texture";
41
- /**
42
- * Defines the interface used by objects working like Scene
43
- * @internal
44
- */
45
- export interface ISceneLike {
46
- addPendingData(data: any): void;
47
- removePendingData(data: any): void;
48
- offlineProvider: IOfflineProvider;
49
- }
50
- /**
51
- * Information about the current host
52
- */
53
- export interface HostInformation {
54
- /**
55
- * Defines if the current host is a mobile
56
- */
57
- isMobile: boolean;
58
- }
59
- /** Interface defining initialization parameters for ThinEngine class */
60
- export interface ThinEngineOptions {
61
- /**
62
- * Defines if the engine should no exceed a specified device ratio
63
- * @see https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio
64
- */
65
- limitDeviceRatio?: number;
66
- /**
67
- * Defines if webaudio should be initialized as well
68
- * @see https://doc.babylonjs.com/features/featuresDeepDive/audio/playingSoundsMusic
69
- */
70
- audioEngine?: boolean;
71
- /**
72
- * Specifies options for the audio engine
73
- */
74
- audioEngineOptions?: IAudioEngineOptions;
75
- /**
76
- * Defines if animations should run using a deterministic lock step
77
- * @see https://doc.babylonjs.com/features/featuresDeepDive/animation/advanced_animations#deterministic-lockstep
78
- */
79
- deterministicLockstep?: boolean;
80
- /** Defines the maximum steps to use with deterministic lock step mode */
81
- lockstepMaxSteps?: number;
82
- /** Defines the seconds between each deterministic lock step */
83
- timeStep?: number;
84
- /**
85
- * Defines that engine should ignore context lost events
86
- * If this event happens when this parameter is true, you will have to reload the page to restore rendering
87
- */
88
- doNotHandleContextLost?: boolean;
89
- /**
90
- * Defines that engine should ignore modifying touch action attribute and style
91
- * If not handle, you might need to set it up on your side for expected touch devices behavior.
92
- */
93
- doNotHandleTouchAction?: boolean;
94
- /**
95
- * Make the matrix computations to be performed in 64 bits instead of 32 bits. False by default
96
- */
97
- useHighPrecisionMatrix?: boolean;
98
- /**
99
- * Defines whether to adapt to the device's viewport characteristics (default: false)
100
- */
101
- adaptToDeviceRatio?: boolean;
102
- /**
103
- * True if the more expensive but exact conversions should be used for transforming colors to and from linear space within shaders.
104
- * Otherwise, the default is to use a cheaper approximation.
105
- */
106
- useExactSrgbConversions?: boolean;
107
- /**
108
- * Defines whether MSAA is enabled on the canvas.
109
- */
110
- antialias?: boolean;
111
- /**
112
- * Defines whether the stencil buffer should be enabled.
113
- */
114
- stencil?: boolean;
115
- /**
116
- * Defines whether the canvas should be created in "premultiplied" mode (if false, the canvas is created in the "opaque" mode) (true by default)
117
- */
118
- premultipliedAlpha?: boolean;
119
- }
19
+ import type { RenderTargetTexture } from "../Materials/Textures/renderTargetTexture";
20
+ import type { AbstractEngineOptions, ISceneLike } from "./abstractEngine";
21
+ import type { PostProcess } from "../PostProcesses/postProcess";
22
+ import type { PerformanceMonitor } from "../Misc/performanceMonitor";
23
+ import { AbstractEngine } from "./abstractEngine";
24
+ import { ShaderLanguage } from "../Materials/shaderLanguage";
25
+ import { WebGLPipelineContext } from "./WebGL/webGLPipelineContext";
26
+ import { InternalTexture, InternalTextureSource } from "../Materials/Textures/internalTexture";
27
+ import { Effect } from "../Materials/effect";
120
28
  /** Interface defining initialization parameters for Engine class */
121
- export interface EngineOptions extends ThinEngineOptions, WebGLContextAttributes {
29
+ export interface EngineOptions extends AbstractEngineOptions, WebGLContextAttributes {
122
30
  /**
123
31
  * Defines if webgl2 should be turned off even if supported
124
32
  * @see https://doc.babylonjs.com/setup/support/webGL2
@@ -151,7 +59,7 @@ export interface EngineOptions extends ThinEngineOptions, WebGLContextAttributes
151
59
  /**
152
60
  * The base engine class (root of all engines)
153
61
  */
154
- export declare class ThinEngine {
62
+ export declare class ThinEngine extends AbstractEngine {
155
63
  private static _TempClearColorUint32;
156
64
  private static _TempClearColorInt32;
157
65
  /** Use this array to turn off some WebGL2 features on known buggy browsers version */
@@ -167,19 +75,7 @@ export declare class ThinEngine {
167
75
  targets: string[];
168
76
  })[];
169
77
  /** @internal */
170
- static _TextureLoaders: IInternalTextureLoader[];
171
- /**
172
- * Returns the current npm package of the sdk
173
- */
174
- static get NpmPackage(): string;
175
- /**
176
- * Returns the current version of the framework
177
- */
178
- static get Version(): string;
179
- /**
180
- * Returns a string describing the current engine
181
- */
182
- get description(): string;
78
+ protected _creationOptions: EngineOptions;
183
79
  /** @internal */
184
80
  protected _name: string;
185
81
  /**
@@ -191,8 +87,6 @@ export declare class ThinEngine {
191
87
  * Returns the version of the engine
192
88
  */
193
89
  get version(): number;
194
- protected _isDisposed: boolean;
195
- get isDisposed(): boolean;
196
90
  /**
197
91
  * Gets or sets the epsilon value used by collision engine
198
92
  */
@@ -202,70 +96,16 @@ export declare class ThinEngine {
202
96
  */
203
97
  static get ShadersRepository(): string;
204
98
  static set ShadersRepository(value: string);
205
- protected _shaderProcessor: Nullable<IShaderProcessor>;
206
- /**
207
- * @internal
208
- */
209
- _getShaderProcessor(shaderLanguage: ShaderLanguage): Nullable<IShaderProcessor>;
210
99
  /**
211
100
  * Gets or sets a boolean that indicates if textures must be forced to power of 2 size even if not required
212
101
  */
213
102
  forcePOTTextures: boolean;
214
- /**
215
- * Gets a boolean indicating if the engine is currently rendering in fullscreen mode
216
- */
217
- isFullscreen: boolean;
218
- /**
219
- * Gets or sets a boolean indicating if back faces must be culled. If false, front faces are culled instead (true by default)
220
- * If non null, this takes precedence over the value from the material
221
- */
222
- cullBackFaces: Nullable<boolean>;
223
- /**
224
- * Gets or sets a boolean indicating if the engine must keep rendering even if the window is not in foreground
225
- */
226
- renderEvenInBackground: boolean;
227
- /**
228
- * Gets or sets a boolean indicating that cache can be kept between frames
229
- */
230
- preventCacheWipeBetweenFrames: boolean;
231
103
  /** Gets or sets a boolean indicating if the engine should validate programs after compilation */
232
104
  validateShaderPrograms: boolean;
233
- private _useReverseDepthBuffer;
234
- /**
235
- * Gets or sets a boolean indicating if depth buffer should be reverse, going from far to near.
236
- * This can provide greater z depth for distant objects.
237
- */
238
- get useReverseDepthBuffer(): boolean;
239
- set useReverseDepthBuffer(useReverse: boolean);
240
- /**
241
- * Indicates if the z range in NDC space is 0..1 (value: true) or -1..1 (value: false)
242
- */
243
- readonly isNDCHalfZRange: boolean;
244
- /**
245
- * Indicates that the origin of the texture/framebuffer space is the bottom left corner. If false, the origin is top left
246
- */
247
- readonly hasOriginBottomLeft: boolean;
248
105
  /**
249
106
  * Gets or sets a boolean indicating that uniform buffers must be disabled even if they are supported
250
107
  */
251
108
  disableUniformBuffers: boolean;
252
- /**
253
- * An event triggered when the engine is disposed.
254
- */
255
- readonly onDisposeObservable: Observable<ThinEngine>;
256
- private _frameId;
257
- /**
258
- * Gets the current frame id
259
- */
260
- get frameId(): number;
261
- /**
262
- * The time (in milliseconds elapsed since the current page has been loaded) when the engine was initialized
263
- */
264
- readonly startTime: number;
265
- /** @internal */
266
- _uniformBuffers: UniformBuffer[];
267
- /** @internal */
268
- _storageBuffers: StorageBuffer[];
269
109
  /**
270
110
  * Gets a boolean indicating that the engine supports uniform buffers
271
111
  * @see https://doc.babylonjs.com/setup/support/webGL2#uniform-buffer-objets
@@ -275,11 +115,6 @@ export declare class ThinEngine {
275
115
  _gl: WebGL2RenderingContext;
276
116
  /** @internal */
277
117
  _webGLVersion: number;
278
- protected _renderingCanvas: Nullable<HTMLCanvasElement>;
279
- protected _windowIsBackground: boolean;
280
- protected _creationOptions: EngineOptions;
281
- protected _audioContext: Nullable<AudioContext>;
282
- protected _audioDestination: Nullable<AudioDestinationNode | MediaStreamAudioDestinationNode>;
283
118
  /** @internal */
284
119
  _glSRGBExtensionValues: {
285
120
  SRGB: typeof WebGL2RenderingContext.SRGB;
@@ -291,108 +126,20 @@ export declare class ThinEngine {
291
126
  * @returns EngineOptions object
292
127
  */
293
128
  getCreationOptions(): EngineOptions;
294
- protected _highPrecisionShadersAllowed: boolean;
295
- /** @internal */
296
- get _shouldUseHighPrecisionShader(): boolean;
297
129
  /**
298
130
  * Gets a boolean indicating that only power of 2 textures are supported
299
131
  * Please note that you can still use non power of 2 textures but in this case the engine will forcefully convert them
300
132
  */
301
133
  get needPOTTextures(): boolean;
302
- /** @internal */
303
- _badOS: boolean;
304
- /** @internal */
305
- _badDesktopOS: boolean;
306
- /** @internal */
307
- _hardwareScalingLevel: number;
308
- /** @internal */
309
- _caps: EngineCapabilities;
310
- /** @internal */
311
- _features: EngineFeatures;
312
- protected _isStencilEnable: boolean;
313
134
  private _glVersion;
314
135
  private _glRenderer;
315
136
  private _glVendor;
316
137
  /** @internal */
317
- _videoTextureSupported: boolean;
318
- protected _activeRenderLoops: (() => void)[];
319
- /**
320
- * Gets the list of current active render loop functions
321
- * @returns a read only array with the current render loop functions
322
- */
323
- get activeRenderLoops(): ReadonlyArray<() => void>;
324
- /**
325
- * Observable signaled when a context lost event is raised
326
- */
327
- onContextLostObservable: Observable<ThinEngine>;
328
- /**
329
- * Observable signaled when a context restored event is raised
330
- */
331
- onContextRestoredObservable: Observable<ThinEngine>;
332
- private _onContextLost;
333
- private _onContextRestored;
334
- protected _contextWasLost: boolean;
335
- /** @internal */
336
- _doNotHandleContextLost: boolean;
337
- /**
338
- * Gets or sets a boolean indicating if resources should be retained to be able to handle context lost events
339
- * @see https://doc.babylonjs.com/features/featuresDeepDive/scene/optimize_your_scene#handling-webgl-context-lost
340
- */
341
- get doNotHandleContextLost(): boolean;
342
- set doNotHandleContextLost(value: boolean);
343
- /**
344
- * Gets or sets a boolean indicating that vertex array object must be disabled even if they are supported
345
- */
346
- disableVertexArrayObjects: boolean;
347
- /** @internal */
348
- protected _colorWrite: boolean;
349
- /** @internal */
350
- protected _colorWriteChanged: boolean;
351
- /** @internal */
352
- protected _depthCullingState: DepthCullingState;
353
- /** @internal */
354
- protected _stencilStateComposer: StencilStateComposer;
355
- /** @internal */
356
- protected _stencilState: StencilState;
357
- /** @internal */
358
- _alphaState: AlphaState;
359
- /** @internal */
360
- _alphaMode: number;
361
- /** @internal */
362
- _alphaEquation: number;
363
- /** @internal */
364
- _internalTexturesCache: InternalTexture[];
365
- /** @internal */
366
- _renderTargetWrapperCache: RenderTargetWrapper[];
367
- /** @internal */
368
- protected _activeChannel: number;
369
- private _currentTextureChannel;
370
- /** @internal */
371
- protected _boundTexturesCache: {
372
- [key: string]: Nullable<InternalTexture>;
373
- };
374
- protected _currentEffect: Nullable<Effect>;
375
- /** @internal */
376
- _currentDrawContext: IDrawContext;
377
- /** @internal */
378
138
  _currentMaterialContext: IMaterialContext;
379
139
  /** @internal */
380
140
  protected _currentProgram: Nullable<WebGLProgram>;
381
- protected _compiledEffects: {
382
- [key: string]: Effect;
383
- };
384
141
  private _vertexAttribArraysEnabled;
385
- /** @internal */
386
- protected _cachedViewport: Nullable<IViewportLike>;
387
142
  private _cachedVertexArrayObject;
388
- /** @internal */
389
- protected _cachedVertexBuffers: any;
390
- /** @internal */
391
- protected _cachedIndexBuffer: Nullable<DataBuffer>;
392
- /** @internal */
393
- protected _cachedEffectForVertexBuffers: Nullable<Effect>;
394
- /** @internal */
395
- _currentRenderTarget: Nullable<RenderTargetWrapper>;
396
143
  private _uintIndicesCurrentlySet;
397
144
  protected _currentBoundBuffer: Nullable<DataBuffer>[];
398
145
  /** @internal */
@@ -407,32 +154,11 @@ export declare class ThinEngine {
407
154
  _workingCanvas: Nullable<ICanvas>;
408
155
  /** @internal */
409
156
  _workingContext: Nullable<ICanvasRenderingContext>;
410
- /** @internal */
411
- _boundRenderFunction: any;
412
157
  private _vaoRecordInProgress;
413
158
  private _mustWipeVertexAttributes;
414
- private _emptyTexture;
415
- private _emptyCubeTexture;
416
- private _emptyTexture3D;
417
- private _emptyTexture2DArray;
418
- /** @internal */
419
- _frameHandler: number;
420
159
  private _nextFreeTextureSlots;
421
160
  private _maxSimultaneousTextures;
422
161
  private _maxMSAASamplesOverride;
423
- private _activeRequests;
424
- /**
425
- * If set to true zooming in and out in the browser will rescale the hardware-scaling correctly.
426
- */
427
- adaptToDeviceRatio: boolean;
428
- /** @internal */
429
- protected _lastDevicePixelRatio: number;
430
- /** @internal */
431
- _transformTextureUrl: Nullable<(url: string) => string>;
432
- /**
433
- * Gets information about the current host
434
- */
435
- hostInformation: HostInformation;
436
162
  protected get _supportsHardwareTextureRescaling(): boolean;
437
163
  protected _framebufferDimensionsObject: Nullable<{
438
164
  framebufferWidth: number;
@@ -447,80 +173,10 @@ export declare class ThinEngine {
447
173
  framebufferWidth: number;
448
174
  framebufferHeight: number;
449
175
  }>);
450
- /**
451
- * Gets the current viewport
452
- */
453
- get currentViewport(): Nullable<IViewportLike>;
454
- /**
455
- * Gets the default empty texture
456
- */
457
- get emptyTexture(): InternalTexture;
458
- /**
459
- * Gets the default empty 3D texture
460
- */
461
- get emptyTexture3D(): InternalTexture;
462
- /**
463
- * Gets the default empty 2D array texture
464
- */
465
- get emptyTexture2DArray(): InternalTexture;
466
- /**
467
- * Gets the default empty cube texture
468
- */
469
- get emptyCubeTexture(): InternalTexture;
470
- /**
471
- * Defines whether the engine has been created with the premultipliedAlpha option on or not.
472
- */
473
- premultipliedAlpha: boolean;
474
- /**
475
- * Observable event triggered before each texture is initialized
476
- */
477
- onBeforeTextureInitObservable: Observable<Texture>;
478
- /** @internal */
479
- protected _isWebGPU: boolean;
480
- /**
481
- * Gets a boolean indicating if the engine runs in WebGPU or not.
482
- */
483
- get isWebGPU(): boolean;
484
- /** @internal */
485
- protected _shaderPlatformName: string;
486
- /**
487
- * Gets the shader platform name used by the effects.
488
- */
489
- get shaderPlatformName(): string;
490
- /**
491
- * Enables or disables the snapshot rendering mode
492
- * Note that the WebGL engine does not support snapshot rendering so setting the value won't have any effect for this engine
493
- */
494
- get snapshotRendering(): boolean;
495
- set snapshotRendering(activate: boolean);
496
- protected _snapshotRenderingMode: number;
497
- /**
498
- * Gets or sets the snapshot rendering mode
499
- */
500
- get snapshotRenderingMode(): number;
501
- set snapshotRenderingMode(mode: number);
502
- /**
503
- * Gets a boolean indicating if the exact sRGB conversions or faster approximations are used for converting to and from linear space.
504
- */
505
- readonly useExactSrgbConversions: boolean;
506
176
  /**
507
177
  * Creates a new snapshot at the next frame using the current snapshotRenderingMode
508
178
  */
509
179
  snapshotRenderingReset(): void;
510
- private _checkForMobile;
511
- private static _CreateCanvas;
512
- /**
513
- * Create a canvas. This method is overridden by other engines
514
- * @param width width
515
- * @param height height
516
- * @returns ICanvas interface
517
- */
518
- createCanvas(width: number, height: number): ICanvas;
519
- /**
520
- * Create an image to use with canvas
521
- * @returns IImage interface
522
- */
523
- createCanvasImage(): IImage;
524
180
  /**
525
181
  * Creates a new engine
526
182
  * @param canvasOrContext defines the canvas or WebGL context to use for rendering. If you provide a WebGL context, Babylon.js will not hook events on the canvas (like pointers, keyboards, etc...) so no event observables will be available. This is mostly used when Babylon.js is used as a plugin on a system which already used the WebGL context
@@ -529,30 +185,16 @@ export declare class ThinEngine {
529
185
  * @param adaptToDeviceRatio defines whether to adapt to the device's viewport characteristics (default: false)
530
186
  */
531
187
  constructor(canvasOrContext: Nullable<HTMLCanvasElement | OffscreenCanvas | WebGLRenderingContext | WebGL2RenderingContext>, antialias?: boolean, options?: EngineOptions, adaptToDeviceRatio?: boolean);
532
- protected _setupMobileChecks(): void;
533
188
  protected _clearEmptyResources(): void;
534
- protected _rebuildGraphicsResources(): void;
535
- protected _flagContextRestored(): void;
536
- protected _restoreEngineAfterContextLost(initEngine: () => void): void;
537
- /**
538
- * Shared initialization across engines types.
539
- * @param canvas The canvas associated with this instance of the engine.
540
- */
541
- protected _sharedInit(canvas: HTMLCanvasElement): void;
542
189
  /**
543
190
  * @internal
544
191
  */
545
192
  _getShaderProcessingContext(shaderLanguage: ShaderLanguage): Nullable<ShaderProcessingContext>;
546
- private _rebuildInternalTextures;
547
- private _rebuildRenderTargetWrappers;
548
- private _rebuildEffects;
549
193
  /**
550
194
  * Gets a boolean indicating if all created effects are ready
551
195
  * @returns true if all effects are ready
552
196
  */
553
197
  areAllEffectsReady(): boolean;
554
- protected _rebuildBuffers(): void;
555
- protected _rebuildTextures(): void;
556
198
  protected _initGLContext(): void;
557
199
  protected _initFeatures(): void;
558
200
  /**
@@ -565,16 +207,8 @@ export declare class ThinEngine {
565
207
  * @returns "Engine" string
566
208
  */
567
209
  getClassName(): string;
568
- /**
569
- * Returns true if the stencil buffer has been enabled through the creation option of the context.
570
- */
571
- get isStencilEnable(): boolean;
572
210
  /** @internal */
573
211
  _prepareWorkingCanvas(): void;
574
- /**
575
- * Reset the texture cache to empty state
576
- */
577
- resetTextureCache(): void;
578
212
  /**
579
213
  * Gets an object containing information about the current engine context
580
214
  * @returns an object containing the vendor, the renderer and the version of the current engine context
@@ -593,58 +227,8 @@ export declare class ThinEngine {
593
227
  renderer: string;
594
228
  version: string;
595
229
  };
596
- /**
597
- * Defines the hardware scaling level.
598
- * By default the hardware scaling level is computed from the window device ratio.
599
- * if level = 1 then the engine will render at the exact resolution of the canvas. If level = 0.5 then the engine will render at twice the size of the canvas.
600
- * @param level defines the level to use
601
- */
602
- setHardwareScalingLevel(level: number): void;
603
- /**
604
- * Gets the current hardware scaling level.
605
- * By default the hardware scaling level is computed from the window device ratio.
606
- * if level = 1 then the engine will render at the exact resolution of the canvas. If level = 0.5 then the engine will render at twice the size of the canvas.
607
- * @returns a number indicating the current hardware scaling level
608
- */
609
- getHardwareScalingLevel(): number;
610
- /**
611
- * Gets the list of loaded textures
612
- * @returns an array containing all loaded textures
613
- */
614
- getLoadedTexturesCache(): InternalTexture[];
615
- /**
616
- * Gets the object containing all engine capabilities
617
- * @returns the EngineCapabilities object
618
- */
619
- getCaps(): EngineCapabilities;
620
- /**
621
- * stop executing a render loop function and remove it from the execution array
622
- * @param renderFunction defines the function to be removed. If not provided all functions will be removed.
623
- */
624
- stopRenderLoop(renderFunction?: () => void): void;
625
- protected _cancelFrame(): void;
626
- /** @internal */
627
- _renderLoop(): void;
628
- /**
629
- * Gets the HTML canvas attached with the current webGL context
630
- * @returns a HTML canvas
631
- */
632
- getRenderingCanvas(): Nullable<HTMLCanvasElement>;
633
- /**
634
- * Gets the audio context specified in engine initialization options
635
- * @returns an Audio Context
636
- */
637
- getAudioContext(): Nullable<AudioContext>;
638
- /**
639
- * Gets the audio destination specified in engine initialization options
640
- * @returns an audio destination node
641
- */
642
- getAudioDestination(): Nullable<AudioDestinationNode | MediaStreamAudioDestinationNode>;
643
- /**
644
- * Gets host window
645
- * @returns the host window object
646
- */
647
- getHostWindow(): Nullable<Window>;
230
+ /**Gets driver info if available */
231
+ extractDriverInfo(): string;
648
232
  /**
649
233
  * Gets the current render width
650
234
  * @param useScreen defines if screen size must be used (or the current render target if any)
@@ -657,16 +241,6 @@ export declare class ThinEngine {
657
241
  * @returns a number defining the current render height
658
242
  */
659
243
  getRenderHeight(useScreen?: boolean): number;
660
- /**
661
- * Can be used to override the current requestAnimationFrame requester.
662
- * @internal
663
- */
664
- protected _queueNewFrame(bindedRenderFunction: any, requester?: any): number;
665
- /**
666
- * Register and execute a render loop. The engine can have more than one render function
667
- * @param renderFunction defines the function to continuously execute
668
- */
669
- runRenderLoop(renderFunction: () => void): void;
670
244
  /**
671
245
  * Clear the current render buffer or the current render target (if any is set up)
672
246
  * @param color defines the color to use
@@ -675,44 +249,19 @@ export declare class ThinEngine {
675
249
  * @param stencil defines if the stencil buffer must be cleared
676
250
  */
677
251
  clear(color: Nullable<IColor4Like>, backBuffer: boolean, depth: boolean, stencil?: boolean): void;
678
- protected _viewportCached: {
679
- x: number;
680
- y: number;
681
- z: number;
682
- w: number;
683
- };
684
252
  /**
685
253
  * @internal
686
254
  */
687
255
  _viewport(x: number, y: number, width: number, height: number): void;
688
256
  /**
689
- * Set the WebGL's viewport
690
- * @param viewport defines the viewport element to be used
691
- * @param requiredWidth defines the width required for rendering. If not provided the rendering canvas' width is used
692
- * @param requiredHeight defines the height required for rendering. If not provided the rendering canvas' height is used
693
- */
694
- setViewport(viewport: IViewportLike, requiredWidth?: number, requiredHeight?: number): void;
695
- /**
696
- * Begin a new frame
697
- */
698
- beginFrame(): void;
699
- /**
700
- * Enf the current frame
257
+ * End the current frame
701
258
  */
702
259
  endFrame(): void;
703
260
  /**
704
- * Resize the view according to the canvas' size
705
- * @param forceSetSize true to force setting the sizes of the underlying canvas
261
+ * Gets the performance monitor attached to this engine
262
+ * @see https://doc.babylonjs.com/features/featuresDeepDive/scene/optimize_your_scene#engineinstrumentation
706
263
  */
707
- resize(forceSetSize?: boolean): void;
708
- /**
709
- * Force a specific size of the canvas
710
- * @param width defines the new canvas' width
711
- * @param height defines the new canvas' height
712
- * @param forceSetSize true to force setting the sizes of the underlying canvas
713
- * @returns true if the size was changed
714
- */
715
- setSize(width: number, height: number, forceSetSize?: boolean): boolean;
264
+ get performanceMonitor(): PerformanceMonitor;
716
265
  /**
717
266
  * Binds the frame buffer to the specified texture.
718
267
  * @param rtWrapper The render target wrapper to render to
@@ -735,36 +284,6 @@ export declare class ThinEngine {
735
284
  * @param zOffsetUnits defines the value to apply to zOffsetUnits (0 by default)
736
285
  */
737
286
  setState(culling: boolean, zOffset?: number, force?: boolean, reverseSide?: boolean, cullBackFaces?: boolean, stencil?: IStencilState, zOffsetUnits?: number): void;
738
- /**
739
- * Gets a boolean indicating if depth testing is enabled
740
- * @returns the current state
741
- */
742
- getDepthBuffer(): boolean;
743
- /**
744
- * Enable or disable depth buffering
745
- * @param enable defines the state to set
746
- */
747
- setDepthBuffer(enable: boolean): void;
748
- /**
749
- * Set the z offset Factor to apply to current rendering
750
- * @param value defines the offset to apply
751
- */
752
- setZOffset(value: number): void;
753
- /**
754
- * Gets the current value of the zOffset Factor
755
- * @returns the current zOffset Factor state
756
- */
757
- getZOffset(): number;
758
- /**
759
- * Set the z offset Units to apply to current rendering
760
- * @param value defines the offset to apply
761
- */
762
- setZOffsetUnits(value: number): void;
763
- /**
764
- * Gets the current value of the zOffset Units
765
- * @returns the current zOffset Units state
766
- */
767
- getZOffsetUnits(): number;
768
287
  /**
769
288
  * @internal
770
289
  */
@@ -963,8 +482,6 @@ export declare class ThinEngine {
963
482
  */
964
483
  drawArraysType(fillMode: number, verticesStart: number, verticesCount: number, instancesCount?: number): void;
965
484
  private _drawMode;
966
- /** @internal */
967
- protected _reportDrawCall(): void;
968
485
  /**
969
486
  * @internal
970
487
  */
@@ -973,10 +490,6 @@ export declare class ThinEngine {
973
490
  * @internal
974
491
  */
975
492
  _deletePipelineContext(pipelineContext: IPipelineContext): void;
976
- /** @internal */
977
- _getGlobalDefines(defines?: {
978
- [key: string]: string;
979
- }): string | undefined;
980
493
  /**
981
494
  * Create a new effect (used to store vertex/fragment shaders)
982
495
  * @param baseName defines the base name of the effect (The name of file without .fragment.fx or .vertex.fx)
@@ -1289,43 +802,15 @@ export declare class ThinEngine {
1289
802
  * Apply all cached states (depth, culling, stencil and alpha)
1290
803
  */
1291
804
  applyStates(): void;
1292
- /**
1293
- * Enable or disable color writing
1294
- * @param enable defines the state to set
1295
- */
1296
- setColorWrite(enable: boolean): void;
1297
- /**
1298
- * Gets a boolean indicating if color writing is enabled
1299
- * @returns the current color writing state
1300
- */
1301
- getColorWrite(): boolean;
1302
- /**
1303
- * Gets the depth culling state manager
1304
- */
1305
- get depthCullingState(): DepthCullingState;
1306
- /**
1307
- * Gets the alpha state manager
1308
- */
1309
- get alphaState(): AlphaState;
1310
- /**
1311
- * Gets the stencil state manager
1312
- */
1313
- get stencilState(): StencilState;
1314
- /**
1315
- * Gets the stencil state composer
1316
- */
1317
- get stencilStateComposer(): StencilStateComposer;
1318
- /**
1319
- * Clears the list of texture accessible through engine.
1320
- * This can help preventing texture load conflict due to name collision.
1321
- */
1322
- clearInternalTexturesCache(): void;
1323
805
  /**
1324
806
  * Force the entire cache to be cleared
1325
807
  * You should not have to use this function unless your engine needs to share the webGL context with another engine
1326
808
  * @param bruteForce defines a boolean to force clearing ALL caches (including stencil, detoh and alpha states)
1327
809
  */
1328
810
  wipeCaches(bruteForce?: boolean): void;
811
+ setTextureFromPostProcess(channel: number, postProcess: Nullable<PostProcess>, name: string): void;
812
+ setTextureFromPostProcessOutput(channel: number, postProcess: Nullable<PostProcess>, name: string): void;
813
+ setDepthStencilTexture(channel: number, uniform: Nullable<WebGLUniformLocation>, texture: Nullable<RenderTargetTexture>, name?: string): void;
1329
814
  /**
1330
815
  * @internal
1331
816
  */
@@ -1351,16 +836,6 @@ export declare class ThinEngine {
1351
836
  * @internal
1352
837
  */
1353
838
  _getUseSRGBBuffer(useSRGBBuffer: boolean, noMipmap: boolean): boolean;
1354
- protected _createTextureBase(url: Nullable<string>, noMipmap: boolean, invertY: boolean, scene: Nullable<ISceneLike>, samplingMode: number | undefined, onLoad: Nullable<(texture: InternalTexture) => void> | undefined, onError: Nullable<(message: string, exception: any) => void> | undefined, prepareTexture: (texture: InternalTexture, extension: string, scene: Nullable<ISceneLike>, img: HTMLImageElement | ImageBitmap | {
1355
- width: number;
1356
- height: number;
1357
- }, invertY: boolean, noMipmap: boolean, isCompressed: boolean, processFunction: (width: number, height: number, img: HTMLImageElement | ImageBitmap | {
1358
- width: number;
1359
- height: number;
1360
- }, extension: string, texture: InternalTexture, continuationCallback: () => void) => boolean, samplingMode: number) => void, prepareTextureProcessFunction: (width: number, height: number, img: HTMLImageElement | ImageBitmap | {
1361
- width: number;
1362
- height: number;
1363
- }, extension: string, texture: InternalTexture, continuationCallback: () => void) => boolean, buffer?: Nullable<string | ArrayBuffer | ArrayBufferView | HTMLImageElement | Blob | ImageBitmap>, fallback?: Nullable<InternalTexture>, format?: Nullable<number>, forcedExtension?: Nullable<string>, mimeType?: string, loaderOptions?: any, useSRGBBuffer?: boolean): InternalTexture;
1364
839
  /**
1365
840
  * Usually called from Texture.ts.
1366
841
  * Passed information to create a WebGLTexture
@@ -1396,18 +871,6 @@ export declare class ThinEngine {
1396
871
  * @internal
1397
872
  */
1398
873
  _getTexImageParametersForCreateTexture(babylonFormat: Nullable<number>, fileExtension: string, useSRGBBuffer: boolean): TexImageParameters;
1399
- /**
1400
- * Loads an image as an HTMLImageElement.
1401
- * @param input url string, ArrayBuffer, or Blob to load
1402
- * @param onLoad callback called when the image successfully loads
1403
- * @param onError callback called when the image fails to load
1404
- * @param offlineProvider offline provider for caching
1405
- * @param mimeType optional mime type
1406
- * @param imageBitmapOptions optional the options to use when creating an ImageBitmap
1407
- * @returns the HTMLImageElement of the loaded image
1408
- * @internal
1409
- */
1410
- static _FileToolsLoadImage(input: string | ArrayBuffer | ArrayBufferView | Blob, onLoad: (img: HTMLImageElement | ImageBitmap) => void, onError: (message?: string, exception?: any) => void, offlineProvider: Nullable<IOfflineProvider>, mimeType?: string, imageBitmapOptions?: ImageBitmapOptions): Nullable<HTMLImageElement>;
1411
874
  /**
1412
875
  * @internal
1413
876
  */
@@ -1493,10 +956,6 @@ export declare class ThinEngine {
1493
956
  * @internal
1494
957
  */
1495
958
  _releaseTexture(texture: InternalTexture): void;
1496
- /**
1497
- * @internal
1498
- */
1499
- _releaseRenderTargetWrapper(rtWrapper: RenderTargetWrapper): void;
1500
959
  protected _deleteTexture(texture: Nullable<WebGLTexture>): void;
1501
960
  protected _setProgram(program: WebGLProgram): void;
1502
961
  protected _boundUniforms: {
@@ -1588,22 +1047,6 @@ export declare class ThinEngine {
1588
1047
  * @internal
1589
1048
  */
1590
1049
  _getRGBABufferInternalSizedFormat(type: number, format?: number, useSRGBBuffer?: boolean): number;
1591
- /**
1592
- * @internal
1593
- */
1594
- _loadFile(url: string, onSuccess: (data: string | ArrayBuffer, responseURL?: string) => void, onProgress?: (data: any) => void, offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean, onError?: (request?: IWebRequest, exception?: any) => void): IFileRequest;
1595
- /**
1596
- * Loads a file from a url
1597
- * @param url url to load
1598
- * @param onSuccess callback called when the file successfully loads
1599
- * @param onProgress callback called while file is loading (if the server supports this mode)
1600
- * @param offlineProvider defines the offline provider for caching
1601
- * @param useArrayBuffer defines a boolean indicating that date must be returned as ArrayBuffer
1602
- * @param onError callback called when the file fails to load
1603
- * @returns a file request object
1604
- * @internal
1605
- */
1606
- static _FileToolsLoadFile(url: string, onSuccess: (data: string | ArrayBuffer, responseURL?: string) => void, onProgress?: (ev: ProgressEvent) => void, offlineProvider?: IOfflineProvider, useArrayBuffer?: boolean, onError?: (request?: WebRequest, exception?: LoadFileError) => void): IFileRequest;
1607
1050
  /**
1608
1051
  * Reads pixels from the current frame buffer. Please note that this function can be slow
1609
1052
  * @param x defines the x coordinate of the rectangle where pixels must be read
@@ -1615,6 +1058,12 @@ export declare class ThinEngine {
1615
1058
  * @returns a ArrayBufferView promise (Uint8Array) containing RGBA colors
1616
1059
  */
1617
1060
  readPixels(x: number, y: number, width: number, height: number, hasAlpha?: boolean, flushRenderer?: boolean): Promise<ArrayBufferView>;
1061
+ /**
1062
+ * Force the mipmap generation for the given render target texture
1063
+ * @param texture defines the render target texture to use
1064
+ * @param unbind defines whether or not to unbind the texture after generation. Defaults to true.
1065
+ */
1066
+ generateMipMapsForCubemap(texture: InternalTexture, unbind: boolean): void;
1618
1067
  private static _IsSupported;
1619
1068
  private static _HasMajorPerformanceCaveat;
1620
1069
  /**
@@ -1640,19 +1089,19 @@ export declare class ThinEngine {
1640
1089
  * @param x Number to start search from.
1641
1090
  * @returns Next highest power of two.
1642
1091
  */
1643
- static CeilingPOT(x: number): number;
1092
+ static CeilingPOT: (x: number) => number;
1644
1093
  /**
1645
1094
  * Find the next lowest power of two.
1646
1095
  * @param x Number to start search from.
1647
1096
  * @returns Next lowest power of two.
1648
1097
  */
1649
- static FloorPOT(x: number): number;
1098
+ static FloorPOT: (x: number) => number;
1650
1099
  /**
1651
1100
  * Find the nearest power of two.
1652
1101
  * @param x Number to start search from.
1653
1102
  * @returns Next nearest power of two.
1654
1103
  */
1655
- static NearestPOT(x: number): number;
1104
+ static NearestPOT: (x: number) => number;
1656
1105
  /**
1657
1106
  * Get the closest exponent of two
1658
1107
  * @param value defines the value to approximate
@@ -1660,19 +1109,14 @@ export declare class ThinEngine {
1660
1109
  * @param mode defines how to define the closest value
1661
1110
  * @returns closest exponent of two of the given value
1662
1111
  */
1663
- static GetExponentOfTwo(value: number, max: number, mode?: number): number;
1112
+ static GetExponentOfTwo: (value: number, max: number, mode: number) => number;
1664
1113
  /**
1665
1114
  * Queue a new function into the requested animation frame pool (ie. this function will be executed by the browser (or the javascript engine) for the next frame)
1666
1115
  * @param func - the function to be called
1667
1116
  * @param requester - the object that will request the next frame. Falls back to window.
1668
1117
  * @returns frame number
1669
1118
  */
1670
- static QueueNewFrame(func: () => void, requester?: any): number;
1671
- /**
1672
- * Gets host document
1673
- * @returns the host document object
1674
- */
1675
- getHostDocument(): Nullable<Document>;
1119
+ static QueueNewFrame: (func: () => void, requester?: any) => number;
1676
1120
  }
1677
1121
  interface TexImageParameters {
1678
1122
  internalFormat: number;