@babylonjs/core 5.15.0 → 5.17.0
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/Animations/animatable.js +1 -1
- package/Animations/animatable.js.map +1 -1
- package/Animations/animation.d.ts +8 -1
- package/Animations/animation.js +8 -1
- package/Animations/animation.js.map +1 -1
- package/Animations/animationGroup.js +5 -4
- package/Animations/animationGroup.js.map +1 -1
- package/Audio/sound.js +2 -2
- package/Audio/sound.js.map +1 -1
- package/Bones/skeleton.js +1 -1
- package/Bones/skeleton.js.map +1 -1
- package/Cameras/Inputs/BaseCameraMouseWheelInput.d.ts +1 -1
- package/Cameras/Inputs/BaseCameraMouseWheelInput.js +8 -2
- package/Cameras/Inputs/BaseCameraMouseWheelInput.js.map +1 -1
- package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js +2 -2
- package/Cameras/Inputs/arcRotateCameraKeyboardMoveInput.js.map +1 -1
- package/Cameras/Inputs/arcRotateCameraMouseWheelInput.d.ts +0 -1
- package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js +7 -2
- package/Cameras/Inputs/arcRotateCameraMouseWheelInput.js.map +1 -1
- package/Cameras/Inputs/flyCameraKeyboardInput.js +3 -3
- package/Cameras/Inputs/flyCameraKeyboardInput.js.map +1 -1
- package/Cameras/Inputs/followCameraKeyboardMoveInput.js +2 -2
- package/Cameras/Inputs/followCameraKeyboardMoveInput.js.map +1 -1
- package/Cameras/Inputs/followCameraMouseWheelInput.d.ts +0 -1
- package/Cameras/Inputs/followCameraMouseWheelInput.js +7 -2
- package/Cameras/Inputs/followCameraMouseWheelInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.js +3 -3
- package/Cameras/Inputs/freeCameraKeyboardMoveInput.js.map +1 -1
- package/Cameras/Inputs/freeCameraTouchInput.js +1 -1
- package/Cameras/Inputs/freeCameraTouchInput.js.map +1 -1
- package/Cameras/VR/vrExperienceHelper.js +1 -1
- package/Cameras/VR/vrExperienceHelper.js.map +1 -1
- package/Cameras/VR/webVRCamera.js +1 -1
- package/Cameras/VR/webVRCamera.js.map +1 -1
- package/Cameras/arcRotateCamera.js +3 -2
- package/Cameras/arcRotateCamera.js.map +1 -1
- package/Cameras/camera.js +18 -3
- package/Cameras/camera.js.map +1 -1
- package/DeviceInput/InputDevices/webDeviceInputSystem.js +1 -1
- package/DeviceInput/InputDevices/webDeviceInputSystem.js.map +1 -1
- package/Engines/Extensions/engine.cubeTexture.js +3 -3
- package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
- package/Engines/Extensions/engine.rawTexture.js +3 -3
- package/Engines/Extensions/engine.rawTexture.js.map +1 -1
- package/Engines/Native/nativeInterfaces.d.ts +1 -0
- package/Engines/Native/nativeInterfaces.js.map +1 -1
- package/Engines/Processors/shaderCodeCursor.js +2 -1
- package/Engines/Processors/shaderCodeCursor.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.rawTexture.js +3 -3
- package/Engines/WebGPU/Extensions/engine.rawTexture.js.map +1 -1
- package/Engines/WebGPU/webgpuOcclusionQuery.js +1 -1
- package/Engines/WebGPU/webgpuOcclusionQuery.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js +6 -6
- package/Engines/WebGPU/webgpuShaderProcessorsGLSL.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +4 -4
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
- package/Engines/engine.d.ts +0 -10
- package/Engines/engine.js +0 -14
- package/Engines/engine.js.map +1 -1
- package/Engines/nativeEngine.d.ts +7 -2
- package/Engines/nativeEngine.js +30 -10
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/thinEngine.d.ts +22 -2
- package/Engines/thinEngine.js +49 -9
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.js +1 -1
- package/Engines/webgpuEngine.js.map +1 -1
- package/Gizmos/boundingBoxGizmo.d.ts +4 -0
- package/Gizmos/boundingBoxGizmo.js +6 -0
- package/Gizmos/boundingBoxGizmo.js.map +1 -1
- package/Inputs/scene.inputManager.js +5 -4
- package/Inputs/scene.inputManager.js.map +1 -1
- package/Loading/sceneLoader.js +12 -12
- package/Loading/sceneLoader.js.map +1 -1
- package/Materials/Node/Blocks/Fragment/TBNBlock.d.ts +12 -0
- package/Materials/Node/Blocks/Fragment/TBNBlock.js +50 -0
- package/Materials/Node/Blocks/Fragment/TBNBlock.js.map +1 -1
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js +2 -1
- package/Materials/Node/Blocks/PBR/pbrMetallicRoughnessBlock.js.map +1 -1
- package/Materials/Node/Blocks/gradientBlock.js +1 -1
- package/Materials/Node/Blocks/gradientBlock.js.map +1 -1
- package/Materials/Node/nodeMaterial.d.ts +10 -1
- package/Materials/Node/nodeMaterial.js +43 -26
- package/Materials/Node/nodeMaterial.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.js +4 -4
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/Textures/baseTexture.d.ts +1 -1
- package/Materials/Textures/baseTexture.js +2 -2
- package/Materials/Textures/baseTexture.js.map +1 -1
- package/Materials/Textures/prePassRenderTarget.js +1 -1
- package/Materials/Textures/prePassRenderTarget.js.map +1 -1
- package/Materials/Textures/renderTargetTexture.js +11 -3
- package/Materials/Textures/renderTargetTexture.js.map +1 -1
- package/Materials/Textures/videoTexture.js +4 -1
- package/Materials/Textures/videoTexture.js.map +1 -1
- package/Materials/imageProcessingConfiguration.js.map +1 -1
- package/Materials/materialDefines.js +3 -1
- package/Materials/materialDefines.js.map +1 -1
- package/Materials/materialHelper.d.ts +1 -1
- package/Materials/materialHelper.js +6 -6
- package/Materials/materialHelper.js.map +1 -1
- package/Materials/shaderMaterial.d.ts +10 -1
- package/Materials/shaderMaterial.js +10 -1
- package/Materials/shaderMaterial.js.map +1 -1
- package/Maths/math.color.d.ts +9 -1
- package/Maths/math.color.js +13 -1
- package/Maths/math.color.js.map +1 -1
- package/Meshes/Builders/icoSphereBuilder.js +2 -2
- package/Meshes/Builders/icoSphereBuilder.js.map +1 -1
- package/Meshes/abstractMesh.js +1 -1
- package/Meshes/abstractMesh.js.map +1 -1
- package/Meshes/geometry.js +3 -4
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/mesh.d.ts +1 -1
- package/Meshes/mesh.js +8 -7
- package/Meshes/mesh.js.map +1 -1
- package/Meshes/thinInstanceMesh.js +5 -0
- package/Meshes/thinInstanceMesh.js.map +1 -1
- package/Meshes/transformNode.d.ts +2 -2
- package/Meshes/transformNode.js +1 -1
- package/Meshes/transformNode.js.map +1 -1
- package/Misc/smartArray.js +0 -1
- package/Misc/smartArray.js.map +1 -1
- package/Particles/computeShaderParticleSystem.js +2 -2
- package/Particles/computeShaderParticleSystem.js.map +1 -1
- package/Particles/particleHelper.d.ts +12 -1
- package/Particles/particleHelper.js +16 -5
- package/Particles/particleHelper.js.map +1 -1
- package/Particles/particleSystem.js +2 -2
- package/Particles/particleSystem.js.map +1 -1
- package/Particles/particleSystemSet.js +1 -1
- package/Particles/particleSystemSet.js.map +1 -1
- package/Particles/solidParticleSystem.d.ts +3 -0
- package/Particles/solidParticleSystem.js +3 -0
- package/Particles/solidParticleSystem.js.map +1 -1
- package/Particles/webgl2ParticleSystem.js +2 -2
- package/Particles/webgl2ParticleSystem.js.map +1 -1
- package/Physics/Plugins/cannonJSPlugin.js +1 -1
- package/Physics/Plugins/cannonJSPlugin.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js +3 -3
- package/PostProcesses/RenderPipeline/Pipelines/standardRenderingPipeline.js.map +1 -1
- package/Rendering/geometryBufferRenderer.js +3 -2
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/utilityLayerRenderer.js +1 -1
- package/Rendering/utilityLayerRenderer.js.map +1 -1
- package/Shaders/ShadersInclude/helperFunctions.js +1 -1
- package/Shaders/ShadersInclude/helperFunctions.js.map +1 -1
- package/Shaders/geometry.fragment.js +1 -1
- package/Shaders/geometry.fragment.js.map +1 -1
- package/Sprites/spriteManager.d.ts +10 -1
- package/Sprites/spriteManager.js +10 -1
- package/Sprites/spriteManager.js.map +1 -1
- package/XR/features/WebXRLayers.js +1 -1
- package/XR/features/WebXRLayers.js.map +1 -1
- package/assetContainer.d.ts +1 -1
- package/assetContainer.js +23 -23
- package/assetContainer.js.map +1 -1
- package/node.js +1 -1
- package/node.js.map +1 -1
- package/package.json +1 -1
- package/scene.d.ts +8 -6
- package/scene.js +23 -14
- package/scene.js.map +1 -1
package/Engines/thinEngine.d.ts
CHANGED
|
@@ -42,8 +42,8 @@ declare type RenderTargetWrapper = import("./renderTargetWrapper").RenderTargetW
|
|
|
42
42
|
* @hidden
|
|
43
43
|
*/
|
|
44
44
|
export interface ISceneLike {
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
addPendingData(data: any): void;
|
|
46
|
+
removePendingData(data: any): void;
|
|
47
47
|
offlineProvider: IOfflineProvider;
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
@@ -126,6 +126,11 @@ export interface EngineOptions extends WebGLContextAttributes {
|
|
|
126
126
|
* This will not influence NativeEngine and WebGPUEngine which set the behavior to true during construction.
|
|
127
127
|
*/
|
|
128
128
|
forceSRGBBufferSupportState?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* True if the more expensive but exact conversions should be used for transforming colors to and from linear space within shaders.
|
|
131
|
+
* Otherwise, the default is to use a cheaper approximation.
|
|
132
|
+
*/
|
|
133
|
+
useExactSrgbConversions?: boolean;
|
|
129
134
|
}
|
|
130
135
|
/**
|
|
131
136
|
* The base engine class (root of all engines)
|
|
@@ -463,6 +468,11 @@ export declare class ThinEngine {
|
|
|
463
468
|
*/
|
|
464
469
|
get snapshotRenderingMode(): number;
|
|
465
470
|
set snapshotRenderingMode(mode: number);
|
|
471
|
+
protected _useExactSrgbConversions: boolean;
|
|
472
|
+
/**
|
|
473
|
+
* Gets a boolean indicating if the exact sRGB conversions or faster approximations are used for converting to and from linear space.
|
|
474
|
+
*/
|
|
475
|
+
get useExactSrgbConversions(): boolean;
|
|
466
476
|
/**
|
|
467
477
|
* Creates a new snapshot at the next frame using the current snapshotRenderingMode
|
|
468
478
|
*/
|
|
@@ -698,6 +708,16 @@ export declare class ThinEngine {
|
|
|
698
708
|
* @param zOffsetUnits defines the value to apply to zOffsetUnits (0 by default)
|
|
699
709
|
*/
|
|
700
710
|
setState(culling: boolean, zOffset?: number, force?: boolean, reverseSide?: boolean, cullBackFaces?: boolean, stencil?: IStencilState, zOffsetUnits?: number): void;
|
|
711
|
+
/**
|
|
712
|
+
* Gets a boolean indicating if depth testing is enabled
|
|
713
|
+
* @returns the current state
|
|
714
|
+
*/
|
|
715
|
+
getDepthBuffer(): boolean;
|
|
716
|
+
/**
|
|
717
|
+
* Enable or disable depth buffering
|
|
718
|
+
* @param enable defines the state to set
|
|
719
|
+
*/
|
|
720
|
+
setDepthBuffer(enable: boolean): void;
|
|
701
721
|
/**
|
|
702
722
|
* Set the z offset Factor to apply to current rendering
|
|
703
723
|
* @param value defines the offset to apply
|
package/Engines/thinEngine.js
CHANGED
|
@@ -183,6 +183,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
183
183
|
/** @hidden */
|
|
184
184
|
this._isWebGPU = false;
|
|
185
185
|
this._snapshotRenderingMode = 0;
|
|
186
|
+
this._useExactSrgbConversions = false;
|
|
186
187
|
this._viewportCached = { x: 0, y: 0, z: 0, w: 0 };
|
|
187
188
|
this._unpackFlipYCached = null;
|
|
188
189
|
/**
|
|
@@ -239,6 +240,9 @@ var ThinEngine = /** @class */ (function () {
|
|
|
239
240
|
if (options.xrCompatible === undefined) {
|
|
240
241
|
options.xrCompatible = true;
|
|
241
242
|
}
|
|
243
|
+
if (options.useExactSrgbConversions !== undefined) {
|
|
244
|
+
this._useExactSrgbConversions = options.useExactSrgbConversions;
|
|
245
|
+
}
|
|
242
246
|
this._doNotHandleContextLost = options.doNotHandleContextLost ? true : false;
|
|
243
247
|
// Exceptions
|
|
244
248
|
if (navigator && navigator.userAgent) {
|
|
@@ -405,7 +409,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
405
409
|
*/
|
|
406
410
|
// Not mixed with Version for tooling purpose.
|
|
407
411
|
get: function () {
|
|
408
|
-
return "babylonjs@5.
|
|
412
|
+
return "babylonjs@5.17.0";
|
|
409
413
|
},
|
|
410
414
|
enumerable: false,
|
|
411
415
|
configurable: true
|
|
@@ -415,7 +419,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
415
419
|
* Returns the current version of the framework
|
|
416
420
|
*/
|
|
417
421
|
get: function () {
|
|
418
|
-
return "5.
|
|
422
|
+
return "5.17.0";
|
|
419
423
|
},
|
|
420
424
|
enumerable: false,
|
|
421
425
|
configurable: true
|
|
@@ -702,6 +706,16 @@ var ThinEngine = /** @class */ (function () {
|
|
|
702
706
|
enumerable: false,
|
|
703
707
|
configurable: true
|
|
704
708
|
});
|
|
709
|
+
Object.defineProperty(ThinEngine.prototype, "useExactSrgbConversions", {
|
|
710
|
+
/**
|
|
711
|
+
* Gets a boolean indicating if the exact sRGB conversions or faster approximations are used for converting to and from linear space.
|
|
712
|
+
*/
|
|
713
|
+
get: function () {
|
|
714
|
+
return this._useExactSrgbConversions;
|
|
715
|
+
},
|
|
716
|
+
enumerable: false,
|
|
717
|
+
configurable: true
|
|
718
|
+
});
|
|
705
719
|
/**
|
|
706
720
|
* Creates a new snapshot at the next frame using the current snapshotRenderingMode
|
|
707
721
|
*/
|
|
@@ -1537,6 +1551,20 @@ var ThinEngine = /** @class */ (function () {
|
|
|
1537
1551
|
}
|
|
1538
1552
|
this._stencilStateComposer.stencilMaterial = stencil;
|
|
1539
1553
|
};
|
|
1554
|
+
/**
|
|
1555
|
+
* Gets a boolean indicating if depth testing is enabled
|
|
1556
|
+
* @returns the current state
|
|
1557
|
+
*/
|
|
1558
|
+
ThinEngine.prototype.getDepthBuffer = function () {
|
|
1559
|
+
return this._depthCullingState.depthTest;
|
|
1560
|
+
};
|
|
1561
|
+
/**
|
|
1562
|
+
* Enable or disable depth buffering
|
|
1563
|
+
* @param enable defines the state to set
|
|
1564
|
+
*/
|
|
1565
|
+
ThinEngine.prototype.setDepthBuffer = function (enable) {
|
|
1566
|
+
this._depthCullingState.depthTest = enable;
|
|
1567
|
+
};
|
|
1540
1568
|
/**
|
|
1541
1569
|
* Set the z offset Factor to apply to current rendering
|
|
1542
1570
|
* @param value defines the offset to apply
|
|
@@ -2240,6 +2268,12 @@ var ThinEngine = /** @class */ (function () {
|
|
|
2240
2268
|
else {
|
|
2241
2269
|
delete defines["USE_REVERSE_DEPTHBUFFER"];
|
|
2242
2270
|
}
|
|
2271
|
+
if (this.useExactSrgbConversions) {
|
|
2272
|
+
defines["USE_EXACT_SRGB_CONVERSIONS"] = "";
|
|
2273
|
+
}
|
|
2274
|
+
else {
|
|
2275
|
+
delete defines["USE_EXACT_SRGB_CONVERSIONS"];
|
|
2276
|
+
}
|
|
2243
2277
|
return;
|
|
2244
2278
|
}
|
|
2245
2279
|
else {
|
|
@@ -2253,6 +2287,12 @@ var ThinEngine = /** @class */ (function () {
|
|
|
2253
2287
|
}
|
|
2254
2288
|
s += "#define USE_REVERSE_DEPTHBUFFER";
|
|
2255
2289
|
}
|
|
2290
|
+
if (this.useExactSrgbConversions) {
|
|
2291
|
+
if (s) {
|
|
2292
|
+
s += "\n";
|
|
2293
|
+
}
|
|
2294
|
+
s += "#define USE_EXACT_SRGB_CONVERSIONS";
|
|
2295
|
+
}
|
|
2256
2296
|
return s;
|
|
2257
2297
|
}
|
|
2258
2298
|
};
|
|
@@ -2910,7 +2950,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
2910
2950
|
* This can help preventing texture load conflict due to name collision.
|
|
2911
2951
|
*/
|
|
2912
2952
|
ThinEngine.prototype.clearInternalTexturesCache = function () {
|
|
2913
|
-
this._internalTexturesCache =
|
|
2953
|
+
this._internalTexturesCache.length = 0;
|
|
2914
2954
|
};
|
|
2915
2955
|
/**
|
|
2916
2956
|
* Force the entire cache to be cleared
|
|
@@ -3196,7 +3236,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
3196
3236
|
}
|
|
3197
3237
|
}
|
|
3198
3238
|
if (scene) {
|
|
3199
|
-
scene.
|
|
3239
|
+
scene.addPendingData(texture);
|
|
3200
3240
|
}
|
|
3201
3241
|
texture.url = url;
|
|
3202
3242
|
texture.generateMipMaps = !noMipmap;
|
|
@@ -3216,7 +3256,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
3216
3256
|
}
|
|
3217
3257
|
var onInternalError = function (message, exception) {
|
|
3218
3258
|
if (scene) {
|
|
3219
|
-
scene.
|
|
3259
|
+
scene.removePendingData(texture);
|
|
3220
3260
|
}
|
|
3221
3261
|
if (url === originalUrl) {
|
|
3222
3262
|
if (onLoadObserver) {
|
|
@@ -3773,7 +3813,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
3773
3813
|
this._bindTextureDirectly(gl.TEXTURE_2D, null);
|
|
3774
3814
|
// this.resetTextureCache();
|
|
3775
3815
|
if (scene) {
|
|
3776
|
-
scene.
|
|
3816
|
+
scene.removePendingData(texture);
|
|
3777
3817
|
}
|
|
3778
3818
|
texture.onLoadedObservable.notifyObservers(texture);
|
|
3779
3819
|
texture.onLoadedObservable.clear();
|
|
@@ -3791,7 +3831,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
3791
3831
|
if (!texture._hardwareTexture) {
|
|
3792
3832
|
// this.resetTextureCache();
|
|
3793
3833
|
if (scene) {
|
|
3794
|
-
scene.
|
|
3834
|
+
scene.removePendingData(texture);
|
|
3795
3835
|
}
|
|
3796
3836
|
return;
|
|
3797
3837
|
}
|
|
@@ -4241,7 +4281,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
4241
4281
|
(_a = this.releaseComputeEffects) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
4242
4282
|
// Unbind
|
|
4243
4283
|
this.unbindAllAttributes();
|
|
4244
|
-
this._boundUniforms =
|
|
4284
|
+
this._boundUniforms = {};
|
|
4245
4285
|
// Events
|
|
4246
4286
|
if (IsWindowObjectExist()) {
|
|
4247
4287
|
if (this._renderingCanvas) {
|
|
@@ -4254,7 +4294,7 @@ var ThinEngine = /** @class */ (function () {
|
|
|
4254
4294
|
}
|
|
4255
4295
|
this._workingCanvas = null;
|
|
4256
4296
|
this._workingContext = null;
|
|
4257
|
-
this._currentBufferPointers =
|
|
4297
|
+
this._currentBufferPointers.length = 0;
|
|
4258
4298
|
this._renderingCanvas = null;
|
|
4259
4299
|
this._currentProgram = null;
|
|
4260
4300
|
this._boundRenderFunction = null;
|