From be82da7f37d7874b1db67358490a30c73eb6f104 Mon Sep 17 00:00:00 2001 From: Guillaume Pelletier Date: Fri, 6 May 2022 16:58:28 +0200 Subject: [PATCH 1/5] add Ext_mesh_gpu_instancing --- .../2.0/Extensions/EXT_mesh_gpu_instancing.ts | 180 ++++++++++++++++++ .../src/glTF/2.0/Extensions/index.ts | 1 + .../glTFSerializerKhrGpuInstancing.png | Bin 0 -> 171152 bytes .../tests/test/visualization/config.json | 5 + 4 files changed, 186 insertions(+) create mode 100644 packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts create mode 100644 packages/tools/tests/test/visualization/ReferenceImages/glTFSerializerKhrGpuInstancing.png diff --git a/packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts b/packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts new file mode 100644 index 00000000000..b16b295f961 --- /dev/null +++ b/packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts @@ -0,0 +1,180 @@ +import type { IBufferView, IAccessor, INode, IEXTMeshGpuInstancing } from "babylonjs-gltf2interface"; +import { AccessorType, AccessorComponentType } from "babylonjs-gltf2interface"; +import type { IGLTFExporterExtensionV2 } from "../glTFExporterExtension"; +import { _Exporter, _BinaryWriter } from "../glTFExporter"; +import type { Nullable } from "core/types"; +import type { Node } from "core/node"; +import { Mesh } from "core/Meshes"; +import { TmpVectors, Quaternion, Vector3 } from "core/Maths/math.vector"; +import { VertexBuffer } from "core/Buffers/buffer"; + +const NAME = "EXT_mesh_gpu_instancing"; + +/** + * [Specification](https://github.com/KhronosGroup/glTF/blob/main/extensions/2.0/Vendor/EXT_mesh_gpu_instancing/README.md) + */ +// eslint-disable-next-line @typescript-eslint/naming-convention +export class EXT_mesh_gpu_instancing implements IGLTFExporterExtensionV2 { + /** Name of this extension */ + public readonly name = NAME; + + /** Defines whether this extension is enabled */ + public enabled = true; + + /** Defines whether this extension is required */ + public required = false; + + private _exporter: _Exporter; + + private _wasUsed = false; + + constructor(exporter: _Exporter) { + this._exporter = exporter; + } + + public dispose() {} + + /** @hidden */ + public get wasUsed() { + return this._wasUsed; + } + + public postExportNodeAsync?( + context: string, + node: Nullable, + babylonNode: Node, + nodeMap?: { [key: number]: number }, + binaryWriter?: _BinaryWriter + ): Promise> { + return new Promise((resolve) => { + if (node && babylonNode instanceof Mesh) { + if (babylonNode.hasThinInstances && binaryWriter) { + this._wasUsed = true; + + const noTranslation = Vector3.Zero(); + const noRotation = Quaternion.Identity(); + const noScale = Vector3.One(); + + // retreive all the instance world matrix + const matrix = babylonNode.thinInstanceGetWorldMatrices(); + + const iwt = TmpVectors.Vector3[2]; + const iwr = TmpVectors.Quaternion[1]; + const iws = TmpVectors.Vector3[3]; + + let hasAnyInstanceWorldTranslation = false; + let hasAnyInstanceWorldRotation = false; + let hasAnyInstanceWorldScale = false; + + // prepare temp buffers + const translationBuffer = new Float32Array(babylonNode.thinInstanceCount * 3); + const rotationBuffer = new Float32Array(babylonNode.thinInstanceCount * 4); + const scaleBuffer = new Float32Array(babylonNode.thinInstanceCount * 3); + + matrix.forEach((m, i) => { + m.decompose(iws, iwr, iwt); + + // fill the temp buffer + translationBuffer.set(iwt.asArray(), i * 3); + rotationBuffer.set(iwr.normalize().asArray(), i * 4); // ensure the quaternion is normalized + scaleBuffer.set(iws.asArray(), i * 3); + + // this is where we decide if there is any transformation + hasAnyInstanceWorldTranslation = hasAnyInstanceWorldTranslation || !iwt.equalsWithEpsilon(noTranslation); + hasAnyInstanceWorldRotation = hasAnyInstanceWorldRotation || !iwr.equalsWithEpsilon(noRotation); + hasAnyInstanceWorldScale = hasAnyInstanceWorldScale || !iws.equalsWithEpsilon(noScale); + }); + + /* eslint-disable @typescript-eslint/naming-convention*/ + const gpu_instancing: IEXTMeshGpuInstancing = { + attributes: {}, + }; + + // do we need to write TRANSLATION ? + if (hasAnyInstanceWorldTranslation) { + gpu_instancing.attributes["TRANSLATION"] = this._buildAccessor( + translationBuffer, + AccessorType.VEC3, + babylonNode.thinInstanceCount, + binaryWriter, + AccessorComponentType.FLOAT + ); + } + // do we need to write ROTATION ? + if (hasAnyInstanceWorldRotation) { + // Data type can be + // - 5126 (FLOAT) + // - 5120 (BYTE) normalized + // - 5122 (SHORT) normalized + // this is defined by option. + let componentType = this._exporter.options?.meshGpuInstancingOptions?.quaternionType ?? AccessorComponentType.FLOAT; + if (componentType != AccessorComponentType.FLOAT && componentType != AccessorComponentType.SHORT && componentType != AccessorComponentType.BYTE) { + // force to float if wrong type. + componentType = AccessorComponentType.FLOAT; + } + gpu_instancing.attributes["ROTATION"] = this._buildAccessor(rotationBuffer, AccessorType.VEC4, babylonNode.thinInstanceCount, binaryWriter, componentType); + } + // do we need to write SCALE ? + if (hasAnyInstanceWorldScale) { + gpu_instancing.attributes["SCALE"] = this._buildAccessor( + scaleBuffer, + AccessorType.VEC3, + babylonNode.thinInstanceCount, + binaryWriter, + AccessorComponentType.FLOAT + ); + } + + /* eslint-enable @typescript-eslint/naming-convention*/ + node.extensions = node.extensions || {}; + node.extensions[NAME] = gpu_instancing; + } + } + resolve(node); + }); + } + + private _buildAccessor( + buffer: Float32Array | Int8Array | Int16Array, + type: AccessorType, + count: number, + binaryWriter: _BinaryWriter, + componentType: AccessorComponentType + ): number { + // write the buffer + const bufferOffset = binaryWriter.getByteOffset(); + switch (componentType) { + case AccessorComponentType.FLOAT: { + for (let i = 0; i != buffer.length; i++) { + binaryWriter.setFloat32(buffer[i]); + } + break; + } + case AccessorComponentType.BYTE: { + for (let i = 0; i != buffer.length; i++) { + binaryWriter.setByte(buffer[i] * 127); + } + break; + } + case AccessorComponentType.SHORT: { + for (let i = 0; i != buffer.length; i++) { + binaryWriter.setInt16(buffer[i] * 32767); + } + break; + } + } + // build the buffer view + const bv: IBufferView = { buffer: 0, byteOffset: bufferOffset, byteLength: buffer.length * VertexBuffer.GetTypeByteLength(componentType) }; + const bufferViewIndex = this._exporter._bufferViews.length; + this._exporter._bufferViews.push(bv); + + // finally build the accessor + const accessorIndex = this._exporter._accessors.length; + const accessor: IAccessor = { bufferView: bufferViewIndex, componentType: componentType, count: count, type: type }; + this._exporter._accessors.push(accessor); + return accessorIndex; + } +} + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +_Exporter.RegisterExtension(NAME, (exporter) => new EXT_mesh_gpu_instancing(exporter)); diff --git a/packages/dev/serializers/src/glTF/2.0/Extensions/index.ts b/packages/dev/serializers/src/glTF/2.0/Extensions/index.ts index 3c14dbdaa44..d78764665d9 100644 --- a/packages/dev/serializers/src/glTF/2.0/Extensions/index.ts +++ b/packages/dev/serializers/src/glTF/2.0/Extensions/index.ts @@ -8,3 +8,4 @@ export * from "./KHR_materials_ior"; export * from "./KHR_materials_specular"; export * from "./KHR_materials_volume"; export * from "./KHR_materials_transmission"; +export * from "./EXT_mesh_gpu_instancing"; diff --git a/packages/tools/tests/test/visualization/ReferenceImages/glTFSerializerKhrGpuInstancing.png b/packages/tools/tests/test/visualization/ReferenceImages/glTFSerializerKhrGpuInstancing.png new file mode 100644 index 0000000000000000000000000000000000000000..e30d779e9c50bb5e3063c6695d9324bfaf12ca79 GIT binary patch literal 171152 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 b|-F)zY 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

