@babylonjs/core 7.7.2 → 7.8.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 (182) hide show
  1. package/Behaviors/Meshes/sixDofDragBehavior.js +1 -1
  2. package/Behaviors/Meshes/sixDofDragBehavior.js.map +1 -1
  3. package/Cameras/Inputs/BaseCameraPointersInput.js +5 -1
  4. package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
  5. package/Engines/AbstractEngine/abstractEngine.states.d.ts +1 -0
  6. package/Engines/AbstractEngine/abstractEngine.states.js +1 -0
  7. package/Engines/AbstractEngine/abstractEngine.states.js.map +1 -1
  8. package/Engines/{Extensions/engine.views.d.ts → AbstractEngine/abstractEngine.views.d.ts} +1 -2
  9. package/Engines/{Extensions/engine.views.js → AbstractEngine/abstractEngine.views.js} +10 -10
  10. package/Engines/AbstractEngine/abstractEngine.views.js.map +1 -0
  11. package/Engines/AbstractEngine/index.d.ts +1 -0
  12. package/Engines/AbstractEngine/index.js +1 -0
  13. package/Engines/AbstractEngine/index.js.map +1 -1
  14. package/Engines/Extensions/engine.alpha.d.ts +2 -2
  15. package/Engines/Extensions/engine.alpha.js.map +1 -1
  16. package/Engines/Extensions/engine.cubeTexture.d.ts +10 -4
  17. package/Engines/Extensions/engine.cubeTexture.js +10 -0
  18. package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
  19. package/Engines/Extensions/engine.dynamicBuffer.d.ts +2 -2
  20. package/Engines/Extensions/engine.dynamicBuffer.js.map +1 -1
  21. package/Engines/Extensions/engine.dynamicTexture.d.ts +2 -2
  22. package/Engines/Extensions/engine.dynamicTexture.js.map +1 -1
  23. package/Engines/Extensions/engine.multiRender.d.ts +2 -2
  24. package/Engines/Extensions/engine.multiRender.js.map +1 -1
  25. package/Engines/Extensions/engine.prefilteredCubeTexture.d.ts +22 -0
  26. package/Engines/Extensions/engine.prefilteredCubeTexture.js +88 -0
  27. package/Engines/Extensions/engine.prefilteredCubeTexture.js.map +1 -0
  28. package/Engines/Extensions/engine.rawTexture.d.ts +2 -63
  29. package/Engines/Extensions/engine.rawTexture.js.map +1 -1
  30. package/Engines/Extensions/engine.readTexture.d.ts +2 -2
  31. package/Engines/Extensions/engine.readTexture.js.map +1 -1
  32. package/Engines/Extensions/engine.renderTarget.d.ts +5 -11
  33. package/Engines/Extensions/engine.renderTarget.js +37 -0
  34. package/Engines/Extensions/engine.renderTarget.js.map +1 -1
  35. package/Engines/Extensions/engine.renderTargetCube.d.ts +2 -2
  36. package/Engines/Extensions/engine.renderTargetCube.js.map +1 -1
  37. package/Engines/Extensions/engine.renderTargetTexture.d.ts +14 -0
  38. package/Engines/Extensions/engine.renderTargetTexture.js +16 -0
  39. package/Engines/Extensions/engine.renderTargetTexture.js.map +1 -0
  40. package/Engines/Extensions/engine.videoTexture.d.ts +2 -2
  41. package/Engines/Extensions/engine.videoTexture.js.map +1 -1
  42. package/Engines/Extensions/index.d.ts +2 -1
  43. package/Engines/Extensions/index.js +2 -1
  44. package/Engines/Extensions/index.js.map +1 -1
  45. package/Engines/WebGPU/Extensions/engine.alpha.d.ts +3 -27
  46. package/Engines/WebGPU/Extensions/engine.alpha.js +1 -0
  47. package/Engines/WebGPU/Extensions/engine.alpha.js.map +1 -1
  48. package/Engines/WebGPU/Extensions/engine.cubeTexture.d.ts +10 -4
  49. package/Engines/WebGPU/Extensions/engine.cubeTexture.js +9 -0
  50. package/Engines/WebGPU/Extensions/engine.cubeTexture.js.map +1 -1
  51. package/Engines/WebGPU/Extensions/engine.dynamicTexture.d.ts +2 -2
  52. package/Engines/WebGPU/Extensions/engine.dynamicTexture.js.map +1 -1
  53. package/Engines/WebGPU/Extensions/engine.multiRender.d.ts +2 -2
  54. package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
  55. package/Engines/WebGPU/Extensions/engine.rawTexture.d.ts +2 -50
  56. package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
  57. package/Engines/WebGPU/Extensions/engine.readTexture.d.ts +2 -2
  58. package/Engines/WebGPU/Extensions/engine.readTexture.js.map +1 -1
  59. package/Engines/WebGPU/Extensions/engine.renderTarget.d.ts +3 -11
  60. package/Engines/WebGPU/Extensions/engine.renderTarget.js +1 -0
  61. package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
  62. package/Engines/WebGPU/Extensions/engine.renderTargetCube.d.ts +2 -2
  63. package/Engines/WebGPU/Extensions/engine.renderTargetCube.js.map +1 -1
  64. package/Engines/WebGPU/Extensions/engine.renderTargetTexture.d.ts +14 -0
  65. package/Engines/WebGPU/Extensions/engine.renderTargetTexture.js +10 -0
  66. package/Engines/WebGPU/Extensions/engine.renderTargetTexture.js.map +1 -0
  67. package/Engines/WebGPU/Extensions/engine.videoTexture.d.ts +2 -2
  68. package/Engines/WebGPU/Extensions/engine.videoTexture.js.map +1 -1
  69. package/Engines/WebGPU/Extensions/index.d.ts +1 -0
  70. package/Engines/WebGPU/Extensions/index.js +1 -0
  71. package/Engines/WebGPU/Extensions/index.js.map +1 -1
  72. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +4 -0
  73. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +4 -0
  74. package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
  75. package/Engines/abstractEngine.d.ts +13 -351
  76. package/Engines/abstractEngine.js +90 -5
  77. package/Engines/abstractEngine.js.map +1 -1
  78. package/Engines/engine.d.ts +11 -30
  79. package/Engines/engine.js +0 -69
  80. package/Engines/engine.js.map +1 -1
  81. package/Engines/nativeEngine.d.ts +4 -7
  82. package/Engines/nativeEngine.js +3 -8
  83. package/Engines/nativeEngine.js.map +1 -1
  84. package/Engines/thinEngine.d.ts +7 -18
  85. package/Engines/thinEngine.js +4 -146
  86. package/Engines/thinEngine.js.map +1 -1
  87. package/Engines/webgpuEngine.d.ts +4 -26
  88. package/Engines/webgpuEngine.js +3 -51
  89. package/Engines/webgpuEngine.js.map +1 -1
  90. package/Materials/Node/Blocks/Fragment/TBNBlock.js +14 -7
  91. package/Materials/Node/Blocks/Fragment/TBNBlock.js.map +1 -1
  92. package/Materials/Node/Blocks/Fragment/heightToNormalBlock.js +19 -11
  93. package/Materials/Node/Blocks/Fragment/heightToNormalBlock.js.map +1 -1
  94. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js +47 -20
  95. package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
  96. package/Materials/Node/Blocks/Fragment/screenSizeBlock.js +3 -1
  97. package/Materials/Node/Blocks/Fragment/screenSizeBlock.js.map +1 -1
  98. package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js +4 -4
  99. package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js.map +1 -1
  100. package/Materials/Node/Blocks/biPlanarBlock.js +1 -2
  101. package/Materials/Node/Blocks/biPlanarBlock.js.map +1 -1
  102. package/Materials/Node/Blocks/cloudBlock.js +1 -1
  103. package/Materials/Node/Blocks/cloudBlock.js.map +1 -1
  104. package/Materials/Node/Blocks/triPlanarBlock.js +1 -1
  105. package/Materials/Node/Blocks/triPlanarBlock.js.map +1 -1
  106. package/Materials/Node/nodeMaterialBuildState.d.ts +2 -0
  107. package/Materials/Node/nodeMaterialBuildState.js +7 -0
  108. package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
  109. package/Materials/Textures/Filtering/hdrFiltering.d.ts +1 -0
  110. package/Materials/Textures/Filtering/hdrFiltering.js +2 -1
  111. package/Materials/Textures/Filtering/hdrFiltering.js.map +1 -1
  112. package/Materials/Textures/Loaders/basisTextureLoader.d.ts +1 -0
  113. package/Materials/Textures/Loaders/basisTextureLoader.js +1 -0
  114. package/Materials/Textures/Loaders/basisTextureLoader.js.map +1 -1
  115. package/Materials/Textures/Loaders/ddsTextureLoader.d.ts +1 -0
  116. package/Materials/Textures/Loaders/ddsTextureLoader.js +1 -0
  117. package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
  118. package/Materials/Textures/Loaders/ktxTextureLoader.d.ts +1 -0
  119. package/Materials/Textures/Loaders/ktxTextureLoader.js +1 -0
  120. package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
  121. package/Materials/Textures/baseTexture.d.ts +1 -0
  122. package/Materials/Textures/baseTexture.js +1 -0
  123. package/Materials/Textures/baseTexture.js.map +1 -1
  124. package/Materials/Textures/cubeTexture.d.ts +2 -1
  125. package/Materials/Textures/cubeTexture.js +3 -2
  126. package/Materials/Textures/cubeTexture.js.map +1 -1
  127. package/Materials/Textures/dynamicTexture.d.ts +1 -1
  128. package/Materials/Textures/dynamicTexture.js.map +1 -1
  129. package/Materials/Textures/renderTargetTexture.d.ts +11 -0
  130. package/Materials/Textures/renderTargetTexture.js +10 -0
  131. package/Materials/Textures/renderTargetTexture.js.map +1 -1
  132. package/Materials/effect.d.ts +8 -23
  133. package/Materials/effect.js +2 -25
  134. package/Materials/effect.js.map +1 -1
  135. package/Misc/dds.d.ts +2 -22
  136. package/Misc/dds.js +0 -95
  137. package/Misc/dds.js.map +1 -1
  138. package/Misc/minMaxReducer.d.ts +1 -0
  139. package/Misc/minMaxReducer.js +1 -0
  140. package/Misc/minMaxReducer.js.map +1 -1
  141. package/Misc/screenshotTools.d.ts +1 -0
  142. package/Misc/screenshotTools.js +1 -0
  143. package/Misc/screenshotTools.js.map +1 -1
  144. package/Morph/morphTargetManager.d.ts +6 -0
  145. package/Morph/morphTargetManager.js +13 -0
  146. package/Morph/morphTargetManager.js.map +1 -1
  147. package/Physics/v2/IPhysicsEnginePlugin.d.ts +1 -0
  148. package/Physics/v2/IPhysicsEnginePlugin.js.map +1 -1
  149. package/Physics/v2/Plugins/havokPlugin.d.ts +11 -1
  150. package/Physics/v2/Plugins/havokPlugin.js +25 -1
  151. package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
  152. package/Physics/v2/physicsAggregate.js +3 -3
  153. package/Physics/v2/physicsAggregate.js.map +1 -1
  154. package/Physics/v2/physicsBody.d.ts +6 -0
  155. package/Physics/v2/physicsBody.js +7 -0
  156. package/Physics/v2/physicsBody.js.map +1 -1
  157. package/PostProcesses/postProcess.d.ts +37 -2
  158. package/PostProcesses/postProcess.js +34 -0
  159. package/PostProcesses/postProcess.js.map +1 -1
  160. package/Rendering/depthPeelingRenderer.d.ts +1 -0
  161. package/Rendering/depthPeelingRenderer.js +1 -0
  162. package/Rendering/depthPeelingRenderer.js.map +1 -1
  163. package/Rendering/geometryBufferRenderer.d.ts +1 -0
  164. package/Rendering/geometryBufferRenderer.js +1 -0
  165. package/Rendering/geometryBufferRenderer.js.map +1 -1
  166. package/Rendering/prePassRenderer.d.ts +1 -0
  167. package/Rendering/prePassRenderer.js +1 -0
  168. package/Rendering/prePassRenderer.js.map +1 -1
  169. package/ShadersWGSL/ShadersInclude/bumpFragment.d.ts +5 -0
  170. package/ShadersWGSL/ShadersInclude/bumpFragment.js +61 -0
  171. package/ShadersWGSL/ShadersInclude/bumpFragment.js.map +1 -0
  172. package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.d.ts +6 -0
  173. package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.js +40 -0
  174. package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.js.map +1 -0
  175. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.d.ts +5 -0
  176. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js +69 -0
  177. package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -0
  178. package/ShadersWGSL/ShadersInclude/samplerFragmentDeclaration.d.ts +5 -0
  179. package/ShadersWGSL/ShadersInclude/samplerFragmentDeclaration.js +27 -0
  180. package/ShadersWGSL/ShadersInclude/samplerFragmentDeclaration.js.map +1 -0
  181. package/package.json +1 -1
  182. package/Engines/Extensions/engine.views.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import type { DataArray, FloatArray, ImageSource, IndicesArray, Nullable } from "../types";
