@babylonjs/core 5.53.0 → 5.53.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/Animations/animationGroup.js +8 -1
- package/Animations/animationGroup.js.map +1 -1
- package/Engines/Extensions/engine.cubeTexture.js +3 -0
- package/Engines/Extensions/engine.cubeTexture.js.map +1 -1
- package/Engines/Extensions/engine.multiRender.js +74 -19
- package/Engines/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/Extensions/engine.renderTarget.js +2 -5
- package/Engines/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/WebGL/webGLHardwareTexture.d.ts +3 -1
- package/Engines/WebGL/webGLHardwareTexture.js +19 -7
- package/Engines/WebGL/webGLHardwareTexture.js.map +1 -1
- package/Engines/WebGL/webGLRenderTargetWrapper.d.ts +14 -1
- package/Engines/WebGL/webGLRenderTargetWrapper.js +76 -6
- package/Engines/WebGL/webGLRenderTargetWrapper.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.multiRender.js +20 -0
- package/Engines/WebGPU/Extensions/engine.multiRender.js.map +1 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.js +3 -1
- package/Engines/WebGPU/Extensions/engine.renderTarget.js.map +1 -1
- package/Engines/WebGPU/webgpuConstants.d.ts +22 -7
- package/Engines/WebGPU/webgpuConstants.js +24 -8
- package/Engines/WebGPU/webgpuConstants.js.map +1 -1
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.d.ts +0 -3
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js +20 -53
- package/Engines/WebGPU/webgpuShaderProcessorsWGSL.js.map +1 -1
- package/Engines/WebGPU/webgpuTextureHelper.d.ts +3 -2
- package/Engines/WebGPU/webgpuTextureHelper.js +33 -14
- package/Engines/WebGPU/webgpuTextureHelper.js.map +1 -1
- package/Engines/WebGPU/webgpuTintWASM.d.ts +3 -2
- package/Engines/WebGPU/webgpuTintWASM.js +10 -8
- package/Engines/WebGPU/webgpuTintWASM.js.map +1 -1
- package/Engines/constants.d.ts +12 -0
- package/Engines/constants.js +12 -0
- package/Engines/constants.js.map +1 -1
- package/Engines/engine.d.ts +128 -72
- package/Engines/nativeEngine.d.ts +1 -0
- package/Engines/nativeEngine.js +16 -5
- package/Engines/nativeEngine.js.map +1 -1
- package/Engines/renderTargetWrapper.d.ts +28 -4
- package/Engines/renderTargetWrapper.js +107 -10
- package/Engines/renderTargetWrapper.js.map +1 -1
- package/Engines/thinEngine.d.ts +6 -6
- package/Engines/thinEngine.js +28 -20
- package/Engines/thinEngine.js.map +1 -1
- package/Engines/webgpuEngine.d.ts +25 -8
- package/Engines/webgpuEngine.js +112 -48
- package/Engines/webgpuEngine.js.map +1 -1
- package/Materials/PBR/pbrAnisotropicConfiguration.js +0 -1
- package/Materials/PBR/pbrAnisotropicConfiguration.js.map +1 -1
- package/Materials/PBR/pbrBaseMaterial.js +3 -0
- package/Materials/PBR/pbrBaseMaterial.js.map +1 -1
- package/Materials/Textures/internalTexture.d.ts +4 -0
- package/Materials/Textures/internalTexture.js.map +1 -1
- package/Materials/Textures/multiRenderTarget.d.ts +40 -0
- package/Materials/Textures/multiRenderTarget.js +143 -4
- package/Materials/Textures/multiRenderTarget.js.map +1 -1
- package/Materials/Textures/renderTargetTexture.d.ts +4 -0
- package/Materials/Textures/renderTargetTexture.js +10 -2
- package/Materials/Textures/renderTargetTexture.js.map +1 -1
- package/Materials/Textures/texture.d.ts +4 -2
- package/Materials/Textures/texture.js +1 -0
- package/Materials/Textures/texture.js.map +1 -1
- package/Materials/Textures/textureCreationOptions.d.ts +4 -0
- package/Materials/Textures/textureCreationOptions.js.map +1 -1
- package/Misc/interfaces/screenshotSize.d.ts +17 -3
- package/Misc/interfaces/screenshotSize.js.map +1 -1
- package/Misc/screenshotTools.d.ts +2 -2
- package/Misc/screenshotTools.js +49 -9
- package/Misc/screenshotTools.js.map +1 -1
- package/Misc/textureTools.d.ts +1 -1
- package/Misc/textureTools.js +4 -2
- package/Misc/textureTools.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js +1 -0
- package/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline.js.map +1 -1
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.d.ts +5 -0
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js +7 -0
- package/PostProcesses/RenderPipeline/postProcessRenderPipelineManager.js.map +1 -1
- package/PostProcesses/depthOfFieldMergePostProcess.d.ts +0 -23
- package/PostProcesses/depthOfFieldMergePostProcess.js +0 -5
- package/PostProcesses/depthOfFieldMergePostProcess.js.map +1 -1
- package/PostProcesses/postProcess.js +1 -0
- package/PostProcesses/postProcess.js.map +1 -1
- package/Probes/reflectionProbe.js +1 -0
- package/Probes/reflectionProbe.js.map +1 -1
- package/Rendering/depthPeelingRenderer.js +3 -1
- package/Rendering/depthPeelingRenderer.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderer.js +1 -1
- package/Rendering/fluidRenderer/fluidRenderer.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingDepthTextureCopy.js +2 -1
- package/Rendering/fluidRenderer/fluidRenderingDepthTextureCopy.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderingTextures.js +2 -0
- package/Rendering/fluidRenderer/fluidRenderingTextures.js.map +1 -1
- package/Shaders/default.fragment.js +1 -1
- package/Shaders/default.fragment.js.map +1 -1
- package/Shaders/depthOfFieldMerge.fragment.js +10 -5
- package/Shaders/depthOfFieldMerge.fragment.js.map +1 -1
- package/Shaders/fluidRenderingRender.fragment.js +3 -3
- package/Shaders/fluidRenderingRender.fragment.js.map +1 -1
- package/Shaders/motionBlur.fragment.js +8 -2
- package/Shaders/motionBlur.fragment.js.map +1 -1
- package/Shaders/screenSpaceReflection2.fragment.js +11 -4
- package/Shaders/screenSpaceReflection2.fragment.js.map +1 -1
- package/Shaders/screenSpaceReflection2Blur.fragment.js +6 -1
- package/Shaders/screenSpaceReflection2Blur.fragment.js.map +1 -1
- package/Shaders/ssao2.fragment.js +1 -0
- package/Shaders/ssao2.fragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js +9 -9
- package/ShadersWGSL/ShadersInclude/bakedVertexAnimation.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/bonesVertex.js +16 -16
- package/ShadersWGSL/ShadersInclude/bonesVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js +6 -6
- package/ShadersWGSL/ShadersInclude/clipPlaneFragment.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js +6 -6
- package/ShadersWGSL/ShadersInclude/clipPlaneVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/instancesVertex.js +1 -1
- package/ShadersWGSL/ShadersInclude/instancesVertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js +8 -8
- package/ShadersWGSL/ShadersInclude/morphTargetsVertex.js.map +1 -1
- package/package.json +1 -1
package/Engines/engine.d.ts
CHANGED
|
@@ -1109,6 +1109,7 @@ interface WebGLUniformLocation {
|
|
|
1109
1109
|
_currentState: any;
|
|
1110
1110
|
}
|
|
1111
1111
|
|
|
1112
|
+
/* eslint-disable babylonjs/available */
|
|
1112
1113
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
1113
1114
|
interface GPUObjectBase {
|
|
1114
1115
|
label: string | undefined;
|
|
@@ -1119,37 +1120,50 @@ interface GPUObjectDescriptorBase {
|
|
|
1119
1120
|
}
|
|
1120
1121
|
|
|
1121
1122
|
interface GPUSupportedLimits {
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
readonly
|
|
1125
|
-
readonly
|
|
1126
|
-
readonly
|
|
1127
|
-
readonly
|
|
1128
|
-
readonly
|
|
1129
|
-
readonly
|
|
1130
|
-
readonly
|
|
1131
|
-
readonly
|
|
1132
|
-
readonly
|
|
1133
|
-
readonly
|
|
1134
|
-
readonly
|
|
1135
|
-
readonly
|
|
1136
|
-
readonly
|
|
1137
|
-
readonly
|
|
1138
|
-
readonly
|
|
1139
|
-
readonly
|
|
1140
|
-
readonly
|
|
1141
|
-
readonly
|
|
1142
|
-
readonly
|
|
1143
|
-
readonly
|
|
1144
|
-
readonly
|
|
1145
|
-
readonly
|
|
1146
|
-
readonly
|
|
1147
|
-
readonly
|
|
1123
|
+
[name: string]: number;
|
|
1124
|
+
|
|
1125
|
+
readonly maxTextureDimension1D: number;
|
|
1126
|
+
readonly maxTextureDimension2D: number;
|
|
1127
|
+
readonly maxTextureDimension3D: number;
|
|
1128
|
+
readonly maxTextureArrayLayers: number;
|
|
1129
|
+
readonly maxBindGroups: number;
|
|
1130
|
+
readonly maxBindingsPerBindGroup: number;
|
|
1131
|
+
readonly maxDynamicUniformBuffersPerPipelineLayout: number;
|
|
1132
|
+
readonly maxDynamicStorageBuffersPerPipelineLayout: number;
|
|
1133
|
+
readonly maxSampledTexturesPerShaderStage: number;
|
|
1134
|
+
readonly maxSamplersPerShaderStage: number;
|
|
1135
|
+
readonly maxStorageBuffersPerShaderStage: number;
|
|
1136
|
+
readonly maxStorageTexturesPerShaderStage: number;
|
|
1137
|
+
readonly maxUniformBuffersPerShaderStage: number;
|
|
1138
|
+
readonly maxFragmentCombinedOutputResources: number;
|
|
1139
|
+
readonly maxUniformBufferBindingSize: number;
|
|
1140
|
+
readonly maxStorageBufferBindingSize: number;
|
|
1141
|
+
readonly minUniformBufferOffsetAlignment: number;
|
|
1142
|
+
readonly minStorageBufferOffsetAlignment: number;
|
|
1143
|
+
readonly maxVertexBuffers: number;
|
|
1144
|
+
readonly maxBufferSize: number;
|
|
1145
|
+
readonly maxVertexAttributes: number;
|
|
1146
|
+
readonly maxVertexBufferArrayStride: number;
|
|
1147
|
+
readonly maxInterStageShaderComponents: number;
|
|
1148
|
+
readonly maxInterStageShaderVariables: number;
|
|
1149
|
+
readonly maxColorAttachments: number;
|
|
1150
|
+
readonly maxColorAttachmentBytesPerSample: number;
|
|
1151
|
+
readonly maxComputeWorkgroupStorageSize: number;
|
|
1152
|
+
readonly maxComputeInvocationsPerWorkgroup: number;
|
|
1153
|
+
readonly maxComputeWorkgroupSizeX: number;
|
|
1154
|
+
readonly maxComputeWorkgroupSizeY: number;
|
|
1155
|
+
readonly maxComputeWorkgroupSizeZ: number;
|
|
1156
|
+
readonly maxComputeWorkgroupsPerDimension: number;
|
|
1148
1157
|
}
|
|
1149
1158
|
|
|
1150
1159
|
type GPUSupportedFeatures = ReadonlySet<string>;
|
|
1151
1160
|
|
|
1152
|
-
|
|
1161
|
+
interface GPUAdapterInfo {
|
|
1162
|
+
readonly vendor: string;
|
|
1163
|
+
readonly architecture: string;
|
|
1164
|
+
readonly device: string;
|
|
1165
|
+
readonly description: string;
|
|
1166
|
+
}
|
|
1153
1167
|
|
|
1154
1168
|
interface Navigator {
|
|
1155
1169
|
readonly gpu: GPU | undefined;
|
|
@@ -1160,7 +1174,7 @@ interface WorkerNavigator {
|
|
|
1160
1174
|
}
|
|
1161
1175
|
|
|
1162
1176
|
class GPU {
|
|
1163
|
-
requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter |
|
|
1177
|
+
requestAdapter(options?: GPURequestAdapterOptions): Promise<GPUAdapter | undefined>;
|
|
1164
1178
|
getPreferredCanvasFormat(): GPUTextureFormat;
|
|
1165
1179
|
}
|
|
1166
1180
|
|
|
@@ -1179,6 +1193,7 @@ class GPUAdapter {
|
|
|
1179
1193
|
readonly isFallbackAdapter: boolean;
|
|
1180
1194
|
|
|
1181
1195
|
requestDevice(descriptor?: GPUDeviceDescriptor): Promise<GPUDevice>;
|
|
1196
|
+
requestAdapterInfo(unmaskHints?: string[]): Promise<GPUAdapterInfo>;
|
|
1182
1197
|
}
|
|
1183
1198
|
|
|
1184
1199
|
interface GPUDeviceDescriptor extends GPUObjectDescriptorBase {
|
|
@@ -1189,7 +1204,6 @@ interface GPUDeviceDescriptor extends GPUObjectDescriptorBase {
|
|
|
1189
1204
|
|
|
1190
1205
|
type GPUFeatureName =
|
|
1191
1206
|
| "depth-clip-control"
|
|
1192
|
-
| "depth24unorm-stencil8"
|
|
1193
1207
|
| "depth32float-stencil8"
|
|
1194
1208
|
| "texture-compression-bc"
|
|
1195
1209
|
| "texture-compression-etc2"
|
|
@@ -1197,7 +1211,9 @@ type GPUFeatureName =
|
|
|
1197
1211
|
| "timestamp-query"
|
|
1198
1212
|
| "indirect-first-instance"
|
|
1199
1213
|
| "shader-f16"
|
|
1200
|
-
| "
|
|
1214
|
+
| "rg11b10ufloat-renderable"
|
|
1215
|
+
| "bgra8unorm-storage"
|
|
1216
|
+
| "float32-filterable";
|
|
1201
1217
|
|
|
1202
1218
|
class GPUDevice extends EventTarget implements GPUObjectBase {
|
|
1203
1219
|
label: string | undefined;
|
|
@@ -1239,6 +1255,10 @@ class GPUDevice extends EventTarget implements GPUObjectBase {
|
|
|
1239
1255
|
class GPUBuffer implements GPUObjectBase {
|
|
1240
1256
|
label: string | undefined;
|
|
1241
1257
|
|
|
1258
|
+
readonly size: GPUSize64;
|
|
1259
|
+
readonly usage: GPUBufferUsageFlags;
|
|
1260
|
+
readonly mapState: GPUBufferMapState;
|
|
1261
|
+
|
|
1242
1262
|
mapAsync(mode: GPUMapModeFlags, offset?: GPUSize64 /*default=0*/, size?: GPUSize64): Promise<void>;
|
|
1243
1263
|
getMappedRange(offset?: GPUSize64 /*default=0*/, size?: GPUSize64): ArrayBuffer;
|
|
1244
1264
|
unmap(): void;
|
|
@@ -1246,6 +1266,8 @@ class GPUBuffer implements GPUObjectBase {
|
|
|
1246
1266
|
destroy(): void;
|
|
1247
1267
|
}
|
|
1248
1268
|
|
|
1269
|
+
type GPUBufferMapState = "unmapped" | "pending" | "mapped";
|
|
1270
|
+
|
|
1249
1271
|
interface GPUBufferDescriptor extends GPUObjectDescriptorBase {
|
|
1250
1272
|
size: GPUSize64;
|
|
1251
1273
|
usage: GPUBufferUsageFlags;
|
|
@@ -1261,6 +1283,15 @@ class GPUTexture implements GPUObjectBase {
|
|
|
1261
1283
|
|
|
1262
1284
|
createView(descriptor?: GPUTextureViewDescriptor): GPUTextureView;
|
|
1263
1285
|
destroy(): void;
|
|
1286
|
+
|
|
1287
|
+
readonly width: GPUIntegerCoordinate;
|
|
1288
|
+
readonly height: GPUIntegerCoordinate;
|
|
1289
|
+
readonly depthOrArrayLayers: GPUIntegerCoordinate;
|
|
1290
|
+
readonly mipLevelCount: GPUIntegerCoordinate;
|
|
1291
|
+
readonly sampleCount: GPUSize32;
|
|
1292
|
+
readonly dimension: GPUTextureDimension;
|
|
1293
|
+
readonly format: GPUTextureFormat;
|
|
1294
|
+
readonly usage: GPUTextureUsageFlags;
|
|
1264
1295
|
}
|
|
1265
1296
|
|
|
1266
1297
|
interface GPUTextureDescriptor extends GPUObjectDescriptorBase {
|
|
@@ -1423,7 +1454,7 @@ class GPUExternalTexture implements GPUObjectBase {
|
|
|
1423
1454
|
|
|
1424
1455
|
interface GPUExternalTextureDescriptor extends GPUObjectDescriptorBase {
|
|
1425
1456
|
source: HTMLVideoElement;
|
|
1426
|
-
colorSpace?:
|
|
1457
|
+
colorSpace?: PredefinedColorSpace /* default="srgb" */;
|
|
1427
1458
|
}
|
|
1428
1459
|
|
|
1429
1460
|
class GPUSampler implements GPUObjectBase {
|
|
@@ -1436,7 +1467,7 @@ interface GPUSamplerDescriptor extends GPUObjectDescriptorBase {
|
|
|
1436
1467
|
addressModeW?: GPUAddressMode /* default="clamp-to-edge" */;
|
|
1437
1468
|
magFilter?: GPUFilterMode /* default="nearest" */;
|
|
1438
1469
|
minFilter?: GPUFilterMode /* default="nearest" */;
|
|
1439
|
-
mipmapFilter?:
|
|
1470
|
+
mipmapFilter?: GPUMipmapFilterMode /* default="nearest" */;
|
|
1440
1471
|
lodMinClamp?: number /* default=0 */;
|
|
1441
1472
|
lodMaxClamp?: number /* default=32 */;
|
|
1442
1473
|
compare?: GPUCompareFunction;
|
|
@@ -1447,6 +1478,8 @@ type GPUAddressMode = "clamp-to-edge" | "repeat" | "mirror-repeat";
|
|
|
1447
1478
|
|
|
1448
1479
|
type GPUFilterMode = "nearest" | "linear";
|
|
1449
1480
|
|
|
1481
|
+
type GPUMipmapFilterMode = "nearest" | "linear";
|
|
1482
|
+
|
|
1450
1483
|
type GPUCompareFunction = "never" | "less" | "equal" | "less-equal" | "greater" | "not-equal" | "greater-equal" | "always";
|
|
1451
1484
|
|
|
1452
1485
|
class GPUBindGroupLayout implements GPUObjectBase {
|
|
@@ -1535,7 +1568,7 @@ interface GPUPipelineLayoutDescriptor extends GPUObjectDescriptorBase {
|
|
|
1535
1568
|
class GPUShaderModule implements GPUObjectBase {
|
|
1536
1569
|
label: string | undefined;
|
|
1537
1570
|
|
|
1538
|
-
|
|
1571
|
+
getCompilationInfo(): Promise<GPUCompilationInfo>;
|
|
1539
1572
|
}
|
|
1540
1573
|
|
|
1541
1574
|
interface GPUShaderModuleDescriptor extends GPUObjectDescriptorBase {
|
|
@@ -1563,6 +1596,17 @@ interface GPUCompilationInfo {
|
|
|
1563
1596
|
readonly messages: readonly GPUCompilationMessage[];
|
|
1564
1597
|
}
|
|
1565
1598
|
|
|
1599
|
+
class GPUPipelineError extends DOMException {
|
|
1600
|
+
constructor(message: DOMString | undefined, options: GPUPipelineErrorInit);
|
|
1601
|
+
readonly reason: GPUPipelineErrorReason;
|
|
1602
|
+
}
|
|
1603
|
+
|
|
1604
|
+
interface GPUPipelineErrorInit {
|
|
1605
|
+
reason: GPUPipelineErrorReason;
|
|
1606
|
+
}
|
|
1607
|
+
|
|
1608
|
+
type GPUPipelineErrorReason = "validation" | "internal";
|
|
1609
|
+
|
|
1566
1610
|
type GPUAutoLayoutMode = "auto";
|
|
1567
1611
|
|
|
1568
1612
|
interface GPUPipelineDescriptorBase extends GPUObjectDescriptorBase {
|
|
@@ -1746,6 +1790,34 @@ interface GPUVertexAttribute {
|
|
|
1746
1790
|
shaderLocation: GPUIndex32;
|
|
1747
1791
|
}
|
|
1748
1792
|
|
|
1793
|
+
interface GPUImageDataLayout {
|
|
1794
|
+
offset?: GPUSize64 /* default=0 */;
|
|
1795
|
+
bytesPerRow: GPUSize32;
|
|
1796
|
+
rowsPerImage?: GPUSize32;
|
|
1797
|
+
}
|
|
1798
|
+
|
|
1799
|
+
interface GPUImageCopyBuffer extends GPUImageDataLayout {
|
|
1800
|
+
buffer: GPUBuffer;
|
|
1801
|
+
}
|
|
1802
|
+
|
|
1803
|
+
interface GPUImageCopyTexture {
|
|
1804
|
+
texture: GPUTexture;
|
|
1805
|
+
mipLevel?: GPUIntegerCoordinate /* default=0 */;
|
|
1806
|
+
origin?: GPUOrigin3D /* default={} */;
|
|
1807
|
+
aspect?: GPUTextureAspect /* default="all" */;
|
|
1808
|
+
}
|
|
1809
|
+
|
|
1810
|
+
interface GPUImageCopyTextureTagged extends GPUImageCopyTexture {
|
|
1811
|
+
colorSpace?: PredefinedColorSpace /* default="srgb" */;
|
|
1812
|
+
premultipliedAlpha?: boolean /* default=false */;
|
|
1813
|
+
}
|
|
1814
|
+
|
|
1815
|
+
interface GPUImageCopyExternalImage {
|
|
1816
|
+
source: ImageBitmap | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas;
|
|
1817
|
+
origin?: GPUOrigin2D /* default={} */;
|
|
1818
|
+
flipY?: boolean /* default=false */;
|
|
1819
|
+
}
|
|
1820
|
+
|
|
1749
1821
|
class GPUCommandBuffer implements GPUObjectBase {
|
|
1750
1822
|
label: string | undefined;
|
|
1751
1823
|
}
|
|
@@ -1766,46 +1838,18 @@ class GPUCommandEncoder implements GPUObjectBase, GPUCommandsMixin, GPUDebugComm
|
|
|
1766
1838
|
copyTextureToTexture(source: GPUImageCopyTexture, destination: GPUImageCopyTexture, copySize: GPUExtent3D): void;
|
|
1767
1839
|
clearBuffer(buffer: GPUBuffer, offset?: GPUSize64 /* default=0 */, size?: GPUSize64): void;
|
|
1768
1840
|
|
|
1769
|
-
pushDebugGroup(groupLabel: string): void;
|
|
1770
|
-
popDebugGroup(): void;
|
|
1771
|
-
insertDebugMarker(markerLabel: string): void;
|
|
1772
|
-
|
|
1773
1841
|
writeTimestamp(querySet: GPUQuerySet, queryIndex: GPUSize32): void;
|
|
1774
1842
|
|
|
1775
1843
|
resolveQuerySet(querySet: GPUQuerySet, firstQuery: GPUSize32, queryCount: GPUSize32, destination: GPUBuffer, destinationOffset: GPUSize64): void;
|
|
1776
1844
|
|
|
1777
1845
|
finish(descriptor?: GPUCommandBufferDescriptor): GPUCommandBuffer;
|
|
1778
|
-
}
|
|
1779
1846
|
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
offset?: GPUSize64 /* default=0 */;
|
|
1784
|
-
bytesPerRow: GPUSize32;
|
|
1785
|
-
rowsPerImage?: GPUSize32;
|
|
1786
|
-
}
|
|
1787
|
-
|
|
1788
|
-
interface GPUImageCopyBuffer extends GPUImageDataLayout {
|
|
1789
|
-
buffer: GPUBuffer;
|
|
1790
|
-
}
|
|
1791
|
-
|
|
1792
|
-
interface GPUImageCopyTexture {
|
|
1793
|
-
texture: GPUTexture;
|
|
1794
|
-
mipLevel?: GPUIntegerCoordinate /* default=0 */;
|
|
1795
|
-
origin?: GPUOrigin3D /* default={} */;
|
|
1796
|
-
aspect?: GPUTextureAspect /* default="all" */;
|
|
1797
|
-
}
|
|
1798
|
-
|
|
1799
|
-
interface GPUImageCopyTextureTagged extends GPUImageCopyTexture {
|
|
1800
|
-
colorSpace?: GPUPredefinedColorSpace /* default="srgb" */;
|
|
1801
|
-
premultipliedAlpha?: boolean /* default=false */;
|
|
1847
|
+
pushDebugGroup(groupLabel: string): void;
|
|
1848
|
+
popDebugGroup(): void;
|
|
1849
|
+
insertDebugMarker(markerLabel: string): void;
|
|
1802
1850
|
}
|
|
1803
1851
|
|
|
1804
|
-
interface
|
|
1805
|
-
source: ImageBitmap | HTMLCanvasElement | OffscreenCanvas;
|
|
1806
|
-
origin?: GPUOrigin2D /* default={} */;
|
|
1807
|
-
flipY?: boolean /* default=false */;
|
|
1808
|
-
}
|
|
1852
|
+
interface GPUCommandEncoderDescriptor extends GPUObjectDescriptorBase {}
|
|
1809
1853
|
|
|
1810
1854
|
interface GPUBindingCommandsMixin {
|
|
1811
1855
|
setBindGroup(index: GPUIndex32, bindGroup: GPUBindGroup, dynamicOffsets?: GPUBufferDynamicOffset[]): void;
|
|
@@ -1905,6 +1949,7 @@ interface GPURenderPassDescriptor extends GPUObjectDescriptorBase {
|
|
|
1905
1949
|
depthStencilAttachment?: GPURenderPassDepthStencilAttachment;
|
|
1906
1950
|
occlusionQuerySet?: GPUQuerySet;
|
|
1907
1951
|
timestampWrites?: GPURenderPassTimestampWrites /* default=[] */;
|
|
1952
|
+
maxDrawCount?: GPUSize64 /* default=50000000 */;
|
|
1908
1953
|
}
|
|
1909
1954
|
|
|
1910
1955
|
interface GPURenderPassColorAttachment {
|
|
@@ -1944,7 +1989,7 @@ interface GPURenderCommandsMixin {
|
|
|
1944
1989
|
setPipeline(pipeline: GPURenderPipeline): void;
|
|
1945
1990
|
|
|
1946
1991
|
setIndexBuffer(buffer: GPUBuffer, indexFormat: GPUIndexFormat, offset?: GPUSize64 /* default=0 */, size?: GPUSize64 /* default=0 */): void;
|
|
1947
|
-
setVertexBuffer(slot: GPUIndex32, buffer: GPUBuffer, offset?: GPUSize64 /* default=0 */, size?: GPUSize64
|
|
1992
|
+
setVertexBuffer(slot: GPUIndex32, buffer: GPUBuffer, offset?: GPUSize64 /* default=0 */, size?: GPUSize64): void;
|
|
1948
1993
|
|
|
1949
1994
|
draw(vertexCount: GPUSize32, instanceCount?: GPUSize32 /* default=1 */, firstVertex?: GPUSize32 /* default=0 */, firstInstance?: GPUSize32 /* default=0 */): void;
|
|
1950
1995
|
drawIndexed(
|
|
@@ -2020,6 +2065,9 @@ class GPUQuerySet implements GPUObjectBase {
|
|
|
2020
2065
|
label: string | undefined;
|
|
2021
2066
|
|
|
2022
2067
|
destroy(): void;
|
|
2068
|
+
|
|
2069
|
+
readonly type: GPUQueryType;
|
|
2070
|
+
readonly count: GPUSize32;
|
|
2023
2071
|
}
|
|
2024
2072
|
|
|
2025
2073
|
interface GPUQuerySetDescriptor extends GPUObjectDescriptorBase {
|
|
@@ -2045,33 +2093,38 @@ interface GPUCanvasConfiguration extends GPUObjectDescriptorBase {
|
|
|
2045
2093
|
format: GPUTextureFormat;
|
|
2046
2094
|
usage?: GPUTextureUsageFlags /* default=0x10 - GPUTextureUsage.RENDER_ATTACHMENT */;
|
|
2047
2095
|
viewFormats?: GPUTextureFormat[] /* default=[] */;
|
|
2048
|
-
colorSpace?:
|
|
2096
|
+
colorSpace?: PredefinedColorSpace /* default="srgb" */;
|
|
2049
2097
|
alphaMode?: GPUCanvasAlphaMode /* default="opaque" */;
|
|
2050
2098
|
}
|
|
2051
2099
|
|
|
2052
|
-
type GPUDeviceLostReason = "destroyed";
|
|
2100
|
+
type GPUDeviceLostReason = "unknown" | "destroyed";
|
|
2053
2101
|
|
|
2054
2102
|
class GPUDeviceLostInfo {
|
|
2055
2103
|
readonly reason?: GPUDeviceLostReason;
|
|
2056
2104
|
readonly message: string;
|
|
2057
2105
|
}
|
|
2058
2106
|
|
|
2059
|
-
type GPUErrorFilter = "out-of-memory" | "validation";
|
|
2060
|
-
|
|
2061
2107
|
class GPUError {
|
|
2062
2108
|
readonly message: string;
|
|
2063
2109
|
}
|
|
2064
2110
|
|
|
2111
|
+
class GPUValidationError extends GPUError {
|
|
2112
|
+
constructor(message: string);
|
|
2113
|
+
readonly message: string;
|
|
2114
|
+
}
|
|
2115
|
+
|
|
2065
2116
|
class GPUOutOfMemoryError extends GPUError {
|
|
2066
|
-
constructor();
|
|
2117
|
+
constructor(message: string);
|
|
2067
2118
|
readonly message: string;
|
|
2068
2119
|
}
|
|
2069
2120
|
|
|
2070
|
-
class
|
|
2121
|
+
class GPUInternalError extends GPUError {
|
|
2071
2122
|
constructor(message: string);
|
|
2072
2123
|
readonly message: string;
|
|
2073
2124
|
}
|
|
2074
2125
|
|
|
2126
|
+
type GPUErrorFilter = "validation" | "out-of-memory" | "internal";
|
|
2127
|
+
|
|
2075
2128
|
class GPUUncapturedErrorEvent extends Event {
|
|
2076
2129
|
constructor(type: string, gpuUncapturedErrorEventInitDict: GPUUncapturedErrorEventInit);
|
|
2077
2130
|
readonly error: GPUError;
|
|
@@ -2085,12 +2138,15 @@ type GPUBufferDynamicOffset = number; /* unsigned long */
|
|
|
2085
2138
|
type GPUStencilValue = number; /* unsigned long */
|
|
2086
2139
|
type GPUSampleMask = number; /* unsigned long */
|
|
2087
2140
|
type GPUDepthBias = number; /* long */
|
|
2141
|
+
|
|
2088
2142
|
type GPUSize64 = number; /* unsigned long long */
|
|
2089
2143
|
type GPUIntegerCoordinate = number; /* unsigned long */
|
|
2090
2144
|
type GPUIndex32 = number; /* unsigned long */
|
|
2091
2145
|
type GPUSize32 = number; /* unsigned long */
|
|
2092
2146
|
type GPUSignedOffset32 = number; /* long */
|
|
2093
2147
|
|
|
2148
|
+
type GPUFlagsConstant = number; /* unsigned long */
|
|
2149
|
+
|
|
2094
2150
|
interface GPUColorDict {
|
|
2095
2151
|
r: number;
|
|
2096
2152
|
g: number;
|
|
@@ -440,6 +440,7 @@ export declare class NativeEngine extends Engine {
|
|
|
440
440
|
width: number;
|
|
441
441
|
height: number;
|
|
442
442
|
}, options: boolean | RenderTargetCreationOptions): RenderTargetWrapper;
|
|
443
|
+
updateRenderTargetTextureSampleCount(rtWrapper: RenderTargetWrapper, samples: number): number;
|
|
443
444
|
updateTextureSamplingMode(samplingMode: number, texture: InternalTexture): void;
|
|
444
445
|
bindFramebuffer(texture: RenderTargetWrapper, faceIndex?: number, requiredWidth?: number, requiredHeight?: number, forceFullscreenViewport?: boolean): void;
|
|
445
446
|
unBindFramebuffer(texture: RenderTargetWrapper, disableGenerateMipMaps?: boolean, onBeforeUnbind?: () => void): void;
|
package/Engines/nativeEngine.js
CHANGED
|
@@ -1638,6 +1638,7 @@ export class NativeEngine extends Engine {
|
|
|
1638
1638
|
let format = 5;
|
|
1639
1639
|
let useSRGBBuffer = false;
|
|
1640
1640
|
let samples = 1;
|
|
1641
|
+
let label;
|
|
1641
1642
|
if (options !== undefined && typeof options === "object") {
|
|
1642
1643
|
generateMipMaps = !!options.generateMipMaps;
|
|
1643
1644
|
type = options.type === undefined ? 0 : options.type;
|
|
@@ -1645,6 +1646,7 @@ export class NativeEngine extends Engine {
|
|
|
1645
1646
|
format = options.format === undefined ? 5 : options.format;
|
|
1646
1647
|
useSRGBBuffer = options.useSRGBBuffer === undefined ? false : options.useSRGBBuffer;
|
|
1647
1648
|
samples = (_a = options.samples) !== null && _a !== void 0 ? _a : 1;
|
|
1649
|
+
label = options.label;
|
|
1648
1650
|
}
|
|
1649
1651
|
else {
|
|
1650
1652
|
generateMipMaps = !!options;
|
|
@@ -1686,23 +1688,24 @@ export class NativeEngine extends Engine {
|
|
|
1686
1688
|
texture.samplingMode = samplingMode;
|
|
1687
1689
|
texture.type = type;
|
|
1688
1690
|
texture.format = format;
|
|
1691
|
+
texture.label = label;
|
|
1689
1692
|
this._internalTexturesCache.push(texture);
|
|
1690
1693
|
return texture;
|
|
1691
1694
|
}
|
|
1692
1695
|
createRenderTargetTexture(size, options) {
|
|
1693
|
-
var _a;
|
|
1696
|
+
var _a, _b;
|
|
1694
1697
|
const rtWrapper = this._createHardwareRenderTargetWrapper(false, false, size);
|
|
1695
1698
|
let generateDepthBuffer = true;
|
|
1696
1699
|
let generateStencilBuffer = false;
|
|
1697
1700
|
let noColorAttachment = false;
|
|
1698
1701
|
let colorAttachment = undefined;
|
|
1699
|
-
|
|
1702
|
+
let samples = 1;
|
|
1700
1703
|
if (options !== undefined && typeof options === "object") {
|
|
1701
1704
|
generateDepthBuffer = (_a = options.generateDepthBuffer) !== null && _a !== void 0 ? _a : true;
|
|
1702
1705
|
generateStencilBuffer = !!options.generateStencilBuffer;
|
|
1703
1706
|
noColorAttachment = !!options.noColorAttachment;
|
|
1704
1707
|
colorAttachment = options.colorAttachment;
|
|
1705
|
-
|
|
1708
|
+
samples = (_b = options.samples) !== null && _b !== void 0 ? _b : 1;
|
|
1706
1709
|
}
|
|
1707
1710
|
const texture = colorAttachment || (noColorAttachment ? null : this._createInternalTexture(size, options, true, InternalTextureSource.RenderTarget));
|
|
1708
1711
|
const width = size.width || size;
|
|
@@ -1712,10 +1715,18 @@ export class NativeEngine extends Engine {
|
|
|
1712
1715
|
rtWrapper._generateDepthBuffer = generateDepthBuffer;
|
|
1713
1716
|
rtWrapper._generateStencilBuffer = generateStencilBuffer;
|
|
1714
1717
|
rtWrapper.setTextures(texture);
|
|
1715
|
-
|
|
1716
|
-
//this.updateRenderTargetTextureSampleCount(rtWrapper, samples);
|
|
1718
|
+
this.updateRenderTargetTextureSampleCount(rtWrapper, samples);
|
|
1717
1719
|
return rtWrapper;
|
|
1718
1720
|
}
|
|
1721
|
+
// This function is being added for the sole purpose of overriding the ThinEngine version. The reason
|
|
1722
|
+
// for this is that the ThinEngine version of this function uses a WebGL2RenderingContext, which is not
|
|
1723
|
+
// available in Babylon Native. The return value is just a hard-coded value that is not used anywhere
|
|
1724
|
+
// in Babylon Native's code. This is effectively a hack/workaround so that Babylon Native doesn't crash
|
|
1725
|
+
// This function should be updated once the maxMSAASamples is updated as well.
|
|
1726
|
+
updateRenderTargetTextureSampleCount(rtWrapper, samples) {
|
|
1727
|
+
// TODO: Implement this function once the maxMSAASamples is updated.
|
|
1728
|
+
return 1;
|
|
1729
|
+
}
|
|
1719
1730
|
updateTextureSamplingMode(samplingMode, texture) {
|
|
1720
1731
|
if (texture._hardwareTexture) {
|
|
1721
1732
|
const filter = this._getNativeSamplingMode(samplingMode);
|