UNPKG

@babylonjs/loaders

Version:

The Babylon.js file loaders library is an extension you can use to load different 3D file types into a Babylon scene.

53 lines 2.4 kB
import { Texture } from "@babylonjs/core/Materials/Textures/texture"; import { GLTFLoader } from "../glTFLoader"; var NAME = "KHR_texture_transform"; /** * [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Khronos/KHR_texture_transform/README.md) */ var KHR_texture_transform = /** @class */ (function () { /** @hidden */ function KHR_texture_transform(loader) { /** The name of this extension. */ this.name = NAME; /** Defines whether this extension is enabled. */ this.enabled = true; this._loader = loader; } /** @hidden */ KHR_texture_transform.prototype.dispose = function () { delete this._loader; }; /** @hidden */ KHR_texture_transform.prototype.loadTextureInfoAsync = function (context, textureInfo, assign) { var _this = this; return GLTFLoader.LoadExtensionAsync(context, textureInfo, this.name, function (extensionContext, extension) { return _this._loader.loadTextureInfoAsync(context, textureInfo, function (babylonTexture) { if (!(babylonTexture instanceof Texture)) { throw new Error(extensionContext + ": Texture type not supported"); } if (extension.offset) { babylonTexture.uOffset = extension.offset[0]; babylonTexture.vOffset = extension.offset[1]; } // Always rotate around the origin. babylonTexture.uRotationCenter = 0; babylonTexture.vRotationCenter = 0; if (extension.rotation) { babylonTexture.wAng = -extension.rotation; } if (extension.scale) { babylonTexture.uScale = extension.scale[0]; babylonTexture.vScale = extension.scale[1]; } if (extension.texCoord != undefined) { babylonTexture.coordinatesIndex = extension.texCoord; } assign(babylonTexture); }); }); }; return KHR_texture_transform; }()); export { KHR_texture_transform }; GLTFLoader.RegisterExtension(NAME, function (loader) { return new KHR_texture_transform(loader); }); //# sourceMappingURL=KHR_texture_transform.js.map