1
+ import type { DataArray, FloatArray, IndicesArray, Nullable } from "../types";
2
2
  import type { PerfCounter } from "../Misc/perfCounter";
3
3
  import type { PostProcess } from "../PostProcesses/postProcess";
4
4
  import type { Scene } from "../scene";
@@ -23,11 +23,8 @@ import type { LoadFileError } from "../Misc/fileTools";
23
23
  import type { ShaderProcessingContext } from "./Processors/shaderProcessingOptions";
24
24
  import type { IPipelineContext } from "./IPipelineContext";
25
25
  import type { ThinTexture } from "../Materials/Textures/thinTexture";
26
- import type { RenderTargetTexture } from "../Materials/Textures/renderTargetTexture";
27
26
  import type { IInternalTextureLoader } from "../Materials/Textures/internalTextureLoader";
28
- import type { ExternalTexture } from "../Materials/Textures/externalTexture";
29
- import type { DepthTextureCreationOptions, InternalTextureCreationOptions, RenderTargetCreationOptions, TextureSize } from "../Materials/Textures/textureCreationOptions";
30
- import type { IMultiRenderTargetOptions } from "../Materials/Textures/multiRenderTarget";
27
+ import type { InternalTextureCreationOptions, TextureSize } from "../Materials/Textures/textureCreationOptions";
31
28
  import type { EffectFallbacks } from "../Materials/effectFallbacks";
