1 | import { Texture } from "@babylonjs/core/Materials/Textures/texture";
|
2 | import { GLTFLoader } from "../glTFLoader";
|
3 | var NAME = "KHR_texture_transform";
|
4 |
|
5 |
|
6 |
|
7 | var KHR_texture_transform = (function () {
|
8 |
|
9 | function KHR_texture_transform(loader) {
|
10 |
|
11 | this.name = NAME;
|
12 |
|
13 | this.enabled = true;
|
14 | this._loader = loader;
|
15 | }
|
16 |
|
17 | KHR_texture_transform.prototype.dispose = function () {
|
18 | delete this._loader;
|
19 | };
|
20 |
|
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 |
|
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 | }());
|
51 | export { KHR_texture_transform };
|
52 | GLTFLoader.RegisterExtension(NAME, function (loader) { return new KHR_texture_transform(loader); });
|
53 |
|
\ | No newline at end of file |