UNPKG

2.4 kBJavaScriptView Raw
1import { Texture } from "@babylonjs/core/Materials/Textures/texture";
2import { GLTFLoader } from "../glTFLoader";
3var NAME = "KHR_texture_transform";
4/**
5 * [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_texture_transform/README.md)
6 */
7var KHR_texture_transform = /** @class */ (function () {
8 /** @hidden */
9 function KHR_texture_transform(loader) {
10 /** The name of this extension. */
11 this.name = NAME;
12 /** Defines whether this extension is enabled. */
13 this.enabled = true;
14 this._loader = loader;
15 }
16 /** @hidden */
17 KHR_texture_transform.prototype.dispose = function () {
18 delete this._loader;
19 };
20 /** @hidden */
21 KHR_texture_transform.prototype.loadTextureInfoAsync = function (context, textureInfo, assign) {
22 var _this = this;
23 return GLTFLoader.LoadExtensionAsync(context, textureInfo, this.name, function (extensionContext, extension) {
24 return _this._loader.loadTextureInfoAsync(context, textureInfo, function (babylonTexture) {
25 if (!(babylonTexture instanceof Texture)) {
26 throw new Error(extensionContext + ": Texture type not supported");
27 }
28 if (extension.offset) {
29 babylonTexture.uOffset = extension.offset[0];
30 babylonTexture.vOffset = extension.offset[1];
31 }
32 // Always rotate around the origin.
33 babylonTexture.uRotationCenter = 0;
34 babylonTexture.vRotationCenter = 0;
35 if (extension.rotation) {
36 babylonTexture.wAng = -extension.rotation;
37 }
38 if (extension.scale) {
39 babylonTexture.uScale = extension.scale[0];
40 babylonTexture.vScale = extension.scale[1];
41 }
42 if (extension.texCoord != undefined) {
43 babylonTexture.coordinatesIndex = extension.texCoord;
44 }
45 assign(babylonTexture);
46 });
47 });
48 };
49 return KHR_texture_transform;
50}());
51export { KHR_texture_transform };
52GLTFLoader.RegisterExtension(NAME, function (loader) { return new KHR_texture_transform(loader); });
53//# sourceMappingURL=KHR_texture_transform.js.map
\No newline at end of file