32
29
  import type { IMaterialContext } from "./IMaterialContext";
33
30
  import type { IStencilState } from "../States/IStencilState";
@@ -278,6 +275,10 @@ export declare abstract class AbstractEngine {
278
275
  * @internal
279
276
  */
280
277
  abstract _executeWhenRenderingStateIsCompiled(pipelineContext: IPipelineContext, action: () => void): void;
278
+ /**
279
+ * @internal
280
+ */
281
+ abstract _setTexture(channel: number, texture: Nullable<ThinTexture>, isPartOfTextureArray?: boolean, depthStencilTexture?: boolean, name?: string): boolean;
281
282
  /**
282
283
  * Sets a texture to the according uniform.
283
284
  * @param channel The texture channel
@@ -506,6 +507,10 @@ export declare abstract class AbstractEngine {
506
507
  _boundRenderFunction: any;
507
508
  /** @internal */
508
509
  _renderLoop(): void;
510
+ /** @internal */
511
+ _renderFrame(): void;
512
+ /** @internal */
513
+ _renderViews(): boolean;
509
514
  /**
510
515
  * Can be used to override the current requestAnimationFrame requester.
511
516
  * @internal
@@ -575,10 +580,6 @@ export declare abstract class AbstractEngine {
575
580
  */
576
581
  onEndFrameObservable: Observable<AbstractEngine>;
577
582
  protected _rebuildTextures(): void;
578
- /**
579
- * @internal
580
- */
581
- abstract _setCubeMapTextureParams(texture: InternalTexture, loadMipmap: boolean, maxLevel?: number): void;
582
583
  /**
583
584
  * @internal
584
585
  */
@@ -597,10 +598,6 @@ export declare abstract class AbstractEngine {
597
598
  * @internal
598
599
  */
599
600
  abstract _uploadDataToTextureDirectly(texture: InternalTexture, imageData: ArrayBufferView, faceIndex?: number, lod?: number, babylonInternalFormat?: number, useTextureWidthAndHeight?: boolean): void;
600
- /** @internal */
601
- abstract _readTexturePixels(texture: InternalTexture, width: number, height: number, faceIndex?: number, level?: number, buffer?: Nullable<ArrayBufferView>, flushRenderer?: boolean, noDataConversion?: boolean, x?: number, y?: number): Promise<ArrayBufferView>;
602
- /** @internal */
603
- abstract _readTexturePixelsSync(texture: InternalTexture, width: number, height: number, faceIndex?: number, level?: number, buffer?: Nullable<ArrayBufferView>, flushRenderer?: boolean, noDataConversion?: boolean, x?: number, y?: number): ArrayBufferView;
604
601
  /**
605
602
  * Reads pixels from the current frame buffer. Please note that this function can be slow
606
603
  * @param x defines the x coordinate of the rectangle where pixels must be read
@@ -649,28 +646,10 @@ export declare abstract class AbstractEngine {
649
646
  * @param wrapR defines the texture wrap mode of the r coordinates
650
647
  */
651
648
  abstract updateTextureWrappingMode(texture: InternalTexture, wrapU: Nullable<number>, wrapV?: Nullable<number>, wrapR?: Nullable<number>): void;
652
- /**
653
- * Update a video texture
654
- * @param texture defines the texture to update
655
- * @param video defines the video element to use
656
- * @param invertY defines if data must be stored with Y axis inverted
657
- */
658
- abstract updateVideoTexture(texture: Nullable<InternalTexture>, video: HTMLVideoElement | Nullable<ExternalTexture>, invertY: boolean): void;
659
649
  /**
660
650
  * Unbind the current render target and bind the default framebuffer
661
651
  */
662
652
  abstract restoreDefaultFramebuffer(): void;
663
- /**
664
- * Update a raw texture
665
- * @param texture defines the texture to update
666
- * @param data defines the data to store in the texture
667
- * @param format defines the format of the data
668
- * @param invertY defines if data must be stored with Y axis inverted
669
- * @param compression defines the compression used (null by default)
670
- * @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)
671
- * @param useSRGBBuffer defines if the texture must be loaded in a sRGB GPU buffer (if supported by the GPU).
672
- */
673
- abstract updateRawTexture(texture: Nullable<InternalTexture>, data: Nullable<ArrayBufferView>, format: number, invertY: boolean, compression?: Nullable<string>, type?: number, useSRGBBuffer?: boolean): void;
674
653
  /**
675
654
  * Draw a list of indexed primitives
676
655
  * @param fillMode defines the primitive to use
@@ -688,22 +667,6 @@ export declare abstract class AbstractEngine {
688
667
  abstract unBindFramebuffer(texture: RenderTargetWrapper, disableGenerateMipMaps?: boolean, onBeforeUnbind?: () => void): void;
689
668
  /**Gets driver info if available */
690
669
  abstract extractDriverInfo(): string;
691
- /**
692
- * Creates a layout object to draw/clear on specific textures in a MRT
693
- * @param textureStatus textureStatus[i] indicates if the i-th is active
694
- * @returns A layout to be fed to the engine, calling `bindAttachments`.
695
- */
696
- abstract buildTextureLayout(textureStatus: boolean[]): number[];
697
- /**
698
- * Restores the webgl state to only draw on the main color attachment
699
- * when the frame buffer associated is the canvas frame buffer
700
- */
701
- abstract restoreSingleAttachment(): void;
702
- /**
703
- * Select a subsets of attachments to draw to.
704
- * @param attachments gl attachments
705
- */
706
- abstract bindAttachments(attachments: number[]): void;
707
670
  /**
708
671
  * Bind a list of vertex buffers to the webGL context
709
672
  * @param vertexBuffers defines the list of vertex buffers to bind
@@ -772,13 +735,6 @@ export declare abstract class AbstractEngine {
772
735
  * @param stencil defines if the stencil buffer must be cleared
773
736
  */
774
737
  abstract clear(color: Nullable<IColor4Like>, backBuffer: boolean, depth: boolean, stencil?: boolean): void;
775
- /**
776
- * Sets the current alpha mode
777
- * @param mode defines the mode to use (one of the Engine.ALPHA_XXX)
778
- * @param noDepthWriteChange defines if depth writing state should remains unchanged (false by default)
779
- * @see https://doc.babylonjs.com/features/featuresDeepDive/materials/advanced/transparent_rendering
780
- */
781
- abstract setAlphaMode(mode: number, noDepthWriteChange?: boolean): void;
782
738
  /**
783
739
  * Gets a boolean indicating that only power of 2 textures are supported
784
740
  * Please note that you can still use non power of 2 textures but in this case the engine will forcefully convert them
@@ -792,56 +748,6 @@ export declare abstract class AbstractEngine {
792
748
  * @returns a new buffer
793
749
  */
794
750
  abstract createIndexBuffer(indices: IndicesArray, _updatable?: boolean, label?: string): DataBuffer;
795
- /**
796
- * Creates a new render target texture
797
- * @param size defines the size of the texture
798
- * @param options defines the options used to create the texture
799
- * @returns a new render target wrapper ready to render texture
800
- */
801
- abstract createRenderTargetTexture(size: TextureSize, options: boolean | RenderTargetCreationOptions): RenderTargetWrapper;
802
- /**
803
- * Creates a new render target cube wrapper
804
- * @param size defines the size of the texture
805
- * @param options defines the options used to create the texture
806
- * @returns a new render target cube wrapper
807
- */
808
- abstract createRenderTargetCubeTexture(size: number, options?: RenderTargetCreationOptions): RenderTargetWrapper;
809
- /**
810
- * Create a multi render target texture
811
- * @see https://doc.babylonjs.com/setup/support/webGL2#multiple-render-target
812
- * @param size defines the size of the texture
813
- * @param options defines the creation options
814
- * @param initializeBuffers if set to true, the engine will make an initializing call of drawBuffers
815
- * @returns a new render target wrapper ready to render textures
816
- */
817
- abstract createMultipleRenderTarget(size: TextureSize, options: IMultiRenderTargetOptions, initializeBuffers?: boolean): RenderTargetWrapper;
818
- /** @internal */
819
- abstract _createDepthStencilTexture(size: TextureSize, options: DepthTextureCreationOptions, rtWrapper: RenderTargetWrapper): InternalTexture;
820
- /**
821
- * Creates a depth stencil cube texture.
822
- * This is only available in WebGL 2.
823
- * @param size The size of face edge in the cube texture.
824
- * @param options The options defining the cube texture.
825
- * @returns The cube texture
826
- */
827
- abstract _createDepthStencilCubeTexture(size: number, options: DepthTextureCreationOptions): InternalTexture;
828
- /**
829
- * Update the sample count for a given multiple render target texture
830
- * @see https://doc.babylonjs.com/setup/support/webGL2#multisample-render-targets
831
- * @param rtWrapper defines the render target wrapper to update
832
- * @param samples defines the sample count to set
833
- * @param initializeBuffers if set to true, the engine will make an initializing call of drawBuffers
834
- * @returns the effective sample count (could be 0 if multisample render targets are not supported)
835
- */
836
- abstract updateMultipleRenderTargetTextureSampleCount(rtWrapper: Nullable<RenderTargetWrapper>, samples: number, initializeBuffers?: boolean): number;
837
- /**
838
- * Updates the sample count of a render target texture
839
- * @see https://doc.babylonjs.com/setup/support/webGL2#multisample-render-targets
840
- * @param rtWrapper defines the render target wrapper to update
841
- * @param samples defines the sample count to set
842
- * @returns the effective sample count (could be 0 if multisample render targets are not supported)
843
- */
844
- abstract updateRenderTargetTextureSampleCount(rtWrapper: Nullable<RenderTargetWrapper>, samples: number): number;
845
751
  /**
846
752
  * Draw a list of unindexed primitives
847
753
  * @param fillMode defines the primitive to use
@@ -877,20 +783,6 @@ export declare abstract class AbstractEngine {
877
783
  * @param generateMipMaps defines whether to generate mipmaps for the texture
878
784
  */
879
785
  abstract updateTextureSamplingMode(samplingMode: number, texture: InternalTexture, generateMipMaps?: boolean): void;
880
- /**
881
- * Sets a texture to the context from a postprocess
882
- * @param channel defines the channel to use
883
- * @param postProcess defines the source postprocess
884
- * @param name name of the channel
885
- */
886
- abstract setTextureFromPostProcess(channel: number, postProcess: Nullable<PostProcess>, name: string): void;
887
- /**
888
- * Binds the output of the passed in post process to the texture channel specified
889
- * @param channel The channel the texture should be bound to
890
- * @param postProcess The post process which's output should be bound
891
- * @param name name of the channel
892
- */
893
- abstract setTextureFromPostProcessOutput(channel: number, postProcess: Nullable<PostProcess>, name: string): void;
894
786
  /**
895
787
  * Sets an array of texture to the webGL context
896
788
  * @param channel defines the channel where the texture array must be set
@@ -957,14 +849,6 @@ export declare abstract class AbstractEngine {
957
849
  * @param index defines the index where to bind the block
958
850
  */
959
851
  abstract bindUniformBlock(pipelineContext: IPipelineContext, blockName: string, index: number): void;
960
- /**
961
- * Sets a depth stencil texture from a render target to the according uniform.
962
- * @param channel The texture channel
963
- * @param uniform The uniform to set
964
- * @param texture The render target texture containing the depth stencil texture to apply
965
- * @param name The texture name
966
- */
967
- abstract setDepthStencilTexture(channel: number, uniform: Nullable<WebGLUniformLocation>, texture: Nullable<RenderTargetTexture>, name?: string): void;
968
852
  /** @internal */
969
853
  _uniformBuffers: UniformBuffer[];
970
854
  /** @internal */
@@ -1147,21 +1031,6 @@ export declare abstract class AbstractEngine {
1147
1031
  * @param count defines the size of the data to update
1148
1032
  */
1149
1033
  abstract updateUniformBuffer(uniformBuffer: DataBuffer, elements: FloatArray, offset?: number, count?: number): void;
1150
- /**
1151
- * Update a dynamic index buffer
1152
- * @param indexBuffer defines the target index buffer
1153
- * @param indices defines the data to update
1154
- * @param offset defines the offset in the target index buffer where update should start
1155
- */
1156
- abstract updateDynamicIndexBuffer(indexBuffer: DataBuffer, indices: IndicesArray, offset?: number): void;
1157
- /**
1158
- * Updates a dynamic vertex buffer.
1159
- * @param vertexBuffer the vertex buffer to update
1160
- * @param data the data used to update the vertex buffer
1161
- * @param byteOffset the byte offset of the data
1162
- * @param byteLength the byte length of the data
1163
- */
1164
- abstract updateDynamicVertexBuffer(vertexBuffer: DataBuffer, data: DataArray, byteOffset?: number, byteLength?: number): void;
1165
1034
  /**
1166
1035
  * Creates a dynamic vertex buffer
1167
1036
  * @param data the data for the dynamic vertex buffer
@@ -1209,14 +1078,6 @@ export declare abstract class AbstractEngine {
1209
1078
  * @returns a InternalTexture for assignment back into BABYLON.Texture
1210
1079
  */
1211
1080
  abstract createTexture(url: Nullable<string>, noMipmap: boolean, invertY: boolean, scene: Nullable<ISceneLike>, samplingMode?: number, onLoad?: Nullable<(texture: InternalTexture) => void>, onError?: Nullable<(message: string, exception: any) => void>, buffer?: Nullable<string | ArrayBuffer | ArrayBufferView | HTMLImageElement | Blob | ImageBitmap>, fallback?: Nullable<InternalTexture>, format?: Nullable<number>, forcedExtension?: Nullable<string>, mimeType?: string, loaderOptions?: any, creationFlags?: number, useSRGBBuffer?: boolean): InternalTexture;
1212
- /**
1213
- * @internal
1214
- */
1215
- abstract _setupDepthStencilTexture(internalTexture: InternalTexture, size: number | {
1216
- width: number;
1217
- height: number;
1218
- layers?: number;
1219
- }, generateStencil: boolean, bilinearFiltering: boolean, comparisonFunction: number, samples?: number): void;
1220
1081
  /**
1221
1082
  * Creates a raw texture
1222
1083
  * @param data defines the data to store in the texture
@@ -1232,164 +1093,7 @@ export declare abstract class AbstractEngine {
1232
1093
  * @param useSRGBBuffer defines if the texture must be loaded in a sRGB GPU buffer (if supported by the GPU).
1233
1094
  * @returns the raw texture inside an InternalTexture
1234
1095
  */
1235
- abstract createRawTexture(data: Nullable<ArrayBufferView>, width: number, height: number, format: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression?: Nullable<string>, type?: number, creationFlags?: number, useSRGBBuffer?: boolean): InternalTexture;
1236
- /**
1237
- * Create a cube texture from prefiltered data (ie. the mipmaps contain ready to use data for PBR reflection)
1238
- * @param rootUrl defines the url where the file to load is located
1239
- * @param scene defines the current scene
1240
- * @param lodScale defines scale to apply to the mip map selection
1241
- * @param lodOffset defines offset to apply to the mip map selection
1242
- * @param onLoad defines an optional callback raised when the texture is loaded
1243
- * @param onError defines an optional callback raised if there is an issue to load the texture
1244
- * @param format defines the format of the data
1245
- * @param forcedExtension defines the extension to use to pick the right loader
1246
- * @param createPolynomials defines wheter or not to create polynomails harmonics for the texture
1247
- * @returns the cube texture as an InternalTexture
1248
- */
1249
- abstract createPrefilteredCubeTexture(rootUrl: string, scene: Nullable<Scene>, lodScale: number, lodOffset: number, onLoad?: Nullable<(internalTexture: Nullable<InternalTexture>) => void>, onError?: Nullable<(message?: string, exception?: any) => void>, format?: number, forcedExtension?: any, createPolynomials?: boolean): InternalTexture;
1250
- /**
1251
- * Creates a dynamic texture
1252
- * @param width defines the width of the texture
1253
- * @param height defines the height of the texture
1254
- * @param generateMipMaps defines if the engine should generate the mip levels
1255
- * @param samplingMode defines the required sampling mode (Texture.NEAREST_SAMPLINGMODE by default)
1256
- * @returns the dynamic texture inside an InternalTexture
1257
- */
1258
- abstract createDynamicTexture(width: number, height: number, generateMipMaps: boolean, samplingMode: number): InternalTexture;
1259
- /**
1260
- * Update the content of a dynamic texture
1261
- * @param texture defines the texture to update
1262
- * @param source defines the source containing the data
1263
- * @param invertY defines if data must be stored with Y axis inverted
1264
- * @param premulAlpha defines if alpha is stored as premultiplied
1265
- * @param format defines the format of the data
1266
- * @param forceBindTexture if the texture should be forced to be bound eg. after a graphics context loss (Default: false)
1267
- * @param allowGPUOptimization true to allow some specific GPU optimizations (subject to engine feature "allowGPUOptimizationsForGUI" being true)
1268
- */
1269
- abstract updateDynamicTexture(texture: Nullable<InternalTexture>, source: ImageSource | ICanvas, invertY?: boolean, premulAlpha?: boolean, format?: number, forceBindTexture?: boolean, allowGPUOptimization?: boolean): void;
1270
- /**
1271
- * Creates a cube texture
1272
- * @param rootUrl defines the url where the files to load is located
1273
- * @param scene defines the current scene
1274
- * @param files defines the list of files to load (1 per face)
1275
- * @param noMipmap defines a boolean indicating that no mipmaps shall be generated (false by default)
1276
- * @param onLoad defines an optional callback raised when the texture is loaded
1277
- * @param onError defines an optional callback raised if there is an issue to load the texture
1278
- * @param format defines the format of the data
1279
- * @param forcedExtension defines the extension to use to pick the right loader
1280
- * @param createPolynomials if a polynomial sphere should be created for the cube texture
1281
- * @param lodScale defines the scale applied to environment texture. This manages the range of LOD level used for IBL according to the roughness
1282
- * @param lodOffset defines the offset applied to environment texture. This manages first LOD level used for IBL according to the roughness
1283
- * @param fallback defines texture to use while falling back when (compressed) texture file not found.
1284
- * @param loaderOptions options to be passed to the loader
1285
- * @param useSRGBBuffer defines if the texture must be loaded in a sRGB GPU buffer (if supported by the GPU).
1286
- * @returns the cube texture as an InternalTexture
1287
- */
1288
- abstract createCubeTexture(rootUrl: string, scene: Nullable<Scene>, files: Nullable<string[]>, noMipmap: boolean | undefined, onLoad: Nullable<(data?: any) => void>, onError: Nullable<(message?: string, exception?: any) => void>, format: number | undefined, forcedExtension: any, createPolynomials: boolean, lodScale: number, lodOffset: number, fallback: Nullable<InternalTexture>, loaderOptions: any, useSRGBBuffer: boolean): InternalTexture;
1289
- /**
1290
- * Creates a cube texture
1291
- * @param rootUrl defines the url where the files to load is located
1292
- * @param scene defines the current scene
1293
- * @param files defines the list of files to load (1 per face)
1294
- * @param noMipmap defines a boolean indicating that no mipmaps shall be generated (false by default)
1295
- * @param onLoad defines an optional callback raised when the texture is loaded
1296
- * @param onError defines an optional callback raised if there is an issue to load the texture
1297
- * @param format defines the format of the data
1298
- * @param forcedExtension defines the extension to use to pick the right loader
1299
- * @returns the cube texture as an InternalTexture
1300
- */
1301
- abstract createCubeTexture(rootUrl: string, scene: Nullable<Scene>, files: Nullable<string[]>, noMipmap: boolean, onLoad: Nullable<(data?: any) => void>, onError: Nullable<(message?: string, exception?: any) => void>, format: number | undefined, forcedExtension: any): InternalTexture;
1302
- /**
1303
- * Creates a cube texture
1304
- * @param rootUrl defines the url where the files to load is located
1305
- * @param scene defines the current scene
1306
- * @param files defines the list of files to load (1 per face)
1307
- * @param noMipmap defines a boolean indicating that no mipmaps shall be generated (false by default)
1308
- * @param onLoad defines an optional callback raised when the texture is loaded
1309
- * @param onError defines an optional callback raised if there is an issue to load the texture
1310
- * @param format defines the format of the data
1311
- * @param forcedExtension defines the extension to use to pick the right loader
1312
- * @param createPolynomials if a polynomial sphere should be created for the cube texture
1313
- * @param lodScale defines the scale applied to environment texture. This manages the range of LOD level used for IBL according to the roughness
1314
- * @param lodOffset defines the offset applied to environment texture. This manages first LOD level used for IBL according to the roughness
1315
- * @returns the cube texture as an InternalTexture
1316
- */
1317
- abstract createCubeTexture(rootUrl: string, scene: Nullable<Scene>, files: Nullable<string[]>, noMipmap: boolean, onLoad: Nullable<(data?: any) => void>, onError: Nullable<(message?: string, exception?: any) => void>, format: number | undefined, forcedExtension: any, createPolynomials: boolean, lodScale: number, lodOffset: number): InternalTexture;
1318
- /**
1319
- * Creates a new raw cube texture
1320
- * @param data defines the array of data to use to create each face
1321
- * @param size defines the size of the textures
1322
- * @param format defines the format of the data
1323
- * @param type defines the type of the data (like Engine.TEXTURETYPE_UNSIGNED_INT)
1324
- * @param generateMipMaps defines if the engine should generate the mip levels
1325
- * @param invertY defines if data must be stored with Y axis inverted
1326
- * @param samplingMode defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)
1327
- * @param compression defines the compression used (null by default)
1328
- * @returns the cube texture as an InternalTexture
1329
- */
1330
- abstract createRawCubeTexture(data: Nullable<ArrayBufferView[]>, size: number, format: number, type: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression?: Nullable<string>): InternalTexture;
1331
- /**
1332
- * Update a raw cube texture
1333
- * @param texture defines the texture to update
1334
- * @param data defines the data to store
1335
- * @param format defines the data format
1336
- * @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)
1337
- * @param invertY defines if data must be stored with Y axis inverted
1338
- */
1339
- abstract updateRawCubeTexture(texture: InternalTexture, data: ArrayBufferView[], format: number, type: number, invertY: boolean): void;
1340
- /**
1341
- * Update a raw cube texture
1342
- * @param texture defines the texture to update
1343
- * @param data defines the data to store
1344
- * @param format defines the data format
1345
- * @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)
1346
- * @param invertY defines if data must be stored with Y axis inverted
1347
- * @param compression defines the compression used (null by default)
1348
- */
1349
- abstract updateRawCubeTexture(texture: InternalTexture, data: ArrayBufferView[], format: number, type: number, invertY: boolean, compression: Nullable<string>): void;
1350
- /**
1351
- * Update a raw cube texture
1352
- * @param texture defines the texture to update
1353
- * @param data defines the data to store
1354
- * @param format defines the data format
1355
- * @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)
1356
- * @param invertY defines if data must be stored with Y axis inverted
1357
- * @param compression defines the compression used (null by default)
1358
- * @param level defines which level of the texture to update
1359
- */
1360
- abstract updateRawCubeTexture(texture: InternalTexture, data: ArrayBufferView[], format: number, type: number, invertY: boolean, compression: Nullable<string>, level: number): void;
1361
- /**
1362
- * Creates a new raw cube texture from a specified url
1363
- * @param url defines the url where the data is located
1364
- * @param scene defines the current scene
1365
- * @param size defines the size of the textures
1366
- * @param format defines the format of the data
1367
- * @param type defines the type fo the data (like Engine.TEXTURETYPE_UNSIGNED_INT)
1368
- * @param noMipmap defines if the engine should avoid generating the mip levels
1369
- * @param callback defines a callback used to extract texture data from loaded data
1370
- * @param mipmapGenerator defines to provide an optional tool to generate mip levels
1371
- * @param onLoad defines a callback called when texture is loaded
1372
- * @param onError defines a callback called if there is an error
1373
- * @returns the cube texture as an InternalTexture
1374
- */
1375
- abstract createRawCubeTextureFromUrl(url: string, scene: Nullable<Scene>, size: number, format: number, type: number, noMipmap: boolean, callback: (ArrayBuffer: ArrayBuffer) => Nullable<ArrayBufferView[]>, mipmapGenerator: Nullable<(faces: ArrayBufferView[]) => ArrayBufferView[][]>, onLoad: Nullable<() => void>, onError: Nullable<(message?: string, exception?: any) => void>): InternalTexture;
1376
- /**
1377
- * Creates a new raw cube texture from a specified url
1378
- * @param url defines the url where the data is located
1379
- * @param scene defines the current scene
1380
- * @param size defines the size of the textures
1381
- * @param format defines the format of the data
1382
- * @param type defines the type fo the data (like Engine.TEXTURETYPE_UNSIGNED_INT)
1383
- * @param noMipmap defines if the engine should avoid generating the mip levels
1384
- * @param callback defines a callback used to extract texture data from loaded data
1385
- * @param mipmapGenerator defines to provide an optional tool to generate mip levels
1386
- * @param onLoad defines a callback called when texture is loaded
1387
- * @param onError defines a callback called if there is an error
1388
- * @param samplingMode defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)
1389
- * @param invertY defines if data must be stored with Y axis inverted
1390
- * @returns the cube texture as an InternalTexture
1391
- */
1392
- abstract createRawCubeTextureFromUrl(url: string, scene: Nullable<Scene>, size: number, format: number, type: number, noMipmap: boolean, callback: (ArrayBuffer: ArrayBuffer) => Nullable<ArrayBufferView[]>, mipmapGenerator: Nullable<(faces: ArrayBufferView[]) => ArrayBufferView[][]>, onLoad: Nullable<() => void>, onError: Nullable<(message?: string, exception?: any) => void>, samplingMode: number, invertY: boolean): InternalTexture;
1096
+ createRawTexture(data: Nullable<ArrayBufferView>, width: number, height: number, format: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression?: Nullable<string>, type?: number, creationFlags?: number, useSRGBBuffer?: boolean): InternalTexture;
1393
1097
  /**
1394
1098
  * Creates a new raw 3D texture
1395
1099
  * @param data defines the data used to create the texture
@@ -1405,25 +1109,7 @@ export declare abstract class AbstractEngine {
1405
1109
  * @param creationFlags specific flags to use when creating the texture (Constants.TEXTURE_CREATIONFLAG_STORAGE for storage textures, for eg)
1406
1110
  * @returns a new raw 3D texture (stored in an InternalTexture)
1407
1111
  */
1408
- abstract createRawTexture3D(data: Nullable<ArrayBufferView>, width: number, height: number, depth: number, format: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression?: Nullable<string>, textureType?: number, creationFlags?: number): InternalTexture;
1409
- /**
1410
- * Update a raw 3D texture
1411
- * @param texture defines the texture to update
1412
- * @param data defines the data to store
1413
- * @param format defines the data format
1414
- * @param invertY defines if data must be stored with Y axis inverted
1415
- */
1416
- abstract updateRawTexture3D(texture: InternalTexture, data: Nullable<ArrayBufferView>, format: number, invertY: boolean): void;
1417
- /**
1418
- * Update a raw 3D texture
1419
- * @param texture defines the texture to update
1420
- * @param data defines the data to store
1421
- * @param format defines the data format
1422
- * @param invertY defines if data must be stored with Y axis inverted
1423
- * @param compression defines the used compression (can be null)
1424
- * @param textureType defines the texture Type (Engine.TEXTURETYPE_UNSIGNED_INT, Engine.TEXTURETYPE_FLOAT...)
1425
- */
1426
- abstract updateRawTexture3D(texture: InternalTexture, data: Nullable<ArrayBufferView>, format: number, invertY: boolean, compression: Nullable<string>, textureType: number): void;
1112
+ createRawTexture3D(data: Nullable<ArrayBufferView>, width: number, height: number, depth: number, format: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression?: Nullable<string>, textureType?: number, creationFlags?: number): InternalTexture;
1427
1113
  /**
1428
1114
  * Creates a new raw 2D array texture
1429
1115
  * @param data defines the data used to create the texture
@@ -1439,25 +1125,7 @@ export declare abstract class AbstractEngine {
1439
1125
  * @param creationFlags specific flags to use when creating the texture (Constants.TEXTURE_CREATIONFLAG_STORAGE for storage textures, for eg)
1440
1126
  * @returns a new raw 2D array texture (stored in an InternalTexture)
1441
1127
  */
1442
- abstract createRawTexture2DArray(data: Nullable<ArrayBufferView>, width: number, height: number, depth: number, format: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression?: Nullable<string>, textureType?: number, creationFlags?: number): InternalTexture;
1443
- /**
1444
- * Update a raw 2D array texture
1445
- * @param texture defines the texture to update
1446
- * @param data defines the data to store
1447
- * @param format defines the data format
1448
- * @param invertY defines if data must be stored with Y axis inverted
1449
- */
1450
- abstract updateRawTexture2DArray(texture: InternalTexture, data: Nullable<ArrayBufferView>, format: number, invertY: boolean): void;
1451
- /**
1452
- * Update a raw 2D array texture
1453
- * @param texture defines the texture to update
1454
- * @param data defines the data to store
1455
- * @param format defines the data format
1456
- * @param invertY defines if data must be stored with Y axis inverted
1457
- * @param compression defines the used compression (can be null)
1458
- * @param textureType defines the texture Type (Engine.TEXTURETYPE_UNSIGNED_INT, Engine.TEXTURETYPE_FLOAT...)
1459
- */
1460
- abstract updateRawTexture2DArray(texture: InternalTexture, data: Nullable<ArrayBufferView>, format: number, invertY: boolean, compression: Nullable<string>, textureType: number): void;
1128
+ createRawTexture2DArray(data: Nullable<ArrayBufferView>, width: number, height: number, depth: number, format: number, generateMipMaps: boolean, invertY: boolean, samplingMode: number, compression?: Nullable<string>, textureType?: number, creationFlags?: number): InternalTexture;
1461
1129
  /**
1462
1130
  * Gets or sets a boolean indicating if back faces must be culled. If false, front faces are culled instead (true by default)
1463
1131
  * If non null, this takes precedence over the value from the material
@@ -1535,12 +1203,6 @@ export declare abstract class AbstractEngine {
1535
1203
  * @returns time step in (ms)
1536
1204
  */
1537
1205
  getTimeStep(): number;
1538
- /**
1539
- * Force the mipmap generation for the given render target texture
1540
- * @param texture defines the render target texture to use
1541
- * @param unbind defines whether or not to unbind the texture after generation. Defaults to true.
1542
- */
1543
- abstract generateMipMapsForCubemap(texture: InternalTexture, unbind: boolean): void;
1544
1206
  /**
1545
1207
  * Engine abstraction for loading and creating an image bitmap from a given source string.
1546
1208
  * @param imageSource source to load the image from.
@@ -372,9 +372,10 @@ export class AbstractEngine {
372
372
  if (shouldRender) {
373
373
  // Start new frame
374
374
  this.beginFrame();
375
- for (let index = 0; index < this._activeRenderLoops.length; index++) {
376
- const renderFunction = this._activeRenderLoops[index];
377
- renderFunction();
375
+ // Child canvases
376
+ if (!this._renderViews()) {
377
+ // Main frame
378
+ this._renderFrame();
378
379
  }
379
380
  // Present
380
381
  this.endFrame();
@@ -387,6 +388,17 @@ export class AbstractEngine {
387
388
  this._frameHandler = this._queueNewFrame(this._boundRenderFunction, this.getHostWindow());
388
389
  }
389
390
  }
391
+ /** @internal */
392
+ _renderFrame() {
393
+ for (let index = 0; index < this._activeRenderLoops.length; index++) {
394
+ const renderFunction = this._activeRenderLoops[index];
395
+ renderFunction();
396
+ }
397
+ }
398
+ /** @internal */
399
+ _renderViews() {
400
+ return false;
401
+ }
390
402
  /**
391
403
  * Can be used to override the current requestAnimationFrame requester.
392
404
  * @internal
@@ -733,13 +745,13 @@ export class AbstractEngine {
733
745
  */
734
746
  // Not mixed with Version for tooling purpose.
735
747
  static get NpmPackage() {
736
- return "babylonjs@7.7.2";
748
+ return "babylonjs@7.8.1";
737
749
  }
738
750
  /**
739
751
  * Returns the current version of the framework
740
752
  */
741
753
  static get Version() {
742
- return "7.7.2";
754
+ return "7.8.1";
743
755
  }
744
756
  /**
745
757
  * Gets the HTML canvas attached with the current webGL context
@@ -1126,6 +1138,79 @@ export class AbstractEngine {
1126
1138
  }
1127
1139
  return true;
1128
1140
  }
1141
+ // eslint-disable-next-line jsdoc/require-returns-check
1142
+ /**
1143
+ * Creates a raw texture
1144
+ * @param data defines the data to store in the texture
1145
+ * @param width defines the width of the texture
1146
+ * @param height defines the height of the texture
1147
+ * @param format defines the format of the data
1148
+ * @param generateMipMaps defines if the engine should generate the mip levels
1149
+ * @param invertY defines if data must be stored with Y axis inverted
1150
+ * @param samplingMode defines the required sampling mode (Texture.NEAREST_SAMPLINGMODE by default)
1151
+ * @param compression defines the compression used (null by default)
1152
+ * @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)
1153
+ * @param creationFlags specific flags to use when creating the texture (1 for storage textures, for eg)
1154
+ * @param useSRGBBuffer defines if the texture must be loaded in a sRGB GPU buffer (if supported by the GPU).
1155
+ * @returns the raw texture inside an InternalTexture
1156
+ */
1157
+ createRawTexture(data, width, height, format, generateMipMaps, invertY, samplingMode, compression, type, creationFlags, useSRGBBuffer) {
1158
+ throw _WarnImport("engine.rawTexture");
1159
+ }
1160
+ // eslint-disable-next-line jsdoc/require-returns-check
1161
+ /**
1162
+ * Creates a new raw cube texture
1163
+ * @param data defines the array of data to use to create each face
1164
+ * @param size defines the size of the textures
1165
+ * @param format defines the format of the data
1166
+ * @param type defines the type of the data (like Engine.TEXTURETYPE_UNSIGNED_INT)
1167
+ * @param generateMipMaps defines if the engine should generate the mip levels
1168
+ * @param invertY defines if data must be stored with Y axis inverted
1169
+ * @param samplingMode defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)
1170
+ * @param compression defines the compression used (null by default)
1171
+ * @returns the cube texture as an InternalTexture
1172
+ */
1173
+ createRawCubeTexture(data, size, format, type, generateMipMaps, invertY, samplingMode, compression) {
1174
+ throw _WarnImport("engine.rawTexture");
1175
+ }
1176
+ // eslint-disable-next-line jsdoc/require-returns-check
1177
+ /**
1178
+ * Creates a new raw 3D texture
1179
+ * @param data defines the data used to create the texture
1180
+ * @param width defines the width of the texture
1181
+ * @param height defines the height of the texture
1182
+ * @param depth defines the depth of the texture
1183
+ * @param format defines the format of the texture
1184
+ * @param generateMipMaps defines if the engine must generate mip levels
1185
+ * @param invertY defines if data must be stored with Y axis inverted
1186
+ * @param samplingMode defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)
1187
+ * @param compression defines the compressed used (can be null)
1188
+ * @param textureType defines the compressed used (can be null)
1189
+ * @param creationFlags specific flags to use when creating the texture (1 for storage textures, for eg)
1190
+ * @returns a new raw 3D texture (stored in an InternalTexture)
1191
+ */
1192
+ createRawTexture3D(data, width, height, depth, format, generateMipMaps, invertY, samplingMode, compression, textureType, creationFlags) {
1193
+ throw _WarnImport("engine.rawTexture");
1194
+ }
1195
+ // eslint-disable-next-line jsdoc/require-returns-check
1196
+ /**
1197
+ * Creates a new raw 2D array texture
1198
+ * @param data defines the data used to create the texture
1199
+ * @param width defines the width of the texture
1200
+ * @param height defines the height of the texture
1201
+ * @param depth defines the number of layers of the texture
1202
+ * @param format defines the format of the texture
1203
+ * @param generateMipMaps defines if the engine must generate mip levels
1204
+ * @param invertY defines if data must be stored with Y axis inverted
1205
+ * @param samplingMode defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)
1206
+ * @param compression defines the compressed used (can be null)
1207
+ * @param textureType defines the compressed used (can be null)
1208
+ * @param creationFlags specific flags to use when creating the texture (1 for storage textures, for eg)
1209
+ * @returns a new raw 2D array texture (stored in an InternalTexture)
1210
+ */
1211
+ createRawTexture2DArray(data, width, height, depth, format, generateMipMaps, invertY, samplingMode, compression, textureType, creationFlags) {
1212
+ throw _WarnImport("engine.rawTexture");
1213
+ }
1129
1214
  /**
1130
1215
  * Shared initialization across engines types.
1131
1216
  * @param canvas The canvas associated with this instance of the engine.