@babylonjs/core 7.8.0 → 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.
- package/Behaviors/Meshes/sixDofDragBehavior.js +1 -1
- package/Behaviors/Meshes/sixDofDragBehavior.js.map +1 -1
- package/Cameras/Inputs/BaseCameraPointersInput.js +5 -1
- package/Cameras/Inputs/BaseCameraPointersInput.js.map +1 -1
- package/Engines/AbstractEngine/abstractEngine.states.d.ts +1 -0
- package/Engines/AbstractEngine/abstractEngine.states.js +1 -0
- package/Engines/AbstractEngine/abstractEngine.states.js.map +1 -1
- package/Engines/{Extensions/engine.views.d.ts → AbstractEngine/abstractEngine.views.d.ts} +1 -2
- package/Engines/{Extensions/engine.views.js → AbstractEngine/abstractEngine.views.js} +10 -10
- package/Engines/AbstractEngine/abstractEngine.views.js.map +1 -0
- package/Engines/AbstractEngine/index.d.ts +1 -0
- package/Engines/AbstractEngine/index.js +1 -0
- package/Engines/AbstractEngine/index.js.map +1 -1
- package/Engines/Extensions/engine.alpha.d.ts +2 -2
- package/Engines/Extensions/engine.alpha.js.map +1 -1
- package/Engines/Extensions/engine.cubeTexture.d.ts +10 -4
- package/Engines/Extensions/engine.cubeTexture.js +10 -0
- package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
- package/Engines/Extensions/engine.dynamicBuffer.d.ts +2 -2
- package/Engines/Extensions/engine.dynamicBuffer.js.map +1 -1
- package/Engines/Extensions/engine.dynamicTexture.d.ts +2 -2
- package/Engines/Extensions/engine.dynamicTexture.js.map +1 -1
- package/Engines/Extensions/engine.multiRender.d.ts +2 -2
- package/Engines/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/Extensions/engine.prefilteredCubeTexture.d.ts +22 -0
- package/Engines/Extensions/engine.prefilteredCubeTexture.js +88 -0
- package/Engines/Extensions/engine.prefilteredCubeTexture.js.map +1 -0
- package/Engines/Extensions/engine.rawTexture.d.ts +2 -63
- package/Engines/Extensions/engine.rawTexture.js.map +1 -1
- package/Engines/Extensions/engine.readTexture.d.ts +2 -2
- package/Engines/Extensions/engine.readTexture.js.map +1 -1
- package/Engines/Extensions/engine.renderTarget.d.ts +5 -11
- package/Engines/Extensions/engine.renderTarget.js +37 -0
- package/Engines/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/Extensions/engine.renderTargetCube.d.ts +2 -2
- package/Engines/Extensions/engine.renderTargetCube.js.map +1 -1
- package/Engines/Extensions/engine.renderTargetTexture.d.ts +14 -0
- package/Engines/Extensions/engine.renderTargetTexture.js +16 -0
- package/Engines/Extensions/engine.renderTargetTexture.js.map +1 -0
- package/Engines/Extensions/engine.videoTexture.d.ts +2 -2
- package/Engines/Extensions/engine.videoTexture.js.map +1 -1
- package/Engines/Extensions/index.d.ts +2 -1
- package/Engines/Extensions/index.js +2 -1
- package/Engines/Extensions/index.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.alpha.d.ts +3 -27
- package/Engines/WebGPU/Extensions/engine.alpha.js +1 -0
- package/Engines/WebGPU/Extensions/engine.alpha.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.cubeTexture.d.ts +10 -4
- package/Engines/WebGPU/Extensions/engine.cubeTexture.js +9 -0
- package/Engines/WebGPU/Extensions/engine.cubeTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.dynamicTexture.d.ts +2 -2
- package/Engines/WebGPU/Extensions/engine.dynamicTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.multiRender.d.ts +2 -2
- package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.rawTexture.d.ts +2 -50
- package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.readTexture.d.ts +2 -2
- package/Engines/WebGPU/Extensions/engine.readTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.d.ts +3 -11
- package/Engines/WebGPU/Extensions/engine.renderTarget.js +1 -0
- package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTargetCube.d.ts +2 -2
- package/Engines/WebGPU/Extensions/engine.renderTargetCube.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTargetTexture.d.ts +14 -0
- package/Engines/WebGPU/Extensions/engine.renderTargetTexture.js +10 -0
- package/Engines/WebGPU/Extensions/engine.renderTargetTexture.js.map +1 -0
- package/Engines/WebGPU/Extensions/engine.videoTexture.d.ts +2 -2
- package/Engines/WebGPU/Extensions/engine.videoTexture.js.map +1 -1
- package/Engines/WebGPU/Extensions/index.d.ts +1 -0
- package/Engines/WebGPU/Extensions/index.js +1 -0
- package/Engines/WebGPU/Extensions/index.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +4 -0
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +4 -0
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
- package/Engines/abstractEngine.d.ts +13 -351
- package/Engines/abstractEngine.js +90 -5
- package/Engines/abstractEngine.js.map +1 -1
- package/Engines/engine.d.ts +11 -30
- package/Engines/engine.js +0 -69
- package/Engines/engine.js.map +1 -1
- package/Engines/nativeEngine.d.ts +4 -7
- package/Engines/nativeEngine.js +3 -8
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/thinEngine.d.ts +7 -18
- package/Engines/thinEngine.js +4 -146
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +4 -26
- package/Engines/webgpuEngine.js +3 -51
- package/Engines/webgpuEngine.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/TBNBlock.js +14 -7
- package/Materials/Node/Blocks/Fragment/TBNBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/heightToNormalBlock.js +19 -11
- package/Materials/Node/Blocks/Fragment/heightToNormalBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js +47 -20
- package/Materials/Node/Blocks/Fragment/perturbNormalBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/screenSizeBlock.js +3 -1
- package/Materials/Node/Blocks/Fragment/screenSizeBlock.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js +4 -4
- package/Materials/Node/Blocks/Fragment/screenSpaceBlock.js.map +1 -1
- package/Materials/Node/Blocks/biPlanarBlock.js +1 -2
- package/Materials/Node/Blocks/biPlanarBlock.js.map +1 -1
- package/Materials/Node/Blocks/cloudBlock.js +1 -1
- package/Materials/Node/Blocks/cloudBlock.js.map +1 -1
- package/Materials/Node/Blocks/triPlanarBlock.js +1 -1
- package/Materials/Node/Blocks/triPlanarBlock.js.map +1 -1
- package/Materials/Node/nodeMaterialBuildState.d.ts +2 -0
- package/Materials/Node/nodeMaterialBuildState.js +7 -0
- package/Materials/Node/nodeMaterialBuildState.js.map +1 -1
- package/Materials/Textures/Filtering/hdrFiltering.d.ts +1 -0
- package/Materials/Textures/Filtering/hdrFiltering.js +2 -1
- package/Materials/Textures/Filtering/hdrFiltering.js.map +1 -1
- package/Materials/Textures/Loaders/basisTextureLoader.d.ts +1 -0
- package/Materials/Textures/Loaders/basisTextureLoader.js +1 -0
- package/Materials/Textures/Loaders/basisTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/ddsTextureLoader.d.ts +1 -0
- package/Materials/Textures/Loaders/ddsTextureLoader.js +1 -0
- package/Materials/Textures/Loaders/ddsTextureLoader.js.map +1 -1
- package/Materials/Textures/Loaders/ktxTextureLoader.d.ts +1 -0
- package/Materials/Textures/Loaders/ktxTextureLoader.js +1 -0
- package/Materials/Textures/Loaders/ktxTextureLoader.js.map +1 -1
- package/Materials/Textures/baseTexture.d.ts +1 -0
- package/Materials/Textures/baseTexture.js +1 -0
- package/Materials/Textures/baseTexture.js.map +1 -1
- package/Materials/Textures/cubeTexture.d.ts +2 -1
- package/Materials/Textures/cubeTexture.js +3 -2
- package/Materials/Textures/cubeTexture.js.map +1 -1
- package/Materials/Textures/dynamicTexture.d.ts +1 -1
- package/Materials/Textures/dynamicTexture.js.map +1 -1
- package/Materials/Textures/renderTargetTexture.d.ts +11 -0
- package/Materials/Textures/renderTargetTexture.js +10 -0
- package/Materials/Textures/renderTargetTexture.js.map +1 -1
- package/Materials/effect.d.ts +8 -23
- package/Materials/effect.js +2 -25
- package/Materials/effect.js.map +1 -1
- package/Misc/dds.d.ts +2 -22
- package/Misc/dds.js +0 -95
- package/Misc/dds.js.map +1 -1
- package/Misc/minMaxReducer.d.ts +1 -0
- package/Misc/minMaxReducer.js +1 -0
- package/Misc/minMaxReducer.js.map +1 -1
- package/Misc/screenshotTools.d.ts +1 -0
- package/Misc/screenshotTools.js +1 -0
- package/Misc/screenshotTools.js.map +1 -1
- package/Morph/morphTargetManager.d.ts +6 -0
- package/Morph/morphTargetManager.js +13 -0
- package/Morph/morphTargetManager.js.map +1 -1
- package/Physics/v2/IPhysicsEnginePlugin.d.ts +1 -0
- package/Physics/v2/IPhysicsEnginePlugin.js.map +1 -1
- package/Physics/v2/Plugins/havokPlugin.d.ts +11 -1
- package/Physics/v2/Plugins/havokPlugin.js +25 -1
- package/Physics/v2/Plugins/havokPlugin.js.map +1 -1
- package/Physics/v2/physicsAggregate.js +3 -3
- package/Physics/v2/physicsAggregate.js.map +1 -1
- package/Physics/v2/physicsBody.d.ts +6 -0
- package/Physics/v2/physicsBody.js +7 -0
- package/Physics/v2/physicsBody.js.map +1 -1
- package/PostProcesses/postProcess.d.ts +37 -2
- package/PostProcesses/postProcess.js +34 -0
- package/PostProcesses/postProcess.js.map +1 -1
- package/Rendering/depthPeelingRenderer.d.ts +1 -0
- package/Rendering/depthPeelingRenderer.js +1 -0
- package/Rendering/depthPeelingRenderer.js.map +1 -1
- package/Rendering/geometryBufferRenderer.d.ts +1 -0
- package/Rendering/geometryBufferRenderer.js +1 -0
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/prePassRenderer.d.ts +1 -0
- package/Rendering/prePassRenderer.js +1 -0
- package/Rendering/prePassRenderer.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bumpFragment.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/bumpFragment.js +61 -0
- package/ShadersWGSL/ShadersInclude/bumpFragment.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.d.ts +6 -0
- package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.js +40 -0
- package/ShadersWGSL/ShadersInclude/bumpFragmentFunctions.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js +69 -0
- package/ShadersWGSL/ShadersInclude/bumpFragmentMainFunctions.js.map +1 -0
- package/ShadersWGSL/ShadersInclude/samplerFragmentDeclaration.d.ts +5 -0
- package/ShadersWGSL/ShadersInclude/samplerFragmentDeclaration.js +27 -0
- package/ShadersWGSL/ShadersInclude/samplerFragmentDeclaration.js.map +1 -0
- package/package.json +1 -1
- package/Engines/Extensions/engine.views.js.map +0 -1
package/Engines/thinEngine.d.ts
CHANGED
|
@@ -17,9 +17,7 @@ import type { ICanvas, ICanvasRenderingContext } from "./ICanvas";
|
|
|
17
17
|
import type { IStencilState } from "../States/IStencilState";
|
|
18
18
|
import type { InternalTextureCreationOptions, TextureSize } from "../Materials/Textures/textureCreationOptions";
|
|
19
19
|
import type { RenderTargetWrapper } from "./renderTargetWrapper";
|
|
20
|
-
import type { RenderTargetTexture } from "../Materials/Textures/renderTargetTexture";
|
|
21
20
|
import type { AbstractEngineOptions, ISceneLike } from "./abstractEngine";
|
|
22
|
-
import type { PostProcess } from "../PostProcesses/postProcess";
|
|
23
21
|
import type { PerformanceMonitor } from "../Misc/performanceMonitor";
|
|
24
22
|
import { AbstractEngine } from "./abstractEngine";
|
|
25
23
|
import { ShaderLanguage } from "../Materials/shaderLanguage";
|
|
@@ -806,9 +804,6 @@ export declare class ThinEngine extends AbstractEngine {
|
|
|
806
804
|
* @param bruteForce defines a boolean to force clearing ALL caches (including stencil, detoh and alpha states)
|
|
807
805
|
*/
|
|
808
806
|
wipeCaches(bruteForce?: boolean): void;
|
|
809
|
-
setTextureFromPostProcess(channel: number, postProcess: Nullable<PostProcess>, name: string): void;
|
|
810
|
-
setTextureFromPostProcessOutput(channel: number, postProcess: Nullable<PostProcess>, name: string): void;
|
|
811
|
-
setDepthStencilTexture(channel: number, uniform: Nullable<WebGLUniformLocation>, texture: Nullable<RenderTargetTexture>, name?: string): void;
|
|
812
807
|
/**
|
|
813
808
|
* @internal
|
|
814
809
|
*/
|
|
@@ -886,7 +881,8 @@ export declare class ThinEngine extends AbstractEngine {
|
|
|
886
881
|
_unpackFlipY(value: boolean): void;
|
|
887
882
|
/** @internal */
|
|
888
883
|
_getUnpackAlignement(): number;
|
|
889
|
-
|
|
884
|
+
/** @internal */
|
|
885
|
+
_getTextureTarget(texture: InternalTexture): number;
|
|
890
886
|
/**
|
|
891
887
|
* Update the sampling mode of a given texture
|
|
892
888
|
* @param samplingMode defines the required sampling mode
|
|
@@ -910,10 +906,6 @@ export declare class ThinEngine extends AbstractEngine {
|
|
|
910
906
|
* @param wrapR defines the texture wrap mode of the r coordinates
|
|
911
907
|
*/
|
|
912
908
|
updateTextureWrappingMode(texture: InternalTexture, wrapU: Nullable<number>, wrapV?: Nullable<number>, wrapR?: Nullable<number>): void;
|
|
913
|
-
/**
|
|
914
|
-
* @internal
|
|
915
|
-
*/
|
|
916
|
-
_setupDepthStencilTexture(internalTexture: InternalTexture, size: TextureSize, generateStencil: boolean, bilinearFiltering: boolean, comparisonFunction: number, samples?: number): void;
|
|
917
909
|
/**
|
|
918
910
|
* @internal
|
|
919
911
|
*/
|
|
@@ -956,7 +948,10 @@ export declare class ThinEngine extends AbstractEngine {
|
|
|
956
948
|
_releaseTexture(texture: InternalTexture): void;
|
|
957
949
|
protected _deleteTexture(texture: Nullable<WebGLTexture>): void;
|
|
958
950
|
protected _setProgram(program: WebGLProgram): void;
|
|
959
|
-
|
|
951
|
+
/**
|
|
952
|
+
* @internal
|
|
953
|
+
*/
|
|
954
|
+
_boundUniforms: {
|
|
960
955
|
[key: number]: WebGLUniformLocation;
|
|
961
956
|
};
|
|
962
957
|
/**
|
|
@@ -987,7 +982,7 @@ export declare class ThinEngine extends AbstractEngine {
|
|
|
987
982
|
setTexture(channel: number, uniform: Nullable<WebGLUniformLocation>, texture: Nullable<ThinTexture>, name: string): void;
|
|
988
983
|
private _bindSamplerUniformToChannel;
|
|
989
984
|
private _getTextureWrapMode;
|
|
990
|
-
|
|
985
|
+
_setTexture(channel: number, texture: Nullable<ThinTexture>, isPartOfTextureArray?: boolean, depthStencilTexture?: boolean, name?: string): boolean;
|
|
991
986
|
/**
|
|
992
987
|
* Sets an array of texture to the webGL context
|
|
993
988
|
* @param channel defines the channel where the texture array must be set
|
|
@@ -1056,12 +1051,6 @@ export declare class ThinEngine extends AbstractEngine {
|
|
|
1056
1051
|
* @returns a ArrayBufferView promise (Uint8Array) containing RGBA colors
|
|
1057
1052
|
*/
|
|
1058
1053
|
readPixels(x: number, y: number, width: number, height: number, hasAlpha?: boolean, flushRenderer?: boolean): Promise<ArrayBufferView>;
|
|
1059
|
-
/**
|
|
1060
|
-
* Force the mipmap generation for the given render target texture
|
|
1061
|
-
* @param texture defines the render target texture to use
|
|
1062
|
-
* @param unbind defines whether or not to unbind the texture after generation. Defaults to true.
|
|
1063
|
-
*/
|
|
1064
|
-
generateMipMapsForCubemap(texture: InternalTexture, unbind: boolean): void;
|
|
1065
1054
|
private static _IsSupported;
|
|
1066
1055
|
private static _HasMajorPerformanceCaveat;
|
|
1067
1056
|
/**
|
package/Engines/thinEngine.js
CHANGED
|
@@ -12,7 +12,6 @@ import { WebGLHardwareTexture } from "./WebGL/webGLHardwareTexture.js";
|
|
|
12
12
|
import { ShaderLanguage } from "../Materials/shaderLanguage.js";
|
|
13
13
|
import { InternalTexture, InternalTextureSource } from "../Materials/Textures/internalTexture.js";
|
|
14
14
|
import { Effect } from "../Materials/effect.js";
|
|
15
|
-
import { _WarnImport } from "../Misc/devTools.js";
|
|
16
15
|
import { _ConcatenateShader, _getGlobalDefines } from "./abstractEngine.functions.js";
|
|
17
16
|
import { resetCachedPipeline } from "../Materials/effect.functions.js";
|
|
18
17
|
/**
|
|
@@ -125,6 +124,9 @@ export class ThinEngine extends AbstractEngine {
|
|
|
125
124
|
* value would be set.
|
|
126
125
|
*/
|
|
127
126
|
this.enableUnpackFlipYCached = true;
|
|
127
|
+
/**
|
|
128
|
+
* @internal
|
|
129
|
+
*/
|
|
128
130
|
this._boundUniforms = {};
|
|
129
131
|
if (!canvasOrContext) {
|
|
130
132
|
return;
|
|
@@ -2145,15 +2147,6 @@ export class ThinEngine extends AbstractEngine {
|
|
|
2145
2147
|
this._cachedEffectForVertexBuffers = null;
|
|
2146
2148
|
this.bindIndexBuffer(null);
|
|
2147
2149
|
}
|
|
2148
|
-
setTextureFromPostProcess(channel, postProcess, name) {
|
|
2149
|
-
// Does nothing
|
|
2150
|
-
}
|
|
2151
|
-
setTextureFromPostProcessOutput(channel, postProcess, name) {
|
|
2152
|
-
// Does nothing
|
|
2153
|
-
}
|
|
2154
|
-
setDepthStencilTexture(channel, uniform, texture, name) {
|
|
2155
|
-
// Does nothing
|
|
2156
|
-
}
|
|
2157
2150
|
/**
|
|
2158
2151
|
* @internal
|
|
2159
2152
|
*/
|
|
@@ -2463,94 +2456,6 @@ export class ThinEngine extends AbstractEngine {
|
|
|
2463
2456
|
* @internal
|
|
2464
2457
|
*/
|
|
2465
2458
|
_rescaleTexture(source, destination, scene, internalFormat, onComplete) { }
|
|
2466
|
-
// eslint-disable-next-line jsdoc/require-returns-check
|
|
2467
|
-
/**
|
|
2468
|
-
* Creates a raw texture
|
|
2469
|
-
* @param data defines the data to store in the texture
|
|
2470
|
-
* @param width defines the width of the texture
|
|
2471
|
-
* @param height defines the height of the texture
|
|
2472
|
-
* @param format defines the format of the data
|
|
2473
|
-
* @param generateMipMaps defines if the engine should generate the mip levels
|
|
2474
|
-
* @param invertY defines if data must be stored with Y axis inverted
|
|
2475
|
-
* @param samplingMode defines the required sampling mode (Texture.NEAREST_SAMPLINGMODE by default)
|
|
2476
|
-
* @param compression defines the compression used (null by default)
|
|
2477
|
-
* @param type defines the type fo the data (Engine.TEXTURETYPE_UNSIGNED_INT by default)
|
|
2478
|
-
* @param creationFlags specific flags to use when creating the texture (1 for storage textures, for eg)
|
|
2479
|
-
* @param useSRGBBuffer defines if the texture must be loaded in a sRGB GPU buffer (if supported by the GPU).
|
|
2480
|
-
* @returns the raw texture inside an InternalTexture
|
|
2481
|
-
*/
|
|
2482
|
-
createRawTexture(data, width, height, format, generateMipMaps, invertY, samplingMode, compression = null, type = 0, creationFlags = 0, useSRGBBuffer = false) {
|
|
2483
|
-
throw _WarnImport("Engine.RawTexture");
|
|
2484
|
-
}
|
|
2485
|
-
// eslint-disable-next-line jsdoc/require-returns-check
|
|
2486
|
-
/**
|
|
2487
|
-
* Creates a new raw cube texture
|
|
2488
|
-
* @param data defines the array of data to use to create each face
|
|
2489
|
-
* @param size defines the size of the textures
|
|
2490
|
-
* @param format defines the format of the data
|
|
2491
|
-
* @param type defines the type of the data (like Engine.TEXTURETYPE_UNSIGNED_INT)
|
|
2492
|
-
* @param generateMipMaps defines if the engine should generate the mip levels
|
|
2493
|
-
* @param invertY defines if data must be stored with Y axis inverted
|
|
2494
|
-
* @param samplingMode defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)
|
|
2495
|
-
* @param compression defines the compression used (null by default)
|
|
2496
|
-
* @returns the cube texture as an InternalTexture
|
|
2497
|
-
*/
|
|
2498
|
-
createRawCubeTexture(data, size, format, type, generateMipMaps, invertY, samplingMode, compression = null) {
|
|
2499
|
-
throw _WarnImport("Engine.RawTexture");
|
|
2500
|
-
}
|
|
2501
|
-
// eslint-disable-next-line jsdoc/require-returns-check
|
|
2502
|
-
/**
|
|
2503
|
-
* Creates a new raw 3D texture
|
|
2504
|
-
* @param data defines the data used to create the texture
|
|
2505
|
-
* @param width defines the width of the texture
|
|
2506
|
-
* @param height defines the height of the texture
|
|
2507
|
-
* @param depth defines the depth of the texture
|
|
2508
|
-
* @param format defines the format of the texture
|
|
2509
|
-
* @param generateMipMaps defines if the engine must generate mip levels
|
|
2510
|
-
* @param invertY defines if data must be stored with Y axis inverted
|
|
2511
|
-
* @param samplingMode defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)
|
|
2512
|
-
* @param compression defines the compressed used (can be null)
|
|
2513
|
-
* @param textureType defines the compressed used (can be null)
|
|
2514
|
-
* @returns a new raw 3D texture (stored in an InternalTexture)
|
|
2515
|
-
*/
|
|
2516
|
-
createRawTexture3D(data, width, height, depth, format, generateMipMaps, invertY, samplingMode, compression = null, textureType = 0) {
|
|
2517
|
-
throw _WarnImport("Engine.RawTexture");
|
|
2518
|
-
}
|
|
2519
|
-
// eslint-disable-next-line jsdoc/require-returns-check
|
|
2520
|
-
/**
|
|
2521
|
-
* Creates a new raw 2D array texture
|
|
2522
|
-
* @param data defines the data used to create the texture
|
|
2523
|
-
* @param width defines the width of the texture
|
|
2524
|
-
* @param height defines the height of the texture
|
|
2525
|
-
* @param depth defines the number of layers of the texture
|
|
2526
|
-
* @param format defines the format of the texture
|
|
2527
|
-
* @param generateMipMaps defines if the engine must generate mip levels
|
|
2528
|
-
* @param invertY defines if data must be stored with Y axis inverted
|
|
2529
|
-
* @param samplingMode defines the required sampling mode (like Texture.NEAREST_SAMPLINGMODE)
|
|
2530
|
-
* @param compression defines the compressed used (can be null)
|
|
2531
|
-
* @param textureType defines the compressed used (can be null)
|
|
2532
|
-
* @returns a new raw 2D array texture (stored in an InternalTexture)
|
|
2533
|
-
*/
|
|
2534
|
-
createRawTexture2DArray(data, width, height, depth, format, generateMipMaps, invertY, samplingMode, compression = null, textureType = 0) {
|
|
2535
|
-
throw _WarnImport("Engine.RawTexture");
|
|
2536
|
-
}
|
|
2537
|
-
// eslint-disable-next-line jsdoc/require-returns-check
|
|
2538
|
-
/**
|
|
2539
|
-
* Create a cube texture from prefiltered data (ie. the mipmaps contain ready to use data for PBR reflection)
|
|
2540
|
-
* @param rootUrl defines the url where the file to load is located
|
|
2541
|
-
* @param scene defines the current scene
|
|
2542
|
-
* @param lodScale defines scale to apply to the mip map selection
|
|
2543
|
-
* @param lodOffset defines offset to apply to the mip map selection
|
|
2544
|
-
* @param onLoad defines an optional callback raised when the texture is loaded
|
|
2545
|
-
* @param onError defines an optional callback raised if there is an issue to load the texture
|
|
2546
|
-
* @param format defines the format of the data
|
|
2547
|
-
* @param forcedExtension defines the extension to use to pick the right loader
|
|
2548
|
-
* @param createPolynomials defines wheter or not to create polynomails harmonics for the texture
|
|
2549
|
-
* @returns the cube texture as an InternalTexture
|
|
2550
|
-
*/
|
|
2551
|
-
createPrefilteredCubeTexture(rootUrl, scene, lodScale, lodOffset, onLoad, onError, format, forcedExtension, createPolynomials) {
|
|
2552
|
-
throw _WarnImport("Misc/dds");
|
|
2553
|
-
}
|
|
2554
2459
|
/**
|
|
2555
2460
|
* @internal
|
|
2556
2461
|
*/
|
|
@@ -2566,6 +2471,7 @@ export class ThinEngine extends AbstractEngine {
|
|
|
2566
2471
|
_getUnpackAlignement() {
|
|
2567
2472
|
return this._gl.getParameter(this._gl.UNPACK_ALIGNMENT);
|
|
2568
2473
|
}
|
|
2474
|
+
/** @internal */
|
|
2569
2475
|
_getTextureTarget(texture) {
|
|
2570
2476
|
if (texture.isCube) {
|
|
2571
2477
|
return this._gl.TEXTURE_CUBE_MAP;
|
|
@@ -2627,45 +2533,6 @@ export class ThinEngine extends AbstractEngine {
|
|
|
2627
2533
|
}
|
|
2628
2534
|
this._bindTextureDirectly(target, null);
|
|
2629
2535
|
}
|
|
2630
|
-
/**
|
|
2631
|
-
* @internal
|
|
2632
|
-
*/
|
|
2633
|
-
_setupDepthStencilTexture(internalTexture, size, generateStencil, bilinearFiltering, comparisonFunction, samples = 1) {
|
|
2634
|
-
const width = size.width || size;
|
|
2635
|
-
const height = size.height || size;
|
|
2636
|
-
const layers = size.layers || 0;
|
|
2637
|
-
const depth = size.depth || 0;
|
|
2638
|
-
internalTexture.baseWidth = width;
|
|
2639
|
-
internalTexture.baseHeight = height;
|
|
2640
|
-
internalTexture.width = width;
|
|
2641
|
-
internalTexture.height = height;
|
|
2642
|
-
internalTexture.is2DArray = layers > 0;
|
|
2643
|
-
internalTexture.depth = layers || depth;
|
|
2644
|
-
internalTexture.isReady = true;
|
|
2645
|
-
internalTexture.samples = samples;
|
|
2646
|
-
internalTexture.generateMipMaps = false;
|
|
2647
|
-
internalTexture.samplingMode = bilinearFiltering ? 2 : 1;
|
|
2648
|
-
internalTexture.type = 0;
|
|
2649
|
-
internalTexture._comparisonFunction = comparisonFunction;
|
|
2650
|
-
const gl = this._gl;
|
|
2651
|
-
const target = this._getTextureTarget(internalTexture);
|
|
2652
|
-
const samplingParameters = this._getSamplingParameters(internalTexture.samplingMode, false);
|
|
2653
|
-
gl.texParameteri(target, gl.TEXTURE_MAG_FILTER, samplingParameters.mag);
|
|
2654
|
-
gl.texParameteri(target, gl.TEXTURE_MIN_FILTER, samplingParameters.min);
|
|
2655
|
-
gl.texParameteri(target, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
|
|
2656
|
-
gl.texParameteri(target, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
|
|
2657
|
-
// TEXTURE_COMPARE_FUNC/MODE are only availble in WebGL2.
|
|
2658
|
-
if (this.webGLVersion > 1) {
|
|
2659
|
-
if (comparisonFunction === 0) {
|
|
2660
|
-
gl.texParameteri(target, gl.TEXTURE_COMPARE_FUNC, 515);
|
|
2661
|
-
gl.texParameteri(target, gl.TEXTURE_COMPARE_MODE, gl.NONE);
|
|
2662
|
-
}
|
|
2663
|
-
else {
|
|
2664
|
-
gl.texParameteri(target, gl.TEXTURE_COMPARE_FUNC, comparisonFunction);
|
|
2665
|
-
gl.texParameteri(target, gl.TEXTURE_COMPARE_MODE, gl.COMPARE_REF_TO_TEXTURE);
|
|
2666
|
-
}
|
|
2667
|
-
}
|
|
2668
|
-
}
|
|
2669
2536
|
/**
|
|
2670
2537
|
* @internal
|
|
2671
2538
|
*/
|
|
@@ -3619,15 +3486,6 @@ export class ThinEngine extends AbstractEngine {
|
|
|
3619
3486
|
this._gl.readPixels(x, y, width, height, format, this._gl.UNSIGNED_BYTE, data);
|
|
3620
3487
|
return Promise.resolve(data);
|
|
3621
3488
|
}
|
|
3622
|
-
/**
|
|
3623
|
-
* Force the mipmap generation for the given render target texture
|
|
3624
|
-
* @param texture defines the render target texture to use
|
|
3625
|
-
* @param unbind defines whether or not to unbind the texture after generation. Defaults to true.
|
|
3626
|
-
*/
|
|
3627
|
-
generateMipMapsForCubemap(texture, unbind) {
|
|
3628
|
-
// Does nothing
|
|
3629
|
-
// Child classes should implement this function
|
|
3630
|
-
}
|
|
3631
3489
|
/**
|
|
3632
3490
|
* Gets a Promise<boolean> indicating if the engine can be instantiated (ie. if a webGL context can be found)
|
|
3633
3491
|
*/
|