@babylonjs/core 7.36.0 → 7.37.1

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 (276) hide show
  1. package/Cameras/arcRotateCamera.d.ts +3 -1
  2. package/Cameras/arcRotateCamera.js +14 -3
  3. package/Cameras/arcRotateCamera.js.map +1 -1
  4. package/Collisions/gpuPicker.js.map +1 -1
  5. package/Engines/Extensions/engine.multiRender.js.map +1 -1
  6. package/Engines/Extensions/engine.rawTexture.d.ts +8 -8
  7. package/Engines/Extensions/engine.rawTexture.js.map +1 -1
  8. package/Engines/Extensions/engine.renderTarget.js.map +1 -1
  9. package/Engines/Extensions/engine.renderTargetCube.js.map +1 -1
  10. package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
  11. package/Engines/WebGPU/Extensions/engine.rawTexture.d.ts +9 -9
  12. package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
  13. package/Engines/WebGPU/Extensions/engine.renderTargetCube.js.map +1 -1
  14. package/Engines/WebGPU/webgpuConstants.d.ts +6 -0
  15. package/Engines/WebGPU/webgpuConstants.js +6 -0
  16. package/Engines/WebGPU/webgpuConstants.js.map +1 -1
  17. package/Engines/WebGPU/webgpuTextureHelper.js +18 -0
  18. package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
  19. package/Engines/WebGPU/webgpuTextureManager.js +6 -0
  20. package/Engines/WebGPU/webgpuTextureManager.js.map +1 -1
  21. package/Engines/abstractEngine.d.ts +1 -1
  22. package/Engines/abstractEngine.js +4 -4
  23. package/Engines/abstractEngine.js.map +1 -1
  24. package/Engines/constants.d.ts +17 -1
  25. package/Engines/constants.js +17 -1
  26. package/Engines/constants.js.map +1 -1
  27. package/Engines/engine.d.ts +31 -1
  28. package/Engines/engine.js +17 -1
  29. package/Engines/engine.js.map +1 -1
  30. package/Engines/engineCapabilities.d.ts +2 -0
  31. package/Engines/engineCapabilities.js.map +1 -1
  32. package/Engines/nativeEngine.js +1 -0
  33. package/Engines/nativeEngine.js.map +1 -1
  34. package/Engines/nullEngine.d.ts +2 -2
  35. package/Engines/nullEngine.js +3 -2
  36. package/Engines/nullEngine.js.map +1 -1
  37. package/Engines/thinEngine.functions.d.ts +4 -0
  38. package/Engines/thinEngine.functions.js +17 -0
  39. package/Engines/thinEngine.functions.js.map +1 -1
  40. package/Engines/thinEngine.js +39 -9
  41. package/Engines/thinEngine.js.map +1 -1
  42. package/Engines/webgpuEngine.js +1 -0
  43. package/Engines/webgpuEngine.js.map +1 -1
  44. package/Helpers/environmentHelper.js.map +1 -1
  45. package/Layers/effectLayer.d.ts +1 -1
  46. package/Layers/effectLayer.js.map +1 -1
  47. package/Layers/glowLayer.d.ts +1 -1
  48. package/Layers/glowLayer.js.map +1 -1
  49. package/Layers/highlightLayer.d.ts +1 -1
  50. package/Layers/highlightLayer.js.map +1 -1
  51. package/Lights/Shadows/shadowGenerator.js.map +1 -1
  52. package/Materials/GaussianSplatting/gaussianSplattingMaterial.js +12 -2
  53. package/Materials/GaussianSplatting/gaussianSplattingMaterial.js.map +1 -1
  54. package/Materials/GreasedLine/greasedLineMaterialInterfaces.d.ts +5 -0
  55. package/Materials/GreasedLine/greasedLineMaterialInterfaces.js.map +1 -1
  56. package/Materials/GreasedLine/greasedLinePluginMaterial.d.ts +21 -5
  57. package/Materials/GreasedLine/greasedLinePluginMaterial.js +52 -176
  58. package/Materials/GreasedLine/greasedLinePluginMaterial.js.map +1 -1
  59. package/Materials/GreasedLine/greasedLinePluginMaterialShadersGLSL.d.ts +11 -0
  60. package/Materials/GreasedLine/greasedLinePluginMaterialShadersGLSL.js +158 -0
  61. package/Materials/GreasedLine/greasedLinePluginMaterialShadersGLSL.js.map +1 -0
  62. package/Materials/GreasedLine/greasedLinePluginMaterialShadersWGSL.d.ts +11 -0
  63. package/Materials/GreasedLine/greasedLinePluginMaterialShadersWGSL.js +177 -0
  64. package/Materials/GreasedLine/greasedLinePluginMaterialShadersWGSL.js.map +1 -0
  65. package/Materials/Node/Blocks/PBR/reflectionBlock.js +6 -0
  66. package/Materials/Node/Blocks/PBR/reflectionBlock.js.map +1 -1
  67. package/Materials/Node/Blocks/index.d.ts +1 -0
  68. package/Materials/Node/Blocks/index.js +1 -0
  69. package/Materials/Node/Blocks/index.js.map +1 -1
  70. package/Materials/Node/Blocks/matrixSplitterBlock.d.ts +56 -0
  71. package/Materials/Node/Blocks/matrixSplitterBlock.js +130 -0
  72. package/Materials/Node/Blocks/matrixSplitterBlock.js.map +1 -0
  73. package/Materials/Node/nodeMaterial.js.map +1 -1
  74. package/Materials/PBR/pbrBaseMaterial.d.ts +1 -0
  75. package/Materials/PBR/pbrBaseMaterial.js +12 -0
  76. package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
  77. package/Materials/Textures/MultiviewRenderTarget.js.map +1 -1
  78. package/Materials/Textures/Procedurals/proceduralTexture.js.map +1 -1
  79. package/Materials/Textures/baseTexture.js.map +1 -1
  80. package/Materials/Textures/colorGradingTexture.js.map +1 -1
  81. package/Materials/Textures/mirrorTexture.js.map +1 -1
  82. package/Materials/Textures/multiRenderTarget.js.map +1 -1
  83. package/Materials/Textures/rawCubeTexture.d.ts +2 -2
  84. package/Materials/Textures/rawCubeTexture.js +2 -2
  85. package/Materials/Textures/rawCubeTexture.js.map +1 -1
  86. package/Materials/Textures/rawTexture.js.map +1 -1
  87. package/Materials/Textures/rawTexture2DArray.d.ts +1 -1
  88. package/Materials/Textures/rawTexture2DArray.js +1 -1
  89. package/Materials/Textures/rawTexture2DArray.js.map +1 -1
  90. package/Materials/Textures/rawTexture3D.d.ts +1 -1
  91. package/Materials/Textures/rawTexture3D.js +1 -1
  92. package/Materials/Textures/rawTexture3D.js.map +1 -1
  93. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  94. package/Materials/drawWrapper.d.ts +6 -1
  95. package/Materials/drawWrapper.js +18 -2
  96. package/Materials/drawWrapper.js.map +1 -1
  97. package/Materials/effect.d.ts +6 -1
  98. package/Materials/effect.functions.d.ts +5 -0
  99. package/Materials/effect.functions.js +19 -0
  100. package/Materials/effect.functions.js.map +1 -1
  101. package/Materials/effect.js +22 -20
  102. package/Materials/effect.js.map +1 -1
  103. package/Materials/effect.webgl.functions.js +12 -4
  104. package/Materials/effect.webgl.functions.js.map +1 -1
  105. package/Materials/effectRenderer.js +1 -1
  106. package/Materials/effectRenderer.js.map +1 -1
  107. package/Maths/math.scalar.d.ts +0 -1
  108. package/Maths/math.scalar.js +1 -2
  109. package/Maths/math.scalar.js.map +1 -1
  110. package/Meshes/Builders/greasedLineBuilder.js +2 -2
  111. package/Meshes/Builders/greasedLineBuilder.js.map +1 -1
  112. package/Meshes/GaussianSplatting/gaussianSplattingMesh.d.ts +17 -3
  113. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js +69 -20
  114. package/Meshes/GaussianSplatting/gaussianSplattingMesh.js.map +1 -1
  115. package/Meshes/abstractMesh.d.ts +5 -3
  116. package/Meshes/abstractMesh.hotSpot.d.ts +8 -1
  117. package/Meshes/abstractMesh.hotSpot.js +17 -0
  118. package/Meshes/abstractMesh.hotSpot.js.map +1 -1
  119. package/Meshes/abstractMesh.js +9 -7
  120. package/Meshes/abstractMesh.js.map +1 -1
  121. package/Meshes/linesMesh.js +1 -1
  122. package/Meshes/linesMesh.js.map +1 -1
  123. package/Meshes/subMesh.d.ts +5 -3
  124. package/Meshes/subMesh.js +9 -7
  125. package/Meshes/subMesh.js.map +1 -1
  126. package/Misc/HighDynamicRange/cubemapToSphericalPolynomial.js.map +1 -1
  127. package/Misc/dds.d.ts +1 -1
  128. package/Misc/dds.js.map +1 -1
  129. package/Misc/environmentTextureTools.js.map +1 -1
  130. package/Misc/observable.d.ts +1 -3
  131. package/Misc/observable.js +7 -7
  132. package/Misc/observable.js.map +1 -1
  133. package/Misc/screenshotTools.js.map +1 -1
  134. package/Misc/snapshotRenderingHelper.js +3 -0
  135. package/Misc/snapshotRenderingHelper.js.map +1 -1
  136. package/Misc/textureTools.js.map +1 -1
  137. package/Misc/virtualJoystick.js +2 -0
  138. package/Misc/virtualJoystick.js.map +1 -1
  139. package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
  140. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.d.ts +1 -1
  141. package/PostProcesses/RenderPipeline/Pipelines/ssao2RenderingPipeline.js.map +1 -1
  142. package/PostProcesses/RenderPipeline/Pipelines/ssaoRenderingPipeline.js.map +1 -1
  143. package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js.map +1 -1
  144. package/PostProcesses/bloomMergePostProcess.js.map +1 -1
  145. package/PostProcesses/blurPostProcess.js.map +1 -1
  146. package/PostProcesses/chromaticAberrationPostProcess.js.map +1 -1
  147. package/PostProcesses/circleOfConfusionPostProcess.js.map +1 -1
  148. package/PostProcesses/convolutionPostProcess.js.map +1 -1
  149. package/PostProcesses/depthOfFieldBlurPostProcess.js.map +1 -1
  150. package/PostProcesses/depthOfFieldMergePostProcess.js.map +1 -1
  151. package/PostProcesses/extractHighlightsPostProcess.js.map +1 -1
  152. package/PostProcesses/fxaaPostProcess.js.map +1 -1
  153. package/PostProcesses/grainPostProcess.js.map +1 -1
  154. package/PostProcesses/highlightsPostProcess.d.ts +1 -1
  155. package/PostProcesses/highlightsPostProcess.js +1 -1
  156. package/PostProcesses/highlightsPostProcess.js.map +1 -1
  157. package/PostProcesses/imageProcessingPostProcess.js.map +1 -1
  158. package/PostProcesses/motionBlurPostProcess.js.map +1 -1
  159. package/PostProcesses/passPostProcess.js.map +1 -1
  160. package/PostProcesses/postProcess.d.ts +1 -1
  161. package/PostProcesses/postProcess.js.map +1 -1
  162. package/PostProcesses/screenSpaceCurvaturePostProcess.js.map +1 -1
  163. package/PostProcesses/screenSpaceReflectionPostProcess.js.map +1 -1
  164. package/PostProcesses/sharpenPostProcess.js.map +1 -1
  165. package/PostProcesses/subSurfaceScatteringPostProcess.js.map +1 -1
  166. package/PostProcesses/tonemapPostProcess.d.ts +1 -1
  167. package/PostProcesses/tonemapPostProcess.js +1 -1
  168. package/PostProcesses/tonemapPostProcess.js.map +1 -1
  169. package/PostProcesses/volumetricLightScatteringPostProcess.js.map +1 -1
  170. package/Rendering/IBLShadows/iblShadowsRenderPipeline.d.ts +3 -23
  171. package/Rendering/IBLShadows/iblShadowsRenderPipeline.js +30 -67
  172. package/Rendering/IBLShadows/iblShadowsRenderPipeline.js.map +1 -1
  173. package/Rendering/IBLShadows/iblShadowsSpatialBlurPass.js.map +1 -1
  174. package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.d.ts +1 -1
  175. package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js +8 -4
  176. package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js.map +1 -1
  177. package/Rendering/{IBLShadows/iblShadowsImportanceSamplingRenderer.d.ts → iblCdfGenerator.d.ts} +15 -12
  178. package/Rendering/{IBLShadows/iblShadowsImportanceSamplingRenderer.js → iblCdfGenerator.js} +37 -27
  179. package/Rendering/iblCdfGenerator.js.map +1 -0
  180. package/Rendering/iblCdfGeneratorSceneComponent.d.ts +59 -0
  181. package/Rendering/iblCdfGeneratorSceneComponent.js +83 -0
  182. package/Rendering/iblCdfGeneratorSceneComponent.js.map +1 -0
  183. package/Rendering/index.d.ts +12 -10
  184. package/Rendering/index.js +12 -10
  185. package/Rendering/index.js.map +1 -1
  186. package/Rendering/prePassRenderer.js.map +1 -1
  187. package/Shaders/ShadersInclude/gaussianSplatting.js +72 -2
  188. package/Shaders/ShadersInclude/gaussianSplatting.js.map +1 -1
  189. package/Shaders/ShadersInclude/gaussianSplattingVertexDeclaration.js +1 -1
  190. package/Shaders/ShadersInclude/gaussianSplattingVertexDeclaration.js.map +1 -1
  191. package/Shaders/ShadersInclude/hdrFilteringFunctions.js +29 -4
  192. package/Shaders/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  193. package/Shaders/ShadersInclude/pbrBlockReflection.js +9 -1
  194. package/Shaders/ShadersInclude/pbrBlockReflection.js.map +1 -1
  195. package/Shaders/ShadersInclude/pbrBlockSubSurface.js +9 -1
  196. package/Shaders/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
  197. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js +3 -0
  198. package/Shaders/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  199. package/Shaders/gaussianSplatting.vertex.js +16 -2
  200. package/Shaders/gaussianSplatting.vertex.js.map +1 -1
  201. package/Shaders/{iblShadowsCdfy.fragment.d.ts → iblCdfx.fragment.d.ts} +1 -1
  202. package/Shaders/{iblShadowsCdfx.fragment.js → iblCdfx.fragment.js} +3 -3
  203. package/Shaders/iblCdfx.fragment.js.map +1 -0
  204. package/Shaders/{iblShadowsCdfx.fragment.d.ts → iblCdfy.fragment.d.ts} +1 -1
  205. package/Shaders/{iblShadowsCdfy.fragment.js → iblCdfy.fragment.js} +3 -3
  206. package/Shaders/iblCdfy.fragment.js.map +1 -0
  207. package/Shaders/{iblShadowsIcdfx.fragment.d.ts → iblIcdfx.fragment.d.ts} +1 -1
  208. package/Shaders/{iblShadowsIcdfx.fragment.js → iblIcdfx.fragment.js} +3 -3
  209. package/Shaders/iblIcdfx.fragment.js.map +1 -0
  210. package/Shaders/{iblShadowsIcdfy.fragment.d.ts → iblIcdfy.fragment.d.ts} +1 -1
  211. package/Shaders/{iblShadowsIcdfy.fragment.js → iblIcdfy.fragment.js} +3 -3
  212. package/Shaders/iblIcdfy.fragment.js.map +1 -0
  213. package/Shaders/importanceSamplingDebug.fragment.d.ts +5 -0
  214. package/Shaders/{iblShadowsImportanceSamplingDebug.fragment.js → importanceSamplingDebug.fragment.js} +3 -3
  215. package/Shaders/importanceSamplingDebug.fragment.js.map +1 -0
  216. package/Shaders/pbr.fragment.js +8 -0
  217. package/Shaders/pbr.fragment.js.map +1 -1
  218. package/ShadersWGSL/ShadersInclude/gaussianSplatting.js +77 -1
  219. package/ShadersWGSL/ShadersInclude/gaussianSplatting.js.map +1 -1
  220. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js +28 -4
  221. package/ShadersWGSL/ShadersInclude/hdrFilteringFunctions.js.map +1 -1
  222. package/ShadersWGSL/ShadersInclude/lightFragment.js +1 -1
  223. package/ShadersWGSL/ShadersInclude/lightFragment.js.map +1 -1
  224. package/ShadersWGSL/ShadersInclude/oitFragment.js +1 -1
  225. package/ShadersWGSL/ShadersInclude/oitFragment.js.map +1 -1
  226. package/ShadersWGSL/ShadersInclude/pbrBlockReflection.js +14 -1
  227. package/ShadersWGSL/ShadersInclude/pbrBlockReflection.js.map +1 -1
  228. package/ShadersWGSL/ShadersInclude/pbrBlockSubSurface.js +14 -1
  229. package/ShadersWGSL/ShadersInclude/pbrBlockSubSurface.js.map +1 -1
  230. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js +3 -0
  231. package/ShadersWGSL/ShadersInclude/pbrFragmentSamplersDeclaration.js.map +1 -1
  232. package/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions.js +1 -1
  233. package/ShadersWGSL/ShadersInclude/shadowsFragmentFunctions.js.map +1 -1
  234. package/ShadersWGSL/gaussianSplatting.vertex.js +18 -2
  235. package/ShadersWGSL/gaussianSplatting.vertex.js.map +1 -1
  236. package/ShadersWGSL/iblCdfx.fragment.d.ts +5 -0
  237. package/ShadersWGSL/{iblShadowsCdfx.fragment.js → iblCdfx.fragment.js} +3 -3
  238. package/ShadersWGSL/iblCdfx.fragment.js.map +1 -0
  239. package/ShadersWGSL/iblCdfy.fragment.d.ts +5 -0
  240. package/ShadersWGSL/{iblShadowsCdfy.fragment.js → iblCdfy.fragment.js} +3 -3
  241. package/ShadersWGSL/iblCdfy.fragment.js.map +1 -0
  242. package/ShadersWGSL/iblIcdfx.fragment.d.ts +5 -0
  243. package/ShadersWGSL/{iblShadowsIcdfx.fragment.js → iblIcdfx.fragment.js} +3 -3
  244. package/ShadersWGSL/iblIcdfx.fragment.js.map +1 -0
  245. package/ShadersWGSL/iblIcdfy.fragment.d.ts +5 -0
  246. package/ShadersWGSL/{iblShadowsIcdfy.fragment.js → iblIcdfy.fragment.js} +3 -3
  247. package/ShadersWGSL/iblIcdfy.fragment.js.map +1 -0
  248. package/ShadersWGSL/importanceSamplingDebug.fragment.d.ts +5 -0
  249. package/ShadersWGSL/{iblShadowsImportanceSamplingDebug.fragment.js → importanceSamplingDebug.fragment.js} +3 -3
  250. package/ShadersWGSL/importanceSamplingDebug.fragment.js.map +1 -0
  251. package/ShadersWGSL/pbr.fragment.js +12 -0
  252. package/ShadersWGSL/pbr.fragment.js.map +1 -1
  253. package/package.json +1 -1
  254. package/scene.d.ts +4 -0
  255. package/scene.js +6 -0
  256. package/scene.js.map +1 -1
  257. package/sceneComponent.d.ts +1 -1
  258. package/sceneComponent.js +1 -1
  259. package/sceneComponent.js.map +1 -1
  260. package/Rendering/IBLShadows/iblShadowsImportanceSamplingRenderer.js.map +0 -1
  261. package/Shaders/iblShadowsCdfx.fragment.js.map +0 -1
  262. package/Shaders/iblShadowsCdfy.fragment.js.map +0 -1
  263. package/Shaders/iblShadowsIcdfx.fragment.js.map +0 -1
  264. package/Shaders/iblShadowsIcdfy.fragment.js.map +0 -1
  265. package/Shaders/iblShadowsImportanceSamplingDebug.fragment.d.ts +0 -5
  266. package/Shaders/iblShadowsImportanceSamplingDebug.fragment.js.map +0 -1
  267. package/ShadersWGSL/iblShadowsCdfx.fragment.d.ts +0 -5
  268. package/ShadersWGSL/iblShadowsCdfx.fragment.js.map +0 -1
  269. package/ShadersWGSL/iblShadowsCdfy.fragment.d.ts +0 -5
  270. package/ShadersWGSL/iblShadowsCdfy.fragment.js.map +0 -1
  271. package/ShadersWGSL/iblShadowsIcdfx.fragment.d.ts +0 -5
  272. package/ShadersWGSL/iblShadowsIcdfx.fragment.js.map +0 -1
  273. package/ShadersWGSL/iblShadowsIcdfy.fragment.d.ts +0 -5
  274. package/ShadersWGSL/iblShadowsIcdfy.fragment.js.map +0 -1
  275. package/ShadersWGSL/iblShadowsImportanceSamplingDebug.fragment.d.ts +0 -5
  276. package/ShadersWGSL/iblShadowsImportanceSamplingDebug.fragment.js.map +0 -1
