From 81cd7426c1dda660126c22b43f144b0b2b65eccc Mon Sep 17 00:00:00 2001 From: Gary Hsu Date: Thu, 4 Apr 2024 10:31:40 -0700 Subject: [PATCH] Add missing iridescence textures to animation pointer data (#14945) Also fix exception when validating glTF --- .../glTF/2.0/Extensions/KHR_animation_pointer.data.ts | 10 ++++++++++ packages/dev/loaders/src/glTF/glTFValidation.ts | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/dev/loaders/src/glTF/2.0/Extensions/KHR_animation_pointer.data.ts b/packages/dev/loaders/src/glTF/2.0/Extensions/KHR_animation_pointer.data.ts index d2303508aab..2f0ef2075c5 100644 --- a/packages/dev/loaders/src/glTF/2.0/Extensions/KHR_animation_pointer.data.ts +++ b/packages/dev/loaders/src/glTF/2.0/Extensions/KHR_animation_pointer.data.ts @@ -186,6 +186,16 @@ const materialsTree = { iridescenceIor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, "iridescence.indexOfRefraction", getFloat, () => 1)], iridescenceThicknessMinimum: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, "iridescence.minimumThickness", getFloat, () => 1)], iridescenceThicknessMaximum: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_FLOAT, "iridescence.maximumThickness", getFloat, () => 1)], + iridescenceTexture: { + extensions: { + KHR_texture_transform: getTextureTransformTree("iridescence.texture"), + }, + }, + iridescenceThicknessTexture: { + extensions: { + KHR_texture_transform: getTextureTransformTree("iridescence.thicknessTexture"), + }, + }, }, KHR_materials_sheen: { sheenColorFactor: [new MaterialAnimationPropertyInfo(Animation.ANIMATIONTYPE_COLOR3, "sheen.color", getColor3, () => 3)], diff --git a/packages/dev/loaders/src/glTF/glTFValidation.ts b/packages/dev/loaders/src/glTF/glTFValidation.ts index 5cf28335b6c..34e92df6783 100644 --- a/packages/dev/loaders/src/glTF/glTFValidation.ts +++ b/packages/dev/loaders/src/glTF/glTFValidation.ts @@ -126,7 +126,7 @@ export class GLTFValidation { case "getExternalResource": { getExternalResource(data.uri).then( (value) => { - worker.postMessage({ id: "getExternalResource.resolve", index: data.index, value: value }, [value]); + worker.postMessage({ id: "getExternalResource.resolve", index: data.index, value: value }, [value.buffer]); }, (reason) => { worker.postMessage({ id: "getExternalResource.reject", index: data.index, reason: reason });