-`MNgd;|T@iMYaCE8egSu^legyzD? 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∨}VaG@=`MOI$|{0KlbLc+o+ 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≦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 Z{}=sd3t+5*22ub3002ovPDHLkV1gY&x|09^ literal 0 HcmV?d00001 diff --git a/packages/tools/tests/test/visualization/config.json b/packages/tools/tests/test/visualization/config.json index f84abf2ea36..5a8f8e61dfd 100644 --- a/packages/tools/tests/test/visualization/config.json +++ b/packages/tools/tests/test/visualization/config.json @@ -713,6 +713,11 @@ "playgroundId": "#9N6CLU#23", "referenceImage": "glTFSerializerKhrMaterialsClearcoat.png" }, + { + "title": "GLTF Serializer KHR gpu instancing", + "playgroundId": "#1Q2BWN#10", + "referenceImage": "glTFSerializerKhrGpuInstancing.png" + }, { "title": "GLTF Buggy with Draco Mesh Compression", "playgroundId": "#JNW207#1", From e502a660bb16ff661d2d5337fbf1b723d258c9f3 Mon Sep 17 00:00:00 2001 From: Guillaume Pelletier Date: Fri, 6 May 2022 17:34:23 +0200 Subject: [PATCH 2/5] finalize Ext_mesh_gpu_instancing --- .../serializers/src/glTF/2.0/glTFExporter.ts | 56 ++++++++++++++++++- .../src/glTF/2.0/glTFExporterExtension.ts | 2 +- .../src/glTF/2.0/glTFSerializer.ts | 16 ++++++ 3 files changed, 70 insertions(+), 4 deletions(-) diff --git a/packages/dev/serializers/src/glTF/2.0/glTFExporter.ts b/packages/dev/serializers/src/glTF/2.0/glTFExporter.ts index d06987dab17..211fefa5f54 100644 --- a/packages/dev/serializers/src/glTF/2.0/glTFExporter.ts +++ b/packages/dev/serializers/src/glTF/2.0/glTFExporter.ts @@ -239,8 +239,14 @@ export class _Exporter { ); } - public _extensionsPostExportNodeAsync(context: string, node: Nullable, babylonNode: Node, nodeMap?: { [key: number]: number }): Promise> { - return this._applyExtensions(node, (extension, node) => extension.postExportNodeAsync && extension.postExportNodeAsync(context, node, babylonNode, nodeMap)); + public _extensionsPostExportNodeAsync( + context: string, + node: Nullable, + babylonNode: Node, + nodeMap?: { [key: number]: number }, + binaryWriter?: _BinaryWriter + ): Promise> { + return this._applyExtensions(node, (extension, node) => extension.postExportNodeAsync && extension.postExportNodeAsync(context, node, babylonNode, nodeMap, binaryWriter)); } public _extensionsPostExportMaterialAsync(context: string, material: Nullable, babylonMaterial: Material): Promise> { @@ -366,6 +372,10 @@ export class _Exporter { } } + public get options() { + return this._options; + } + /** * Registers a glTF exporter extension * @param name Name of the extension to export @@ -2094,7 +2104,7 @@ export class _Exporter { promiseChain = promiseChain.then(() => { const convertToRightHandedSystem = this._convertToRightHandedSystemMap[babylonNode.uniqueId]; return this._createNodeAsync(babylonNode, binaryWriter, convertToRightHandedSystem).then((node) => { - const promise = this._extensionsPostExportNodeAsync("createNodeAsync", node, babylonNode, nodeMap); + const promise = this._extensionsPostExportNodeAsync("createNodeAsync", node, babylonNode, nodeMap, binaryWriter); if (promise == null) { Tools.Warn(`Not exporting node ${babylonNode.name}`); return Promise.resolve(); @@ -2487,4 +2497,44 @@ export class _BinaryWriter { this._byteOffset += 4; } } + /** + * Stores an Int16 in the array buffer + * @param entry + * @param byteOffset If defined, specifies where to set the value as an offset. + */ + public setInt16(entry: number, byteOffset?: number) { + if (byteOffset != null) { + if (byteOffset < this._byteOffset) { + this._dataView.setInt16(byteOffset, entry, true); + } else { + Tools.Error("BinaryWriter: byteoffset is greater than the current binary buffer length!"); + } + } else { + if (this._byteOffset + 2 > this._arrayBuffer.byteLength) { + this._resizeBuffer(this._arrayBuffer.byteLength * 2); + } + this._dataView.setInt16(this._byteOffset, entry, true); + this._byteOffset += 2; + } + } + /** + * Stores a byte in the array buffer + * @param entry + * @param byteOffset If defined, specifies where to set the value as an offset. + */ + public setByte(entry: number, byteOffset?: number) { + if (byteOffset != null) { + if (byteOffset < this._byteOffset) { + this._dataView.setInt8(byteOffset, entry); + } else { + Tools.Error("BinaryWriter: byteoffset is greater than the current binary buffer length!"); + } + } else { + if (this._byteOffset + 1 > this._arrayBuffer.byteLength) { + this._resizeBuffer(this._arrayBuffer.byteLength * 2); + } + this._dataView.setInt8(this._byteOffset, entry); + this._byteOffset++; + } + } } diff --git a/packages/dev/serializers/src/glTF/2.0/glTFExporterExtension.ts b/packages/dev/serializers/src/glTF/2.0/glTFExporterExtension.ts index 3891d041880..f52be68830d 100644 --- a/packages/dev/serializers/src/glTF/2.0/glTFExporterExtension.ts +++ b/packages/dev/serializers/src/glTF/2.0/glTFExporterExtension.ts @@ -54,7 +54,7 @@ export interface IGLTFExporterExtensionV2 extends IGLTFExporterExtension, IDispo * @param babylonNode BabylonJS node * @returns nullable INode promise */ - postExportNodeAsync?(context: string, node: Nullable, babylonNode: Node, nodeMap?: { [key: number]: number }): Promise>; + postExportNodeAsync?(context: string, node: Nullable, babylonNode: Node, nodeMap?: { [key: number]: number }, binaryWriter?: _BinaryWriter): Promise>; /** * Define this method to modify the default behavior when exporting a material diff --git a/packages/dev/serializers/src/glTF/2.0/glTFSerializer.ts b/packages/dev/serializers/src/glTF/2.0/glTFSerializer.ts index 839dd9aa736..8f5290100af 100644 --- a/packages/dev/serializers/src/glTF/2.0/glTFSerializer.ts +++ b/packages/dev/serializers/src/glTF/2.0/glTFSerializer.ts @@ -2,6 +2,17 @@ import type { Node } from "core/node"; import type { Scene } from "core/scene"; import type { GLTFData } from "./glTFData"; import { _Exporter } from "./glTFExporter"; +import { AccessorComponentType } from "babylonjs-gltf2interface"; + +/** + * Holds a collection of Extension Mesh Gpu Instancing options and parameters + */ +export interface IMeshGpuInstancingOptions { + /** + * Indicates the type used to write quaternion + */ + quaternionType?: AccessorComponentType; +} /** * Holds a collection of exporter options and parameters @@ -40,6 +51,11 @@ export interface IExportOptions { * Indicates if coordinate system swapping root nodes should be included in export */ includeCoordinateSystemConversionNodes?: boolean; + + /** + * the EXT_mesh_gpu_instancing specific options. + */ + meshGpuInstancingOptions?: IMeshGpuInstancingOptions; } /** From 533c704f225d24420900f1c748f7c459fc139111 Mon Sep 17 00:00:00 2001 From: Guillaume Pelletier Date: Tue, 10 May 2022 07:17:18 +0200 Subject: [PATCH 3/5] cleaning --- .../2.0/Extensions/EXT_mesh_gpu_instancing.ts | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts b/packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts index b16b295f961..ce95a038eec 100644 --- a/packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts +++ b/packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts @@ -71,7 +71,8 @@ export class EXT_mesh_gpu_instancing implements IGLTFExporterExtensionV2 { const rotationBuffer = new Float32Array(babylonNode.thinInstanceCount * 4); const scaleBuffer = new Float32Array(babylonNode.thinInstanceCount * 3); - matrix.forEach((m, i) => { + let i = 0; + for (const m of matrix) { m.decompose(iws, iwr, iwt); // fill the temp buffer @@ -83,16 +84,17 @@ export class EXT_mesh_gpu_instancing implements IGLTFExporterExtensionV2 { hasAnyInstanceWorldTranslation = hasAnyInstanceWorldTranslation || !iwt.equalsWithEpsilon(noTranslation); hasAnyInstanceWorldRotation = hasAnyInstanceWorldRotation || !iwr.equalsWithEpsilon(noRotation); hasAnyInstanceWorldScale = hasAnyInstanceWorldScale || !iws.equalsWithEpsilon(noScale); - }); - /* eslint-disable @typescript-eslint/naming-convention*/ - const gpu_instancing: IEXTMeshGpuInstancing = { + i++; + } + + const extension: IEXTMeshGpuInstancing = { attributes: {}, }; // do we need to write TRANSLATION ? if (hasAnyInstanceWorldTranslation) { - gpu_instancing.attributes["TRANSLATION"] = this._buildAccessor( + extension.attributes["TRANSLATION"] = this._buildAccessor( translationBuffer, AccessorType.VEC3, babylonNode.thinInstanceCount, @@ -112,11 +114,11 @@ export class EXT_mesh_gpu_instancing implements IGLTFExporterExtensionV2 { // force to float if wrong type. componentType = AccessorComponentType.FLOAT; } - gpu_instancing.attributes["ROTATION"] = this._buildAccessor(rotationBuffer, AccessorType.VEC4, babylonNode.thinInstanceCount, binaryWriter, componentType); + extension.attributes["ROTATION"] = this._buildAccessor(rotationBuffer, AccessorType.VEC4, babylonNode.thinInstanceCount, binaryWriter, componentType); } // do we need to write SCALE ? if (hasAnyInstanceWorldScale) { - gpu_instancing.attributes["SCALE"] = this._buildAccessor( + extension.attributes["SCALE"] = this._buildAccessor( scaleBuffer, AccessorType.VEC3, babylonNode.thinInstanceCount, @@ -127,7 +129,7 @@ export class EXT_mesh_gpu_instancing implements IGLTFExporterExtensionV2 { /* eslint-enable @typescript-eslint/naming-convention*/ node.extensions = node.extensions || {}; - node.extensions[NAME] = gpu_instancing; + node.extensions[NAME] = extension; } } resolve(node); @@ -160,6 +162,7 @@ export class EXT_mesh_gpu_instancing implements IGLTFExporterExtensionV2 { for (let i = 0; i != buffer.length; i++) { binaryWriter.setInt16(buffer[i] * 32767); } + break; } } @@ -170,7 +173,13 @@ export class EXT_mesh_gpu_instancing implements IGLTFExporterExtensionV2 { // finally build the accessor const accessorIndex = this._exporter._accessors.length; - const accessor: IAccessor = { bufferView: bufferViewIndex, componentType: componentType, count: count, type: type }; + const accessor: IAccessor = { + bufferView: bufferViewIndex, + componentType: componentType, + count: count, + type: type, + normalized: componentType == AccessorComponentType.BYTE || componentType == AccessorComponentType.SHORT, + }; this._exporter._accessors.push(accessor); return accessorIndex; } From df01a0814a3f8339781c77ea8b2eb284a4cbdadf Mon Sep 17 00:00:00 2001 From: Guillaume Pelletier Date: Thu, 12 May 2022 20:15:18 +0200 Subject: [PATCH 4/5] change signature of _buildAccessor the buffer might be always a Float32Array because all the values are coming from matrix decompose --- .../src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts b/packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts index ce95a038eec..2ed8acbb255 100644 --- a/packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts +++ b/packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts @@ -136,13 +136,7 @@ export class EXT_mesh_gpu_instancing implements IGLTFExporterExtensionV2 { }); } - private _buildAccessor( - buffer: Float32Array | Int8Array | Int16Array, - type: AccessorType, - count: number, - binaryWriter: _BinaryWriter, - componentType: AccessorComponentType - ): number { + private _buildAccessor(buffer: Float32Array, type: AccessorType, count: number, binaryWriter: _BinaryWriter, componentType: AccessorComponentType): number { // write the buffer const bufferOffset = binaryWriter.getByteOffset(); switch (componentType) { From 8310b6446a29e8cc268370bb185203d3e96d1414 Mon Sep 17 00:00:00 2001 From: Guillaume Pelletier Date: Tue, 17 May 2022 11:25:16 +0200 Subject: [PATCH 5/5] remove quaternion quantization option --- .../2.0/Extensions/EXT_mesh_gpu_instancing.ts | 11 +---------- .../serializers/src/glTF/2.0/glTFSerializer.ts | 16 ---------------- 2 files changed, 1 insertion(+), 26 deletions(-) diff --git a/packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts b/packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts index 2ed8acbb255..bb11a9710ae 100644 --- a/packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts +++ b/packages/dev/serializers/src/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.ts @@ -104,16 +104,7 @@ export class EXT_mesh_gpu_instancing implements IGLTFExporterExtensionV2 { } // do we need to write ROTATION ? if (hasAnyInstanceWorldRotation) { - // Data type can be - // - 5126 (FLOAT) - // - 5120 (BYTE) normalized - // - 5122 (SHORT) normalized - // this is defined by option. - let componentType = this._exporter.options?.meshGpuInstancingOptions?.quaternionType ?? AccessorComponentType.FLOAT; - if (componentType != AccessorComponentType.FLOAT && componentType != AccessorComponentType.SHORT && componentType != AccessorComponentType.BYTE) { - // force to float if wrong type. - componentType = AccessorComponentType.FLOAT; - } + const componentType = AccessorComponentType.FLOAT; // we decided to stay on FLOAT for now see https://github.com/BabylonJS/Babylon.js/pull/12495 extension.attributes["ROTATION"] = this._buildAccessor(rotationBuffer, AccessorType.VEC4, babylonNode.thinInstanceCount, binaryWriter, componentType); } // do we need to write SCALE ? diff --git a/packages/dev/serializers/src/glTF/2.0/glTFSerializer.ts b/packages/dev/serializers/src/glTF/2.0/glTFSerializer.ts index 8f5290100af..839dd9aa736 100644 --- a/packages/dev/serializers/src/glTF/2.0/glTFSerializer.ts +++ b/packages/dev/serializers/src/glTF/2.0/glTFSerializer.ts @@ -2,17 +2,6 @@ import type { Node } from "core/node"; import type { Scene } from "core/scene"; import type { GLTFData } from "./glTFData"; import { _Exporter } from "./glTFExporter"; -import { AccessorComponentType } from "babylonjs-gltf2interface"; - -/** - * Holds a collection of Extension Mesh Gpu Instancing options and parameters - */ -export interface IMeshGpuInstancingOptions { - /** - * Indicates the type used to write quaternion - */ - quaternionType?: AccessorComponentType; -} /** * Holds a collection of exporter options and parameters @@ -51,11 +40,6 @@ export interface IExportOptions { * Indicates if coordinate system swapping root nodes should be included in export */ includeCoordinateSystemConversionNodes?: boolean; - - /** - * the EXT_mesh_gpu_instancing specific options. - */ - meshGpuInstancingOptions?: IMeshGpuInstancingOptions; } /**

=Nml5k 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