@@ -409,7 +409,7 @@ export class AbstractMesh extends TransformNode {
409
409
  if (!this.subMeshes) {
410
410
  return;
411
411
  }
412
- this.resetDrawCache();
412
+ this.resetDrawCache(undefined, value == null);
413
413
  this._unBindEffect();
414
414
  }
415
415
  /**
@@ -969,13 +969,14 @@ export class AbstractMesh extends TransformNode {
969
969
  /**
970
970
  * Resets the draw wrappers cache for all submeshes of this abstract mesh
971
971
  * @param passId If provided, releases only the draw wrapper corresponding to this render pass id
972
+ * @param immediate If true, the effect will be released immediately, otherwise it will be released at the next frame
972
973
  */
973
- resetDrawCache(passId) {
974
+ resetDrawCache(passId, immediate = false) {
974
975
  if (!this.subMeshes) {
975
976
  return;
976
977
  }
977
978
  for (const subMesh of this.subMeshes) {
978
- subMesh.resetDrawCache(passId);
979
+ subMesh.resetDrawCache(passId, immediate);
979
980
  }
980
981
  }
981
982
  // Methods
@@ -1702,13 +1703,14 @@ export class AbstractMesh extends TransformNode {
1702
1703
  return null;
1703
1704
  }
1704
1705
  /**
1705
- * Disposes all the submeshes of the current meshnp
1706
+ * Disposes all the submeshes of the current mesh
1707
+ * @param immediate should dispose the effects immediately or not
1706
1708
  * @returns the current mesh
1707
1709
  */
1708
- releaseSubMeshes() {
1710
+ releaseSubMeshes(immediate = false) {
1709
1711
  if (this.subMeshes) {
1710
1712
  while (this.subMeshes.length) {
1711
- this.subMeshes[0].dispose();
1713
+ this.subMeshes[0].dispose(immediate);
1712
1714
  }
1713
1715
  }
1714
1716
  else {
@@ -1787,7 +1789,7 @@ export class AbstractMesh extends TransformNode {
1787
1789
  });
1788
1790
  // SubMeshes
1789
1791
  if (this.getClassName() !== "InstancedMesh" || this.getClassName() !== "InstancedLinesMesh") {
1790
- this.releaseSubMeshes();
1792
+ this.releaseSubMeshes(true);
1791
1793
  }
1792
1794
  // Query
1793
1795
  const engine = scene.getEngine();