@babylonjs/loaders 5.0.0-rc.7 → 5.0.0-rc.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/OBJ/index.d.ts +4 -4
- package/OBJ/index.js +4 -4
- package/OBJ/mtlFileLoader.d.ts +41 -41
- package/OBJ/mtlFileLoader.js +232 -232
- package/OBJ/objFileLoader.d.ts +126 -126
- package/OBJ/objFileLoader.js +296 -296
- package/OBJ/objLoadingOptions.d.ts +43 -43
- package/OBJ/objLoadingOptions.js +1 -1
- package/OBJ/solidParser.d.ts +154 -154
- package/OBJ/solidParser.js +693 -693
- package/STL/index.d.ts +1 -1
- package/STL/index.js +1 -1
- package/STL/stlFileLoader.d.ts +64 -64
- package/STL/stlFileLoader.js +233 -233
- package/glTF/1.0/glTFBinaryExtension.d.ts +13 -13
- package/glTF/1.0/glTFBinaryExtension.js +60 -60
- package/glTF/1.0/glTFLoader.d.ts +136 -136
- package/glTF/1.0/glTFLoader.js +1815 -1815
- package/glTF/1.0/glTFLoaderInterfaces.d.ts +412 -412
- package/glTF/1.0/glTFLoaderInterfaces.js +95 -95
- package/glTF/1.0/glTFLoaderUtils.d.ts +62 -62
- package/glTF/1.0/glTFLoaderUtils.js +250 -250
- package/glTF/1.0/glTFMaterialsCommonExtension.d.ts +10 -10
- package/glTF/1.0/glTFMaterialsCommonExtension.js +129 -129
- package/glTF/1.0/index.d.ts +5 -5
- package/glTF/1.0/index.js +5 -5
- package/glTF/2.0/Extensions/EXT_lights_image_based.d.ts +43 -43
- package/glTF/2.0/Extensions/EXT_lights_image_based.js +117 -117
- package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.d.ts +36 -36
- package/glTF/2.0/Extensions/EXT_mesh_gpu_instancing.js +88 -88
- package/glTF/2.0/Extensions/EXT_meshopt_compression.d.ts +34 -34
- package/glTF/2.0/Extensions/EXT_meshopt_compression.js +49 -49
- package/glTF/2.0/Extensions/EXT_texture_webp.d.ts +29 -29
- package/glTF/2.0/Extensions/EXT_texture_webp.js +40 -40
- package/glTF/2.0/Extensions/ExtrasAsMetadata.d.ts +50 -50
- package/glTF/2.0/Extensions/ExtrasAsMetadata.js +73 -73
- package/glTF/2.0/Extensions/KHR_draco_mesh_compression.d.ts +39 -39
- package/glTF/2.0/Extensions/KHR_draco_mesh_compression.js +112 -112
- package/glTF/2.0/Extensions/KHR_lights_punctual.d.ts +36 -36
- package/glTF/2.0/Extensions/KHR_lights_punctual.js +89 -89
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.d.ts +39 -39
- package/glTF/2.0/Extensions/KHR_materials_clearcoat.js +94 -94
- package/glTF/2.0/Extensions/KHR_materials_emissive_strength.d.ts +38 -38
- package/glTF/2.0/Extensions/KHR_materials_emissive_strength.js +53 -53
- package/glTF/2.0/Extensions/KHR_materials_ior.d.ts +42 -42
- package/glTF/2.0/Extensions/KHR_materials_ior.js +62 -62
- package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.d.ts +38 -38
- package/glTF/2.0/Extensions/KHR_materials_pbrSpecularGlossiness.js +80 -80
- package/glTF/2.0/Extensions/KHR_materials_sheen.d.ts +39 -39
- package/glTF/2.0/Extensions/KHR_materials_sheen.js +84 -84
- package/glTF/2.0/Extensions/KHR_materials_specular.d.ts +38 -38
- package/glTF/2.0/Extensions/KHR_materials_specular.js +74 -74
- package/glTF/2.0/Extensions/KHR_materials_translucency.d.ts +39 -39
- package/glTF/2.0/Extensions/KHR_materials_translucency.js +83 -83
- package/glTF/2.0/Extensions/KHR_materials_transmission.d.ts +38 -38
- package/glTF/2.0/Extensions/KHR_materials_transmission.js +288 -288
- package/glTF/2.0/Extensions/KHR_materials_unlit.d.ts +38 -38
- package/glTF/2.0/Extensions/KHR_materials_unlit.js +73 -73
- package/glTF/2.0/Extensions/KHR_materials_variants.d.ts +87 -87
- package/glTF/2.0/Extensions/KHR_materials_variants.js +254 -254
- package/glTF/2.0/Extensions/KHR_materials_volume.d.ts +39 -39
- package/glTF/2.0/Extensions/KHR_materials_volume.js +85 -85
- package/glTF/2.0/Extensions/KHR_mesh_quantization.d.ts +22 -22
- package/glTF/2.0/Extensions/KHR_mesh_quantization.js +23 -23
- package/glTF/2.0/Extensions/KHR_texture_basisu.d.ts +29 -29
- package/glTF/2.0/Extensions/KHR_texture_basisu.js +40 -40
- package/glTF/2.0/Extensions/KHR_texture_transform.d.ts +33 -33
- package/glTF/2.0/Extensions/KHR_texture_transform.js +61 -61
- package/glTF/2.0/Extensions/KHR_xmp_json_ld.d.ts +32 -32
- package/glTF/2.0/Extensions/KHR_xmp_json_ld.js +49 -49
- package/glTF/2.0/Extensions/MSFT_audio_emitter.d.ts +54 -54
- package/glTF/2.0/Extensions/MSFT_audio_emitter.js +240 -240
- package/glTF/2.0/Extensions/MSFT_lod.d.ts +109 -109
- package/glTF/2.0/Extensions/MSFT_lod.js +369 -369
- package/glTF/2.0/Extensions/MSFT_minecraftMesh.d.ts +14 -14
- package/glTF/2.0/Extensions/MSFT_minecraftMesh.js +36 -36
- package/glTF/2.0/Extensions/MSFT_sRGBFactors.d.ts +14 -14
- package/glTF/2.0/Extensions/MSFT_sRGBFactors.js +36 -36
- package/glTF/2.0/Extensions/index.d.ts +26 -26
- package/glTF/2.0/Extensions/index.js +26 -26
- package/glTF/2.0/glTFLoader.d.ts +405 -405
- package/glTF/2.0/glTFLoader.js +2366 -2366
- package/glTF/2.0/glTFLoaderExtension.d.ts +152 -152
- package/glTF/2.0/glTFLoaderExtension.js +1 -1
- package/glTF/2.0/glTFLoaderInterfaces.d.ts +211 -211
- package/glTF/2.0/glTFLoaderInterfaces.js +1 -1
- package/glTF/2.0/index.d.ts +4 -4
- package/glTF/2.0/index.js +4 -4
- package/glTF/glTFFileLoader.d.ts +433 -433
- package/glTF/glTFFileLoader.js +927 -927
- package/glTF/glTFValidation.d.ts +29 -29
- package/glTF/glTFValidation.js +123 -123
- package/glTF/index.d.ts +5 -5
- package/glTF/index.js +5 -5
- package/index.d.ts +3 -3
- package/index.js +3 -3
- package/legacy/legacy-glTF.d.ts +2 -2
- package/legacy/legacy-glTF.js +18 -18
- package/legacy/legacy-glTF1.d.ts +2 -2
- package/legacy/legacy-glTF1.js +14 -14
- package/legacy/legacy-glTF1FileLoader.d.ts +2 -2
- package/legacy/legacy-glTF1FileLoader.js +3 -3
- package/legacy/legacy-glTF2.d.ts +2 -2
- package/legacy/legacy-glTF2.js +32 -32
- package/legacy/legacy-glTF2FileLoader.d.ts +2 -2
- package/legacy/legacy-glTF2FileLoader.js +3 -3
- package/legacy/legacy-glTFFileLoader.d.ts +3 -3
- package/legacy/legacy-glTFFileLoader.js +4 -4
- package/legacy/legacy-objFileLoader.d.ts +1 -1
- package/legacy/legacy-objFileLoader.js +12 -12
- package/legacy/legacy-stlFileLoader.d.ts +1 -1
- package/legacy/legacy-stlFileLoader.js +12 -12
- package/legacy/legacy.d.ts +6 -6
- package/legacy/legacy.js +7 -7
- package/package.json +3 -3
@@ -1,130 +1,130 @@
|
|
1
|
-
import { __extends } from "tslib";
|
2
|
-
import { GLTFLoaderExtension, GLTFLoaderBase, GLTFLoader } from "./glTFLoader
|
3
|
-
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
4
|
-
import { Color3 } from "@babylonjs/core/Maths/math.color.js";
|
5
|
-
import { Tools } from "@babylonjs/core/Misc/tools.js";
|
6
|
-
import { Material } from "@babylonjs/core/Materials/material.js";
|
7
|
-
import { StandardMaterial } from "@babylonjs/core/Materials/standardMaterial.js";
|
8
|
-
import { HemisphericLight } from "@babylonjs/core/Lights/hemisphericLight.js";
|
9
|
-
import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight.js";
|
10
|
-
import { PointLight } from "@babylonjs/core/Lights/pointLight.js";
|
11
|
-
import { SpotLight } from "@babylonjs/core/Lights/spotLight.js";
|
12
|
-
/** @hidden */
|
13
|
-
var GLTFMaterialsCommonExtension = /** @class */ (function (_super) {
|
14
|
-
__extends(GLTFMaterialsCommonExtension, _super);
|
15
|
-
function GLTFMaterialsCommonExtension() {
|
16
|
-
return _super.call(this, "KHR_materials_common") || this;
|
17
|
-
}
|
18
|
-
GLTFMaterialsCommonExtension.prototype.loadRuntimeExtensionsAsync = function (gltfRuntime) {
|
19
|
-
if (!gltfRuntime.extensions) {
|
20
|
-
return false;
|
21
|
-
}
|
22
|
-
var extension = gltfRuntime.extensions[this.name];
|
23
|
-
if (!extension) {
|
24
|
-
return false;
|
25
|
-
}
|
26
|
-
// Create lights
|
27
|
-
var lights = extension.lights;
|
28
|
-
if (lights) {
|
29
|
-
for (var thing in lights) {
|
30
|
-
var light = lights[thing];
|
31
|
-
switch (light.type) {
|
32
|
-
case "ambient": {
|
33
|
-
var ambientLight = new HemisphericLight(light.name, new Vector3(0, 1, 0), gltfRuntime.scene);
|
34
|
-
var ambient = light.ambient;
|
35
|
-
if (ambient) {
|
36
|
-
ambientLight.diffuse = Color3.FromArray(ambient.color || [1, 1, 1]);
|
37
|
-
}
|
38
|
-
break;
|
39
|
-
}
|
40
|
-
case "point": {
|
41
|
-
var pointLight = new PointLight(light.name, new Vector3(10, 10, 10), gltfRuntime.scene);
|
42
|
-
var point = light.point;
|
43
|
-
if (point) {
|
44
|
-
pointLight.diffuse = Color3.FromArray(point.color || [1, 1, 1]);
|
45
|
-
}
|
46
|
-
break;
|
47
|
-
}
|
48
|
-
case "directional": {
|
49
|
-
var dirLight = new DirectionalLight(light.name, new Vector3(0, -1, 0), gltfRuntime.scene);
|
50
|
-
var directional = light.directional;
|
51
|
-
if (directional) {
|
52
|
-
dirLight.diffuse = Color3.FromArray(directional.color || [1, 1, 1]);
|
53
|
-
}
|
54
|
-
break;
|
55
|
-
}
|
56
|
-
case "spot": {
|
57
|
-
var spot = light.spot;
|
58
|
-
if (spot) {
|
59
|
-
var spotLight = new SpotLight(light.name, new Vector3(0, 10, 0), new Vector3(0, -1, 0), spot.fallOffAngle || Math.PI, spot.fallOffExponent || 0.0, gltfRuntime.scene);
|
60
|
-
spotLight.diffuse = Color3.FromArray(spot.color || [1, 1, 1]);
|
61
|
-
}
|
62
|
-
break;
|
63
|
-
}
|
64
|
-
default:
|
65
|
-
Tools.Warn('GLTF Material Common extension: light type "' + light.type + "” not supported");
|
66
|
-
break;
|
67
|
-
}
|
68
|
-
}
|
69
|
-
}
|
70
|
-
return false;
|
71
|
-
};
|
72
|
-
GLTFMaterialsCommonExtension.prototype.loadMaterialAsync = function (gltfRuntime, id, onSuccess, onError) {
|
73
|
-
var material = gltfRuntime.materials[id];
|
74
|
-
if (!material || !material.extensions) {
|
75
|
-
return false;
|
76
|
-
}
|
77
|
-
var extension = material.extensions[this.name];
|
78
|
-
if (!extension) {
|
79
|
-
return false;
|
80
|
-
}
|
81
|
-
var standardMaterial = new StandardMaterial(id, gltfRuntime.scene);
|
82
|
-
standardMaterial.sideOrientation = Material.CounterClockWiseSideOrientation;
|
83
|
-
if (extension.technique === "CONSTANT") {
|
84
|
-
standardMaterial.disableLighting = true;
|
85
|
-
}
|
86
|
-
standardMaterial.backFaceCulling = extension.doubleSided === undefined ? false : !extension.doubleSided;
|
87
|
-
standardMaterial.alpha = extension.values.transparency === undefined ? 1.0 : extension.values.transparency;
|
88
|
-
standardMaterial.specularPower = extension.values.shininess === undefined ? 0.0 : extension.values.shininess;
|
89
|
-
// Ambient
|
90
|
-
if (typeof extension.values.ambient === "string") {
|
91
|
-
this._loadTexture(gltfRuntime, extension.values.ambient, standardMaterial, "ambientTexture", onError);
|
92
|
-
}
|
93
|
-
else {
|
94
|
-
standardMaterial.ambientColor = Color3.FromArray(extension.values.ambient || [0, 0, 0]);
|
95
|
-
}
|
96
|
-
// Diffuse
|
97
|
-
if (typeof extension.values.diffuse === "string") {
|
98
|
-
this._loadTexture(gltfRuntime, extension.values.diffuse, standardMaterial, "diffuseTexture", onError);
|
99
|
-
}
|
100
|
-
else {
|
101
|
-
standardMaterial.diffuseColor = Color3.FromArray(extension.values.diffuse || [0, 0, 0]);
|
102
|
-
}
|
103
|
-
// Emission
|
104
|
-
if (typeof extension.values.emission === "string") {
|
105
|
-
this._loadTexture(gltfRuntime, extension.values.emission, standardMaterial, "emissiveTexture", onError);
|
106
|
-
}
|
107
|
-
else {
|
108
|
-
standardMaterial.emissiveColor = Color3.FromArray(extension.values.emission || [0, 0, 0]);
|
109
|
-
}
|
110
|
-
// Specular
|
111
|
-
if (typeof extension.values.specular === "string") {
|
112
|
-
this._loadTexture(gltfRuntime, extension.values.specular, standardMaterial, "specularTexture", onError);
|
113
|
-
}
|
114
|
-
else {
|
115
|
-
standardMaterial.specularColor = Color3.FromArray(extension.values.specular || [0, 0, 0]);
|
116
|
-
}
|
117
|
-
return true;
|
118
|
-
};
|
119
|
-
GLTFMaterialsCommonExtension.prototype._loadTexture = function (gltfRuntime, id, material, propertyPath, onError) {
|
120
|
-
// Create buffer from texture url
|
121
|
-
GLTFLoaderBase.LoadTextureBufferAsync(gltfRuntime, id, function (buffer) {
|
122
|
-
// Create texture from buffer
|
123
|
-
GLTFLoaderBase.CreateTextureAsync(gltfRuntime, id, buffer, function (texture) { return (material[propertyPath] = texture); });
|
124
|
-
}, onError);
|
125
|
-
};
|
126
|
-
return GLTFMaterialsCommonExtension;
|
127
|
-
}(GLTFLoaderExtension));
|
128
|
-
export { GLTFMaterialsCommonExtension };
|
129
|
-
GLTFLoader.RegisterExtension(new GLTFMaterialsCommonExtension());
|
1
|
+
import { __extends } from "tslib";
|
2
|
+
import { GLTFLoaderExtension, GLTFLoaderBase, GLTFLoader } from "./glTFLoader";
|
3
|
+
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
4
|
+
import { Color3 } from "@babylonjs/core/Maths/math.color.js";
|
5
|
+
import { Tools } from "@babylonjs/core/Misc/tools.js";
|
6
|
+
import { Material } from "@babylonjs/core/Materials/material.js";
|
7
|
+
import { StandardMaterial } from "@babylonjs/core/Materials/standardMaterial.js";
|
8
|
+
import { HemisphericLight } from "@babylonjs/core/Lights/hemisphericLight.js";
|
9
|
+
import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight.js";
|
10
|
+
import { PointLight } from "@babylonjs/core/Lights/pointLight.js";
|
11
|
+
import { SpotLight } from "@babylonjs/core/Lights/spotLight.js";
|
12
|
+
/** @hidden */
|
13
|
+
var GLTFMaterialsCommonExtension = /** @class */ (function (_super) {
|
14
|
+
__extends(GLTFMaterialsCommonExtension, _super);
|
15
|
+
function GLTFMaterialsCommonExtension() {
|
16
|
+
return _super.call(this, "KHR_materials_common") || this;
|
17
|
+
}
|
18
|
+
GLTFMaterialsCommonExtension.prototype.loadRuntimeExtensionsAsync = function (gltfRuntime) {
|
19
|
+
if (!gltfRuntime.extensions) {
|
20
|
+
return false;
|
21
|
+
}
|
22
|
+
var extension = gltfRuntime.extensions[this.name];
|
23
|
+
if (!extension) {
|
24
|
+
return false;
|
25
|
+
}
|
26
|
+
// Create lights
|
27
|
+
var lights = extension.lights;
|
28
|
+
if (lights) {
|
29
|
+
for (var thing in lights) {
|
30
|
+
var light = lights[thing];
|
31
|
+
switch (light.type) {
|
32
|
+
case "ambient": {
|
33
|
+
var ambientLight = new HemisphericLight(light.name, new Vector3(0, 1, 0), gltfRuntime.scene);
|
34
|
+
var ambient = light.ambient;
|
35
|
+
if (ambient) {
|
36
|
+
ambientLight.diffuse = Color3.FromArray(ambient.color || [1, 1, 1]);
|
37
|
+
}
|
38
|
+
break;
|
39
|
+
}
|
40
|
+
case "point": {
|
41
|
+
var pointLight = new PointLight(light.name, new Vector3(10, 10, 10), gltfRuntime.scene);
|
42
|
+
var point = light.point;
|
43
|
+
if (point) {
|
44
|
+
pointLight.diffuse = Color3.FromArray(point.color || [1, 1, 1]);
|
45
|
+
}
|
46
|
+
break;
|
47
|
+
}
|
48
|
+
case "directional": {
|
49
|
+
var dirLight = new DirectionalLight(light.name, new Vector3(0, -1, 0), gltfRuntime.scene);
|
50
|
+
var directional = light.directional;
|
51
|
+
if (directional) {
|
52
|
+
dirLight.diffuse = Color3.FromArray(directional.color || [1, 1, 1]);
|
53
|
+
}
|
54
|
+
break;
|
55
|
+
}
|
56
|
+
case "spot": {
|
57
|
+
var spot = light.spot;
|
58
|
+
if (spot) {
|
59
|
+
var spotLight = new SpotLight(light.name, new Vector3(0, 10, 0), new Vector3(0, -1, 0), spot.fallOffAngle || Math.PI, spot.fallOffExponent || 0.0, gltfRuntime.scene);
|
60
|
+
spotLight.diffuse = Color3.FromArray(spot.color || [1, 1, 1]);
|
61
|
+
}
|
62
|
+
break;
|
63
|
+
}
|
64
|
+
default:
|
65
|
+
Tools.Warn('GLTF Material Common extension: light type "' + light.type + "” not supported");
|
66
|
+
break;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
}
|
70
|
+
return false;
|
71
|
+
};
|
72
|
+
GLTFMaterialsCommonExtension.prototype.loadMaterialAsync = function (gltfRuntime, id, onSuccess, onError) {
|
73
|
+
var material = gltfRuntime.materials[id];
|
74
|
+
if (!material || !material.extensions) {
|
75
|
+
return false;
|
76
|
+
}
|
77
|
+
var extension = material.extensions[this.name];
|
78
|
+
if (!extension) {
|
79
|
+
return false;
|
80
|
+
}
|
81
|
+
var standardMaterial = new StandardMaterial(id, gltfRuntime.scene);
|
82
|
+
standardMaterial.sideOrientation = Material.CounterClockWiseSideOrientation;
|
83
|
+
if (extension.technique === "CONSTANT") {
|
84
|
+
standardMaterial.disableLighting = true;
|
85
|
+
}
|
86
|
+
standardMaterial.backFaceCulling = extension.doubleSided === undefined ? false : !extension.doubleSided;
|
87
|
+
standardMaterial.alpha = extension.values.transparency === undefined ? 1.0 : extension.values.transparency;
|
88
|
+
standardMaterial.specularPower = extension.values.shininess === undefined ? 0.0 : extension.values.shininess;
|
89
|
+
// Ambient
|
90
|
+
if (typeof extension.values.ambient === "string") {
|
91
|
+
this._loadTexture(gltfRuntime, extension.values.ambient, standardMaterial, "ambientTexture", onError);
|
92
|
+
}
|
93
|
+
else {
|
94
|
+
standardMaterial.ambientColor = Color3.FromArray(extension.values.ambient || [0, 0, 0]);
|
95
|
+
}
|
96
|
+
// Diffuse
|
97
|
+
if (typeof extension.values.diffuse === "string") {
|
98
|
+
this._loadTexture(gltfRuntime, extension.values.diffuse, standardMaterial, "diffuseTexture", onError);
|
99
|
+
}
|
100
|
+
else {
|
101
|
+
standardMaterial.diffuseColor = Color3.FromArray(extension.values.diffuse || [0, 0, 0]);
|
102
|
+
}
|
103
|
+
// Emission
|
104
|
+
if (typeof extension.values.emission === "string") {
|
105
|
+
this._loadTexture(gltfRuntime, extension.values.emission, standardMaterial, "emissiveTexture", onError);
|
106
|
+
}
|
107
|
+
else {
|
108
|
+
standardMaterial.emissiveColor = Color3.FromArray(extension.values.emission || [0, 0, 0]);
|
109
|
+
}
|
110
|
+
// Specular
|
111
|
+
if (typeof extension.values.specular === "string") {
|
112
|
+
this._loadTexture(gltfRuntime, extension.values.specular, standardMaterial, "specularTexture", onError);
|
113
|
+
}
|
114
|
+
else {
|
115
|
+
standardMaterial.specularColor = Color3.FromArray(extension.values.specular || [0, 0, 0]);
|
116
|
+
}
|
117
|
+
return true;
|
118
|
+
};
|
119
|
+
GLTFMaterialsCommonExtension.prototype._loadTexture = function (gltfRuntime, id, material, propertyPath, onError) {
|
120
|
+
// Create buffer from texture url
|
121
|
+
GLTFLoaderBase.LoadTextureBufferAsync(gltfRuntime, id, function (buffer) {
|
122
|
+
// Create texture from buffer
|
123
|
+
GLTFLoaderBase.CreateTextureAsync(gltfRuntime, id, buffer, function (texture) { return (material[propertyPath] = texture); });
|
124
|
+
}, onError);
|
125
|
+
};
|
126
|
+
return GLTFMaterialsCommonExtension;
|
127
|
+
}(GLTFLoaderExtension));
|
128
|
+
export { GLTFMaterialsCommonExtension };
|
129
|
+
GLTFLoader.RegisterExtension(new GLTFMaterialsCommonExtension());
|
130
130
|
//# sourceMappingURL=glTFMaterialsCommonExtension.js.map
|
package/glTF/1.0/index.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
export * from "./glTFBinaryExtension";
|
2
|
-
export * from "./glTFLoader";
|
3
|
-
export * from "./glTFLoaderInterfaces";
|
4
|
-
export * from "./glTFLoaderUtils";
|
5
|
-
export * from "./glTFMaterialsCommonExtension";
|
1
|
+
export * from "./glTFBinaryExtension";
|
2
|
+
export * from "./glTFLoader";
|
3
|
+
export * from "./glTFLoaderInterfaces";
|
4
|
+
export * from "./glTFLoaderUtils";
|
5
|
+
export * from "./glTFMaterialsCommonExtension";
|
package/glTF/1.0/index.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
export * from "./glTFBinaryExtension
|
2
|
-
export * from "./glTFLoader
|
3
|
-
export * from "./glTFLoaderInterfaces
|
4
|
-
export * from "./glTFLoaderUtils
|
5
|
-
export * from "./glTFMaterialsCommonExtension
|
1
|
+
export * from "./glTFBinaryExtension";
|
2
|
+
export * from "./glTFLoader";
|
3
|
+
export * from "./glTFLoaderInterfaces";
|
4
|
+
export * from "./glTFLoaderUtils";
|
5
|
+
export * from "./glTFMaterialsCommonExtension";
|
6
6
|
//# sourceMappingURL=index.js.map
|
@@ -1,43 +1,43 @@
|
|
1
|
-
import { Nullable } from "@babylonjs/core/types.js";
|
2
|
-
import { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture.js";
|
3
|
-
import { IScene } from "../glTFLoaderInterfaces";
|
4
|
-
import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
|
5
|
-
import { GLTFLoader } from "../glTFLoader";
|
6
|
-
declare module "babylonjs-gltf2interface" {
|
7
|
-
/** @hidden */
|
8
|
-
interface IEXTLightsImageBased_LightImageBased {
|
9
|
-
_babylonTexture?: BaseTexture;
|
10
|
-
_loaded?: Promise<void>;
|
11
|
-
}
|
12
|
-
}
|
13
|
-
/**
|
14
|
-
* [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Vendor/EXT_lights_image_based/README.md)
|
15
|
-
*/
|
16
|
-
export declare class EXT_lights_image_based implements IGLTFLoaderExtension {
|
17
|
-
/**
|
18
|
-
* The name of this extension.
|
19
|
-
*/
|
20
|
-
readonly name = "EXT_lights_image_based";
|
21
|
-
/**
|
22
|
-
* Defines whether this extension is enabled.
|
23
|
-
*/
|
24
|
-
enabled: boolean;
|
25
|
-
private _loader;
|
26
|
-
private _lights?;
|
27
|
-
/**
|
28
|
-
* @param loader
|
29
|
-
* @hidden
|
30
|
-
*/
|
31
|
-
constructor(loader: GLTFLoader);
|
32
|
-
/** @hidden */
|
33
|
-
dispose(): void;
|
34
|
-
/** @hidden */
|
35
|
-
onLoading(): void;
|
36
|
-
/**
|
37
|
-
* @param context
|
38
|
-
* @param scene
|
39
|
-
* @hidden
|
40
|
-
*/
|
41
|
-
loadSceneAsync(context: string, scene: IScene): Nullable<Promise<void>>;
|
42
|
-
private _loadLightAsync;
|
43
|
-
}
|
1
|
+
import { Nullable } from "@babylonjs/core/types.js";
|
2
|
+
import { BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture.js";
|
3
|
+
import { IScene } from "../glTFLoaderInterfaces";
|
4
|
+
import { IGLTFLoaderExtension } from "../glTFLoaderExtension";
|
5
|
+
import { GLTFLoader } from "../glTFLoader";
|
6
|
+
declare module "babylonjs-gltf2interface" {
|
7
|
+
/** @hidden */
|
8
|
+
interface IEXTLightsImageBased_LightImageBased {
|
9
|
+
_babylonTexture?: BaseTexture;
|
10
|
+
_loaded?: Promise<void>;
|
11
|
+
}
|
12
|
+
}
|
13
|
+
/**
|
14
|
+
* [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Vendor/EXT_lights_image_based/README.md)
|
15
|
+
*/
|
16
|
+
export declare class EXT_lights_image_based implements IGLTFLoaderExtension {
|
17
|
+
/**
|
18
|
+
* The name of this extension.
|
19
|
+
*/
|
20
|
+
readonly name = "EXT_lights_image_based";
|
21
|
+
/**
|
22
|
+
* Defines whether this extension is enabled.
|
23
|
+
*/
|
24
|
+
enabled: boolean;
|
25
|
+
private _loader;
|
26
|
+
private _lights?;
|
27
|
+
/**
|
28
|
+
* @param loader
|
29
|
+
* @hidden
|
30
|
+
*/
|
31
|
+
constructor(loader: GLTFLoader);
|
32
|
+
/** @hidden */
|
33
|
+
dispose(): void;
|
34
|
+
/** @hidden */
|
35
|
+
onLoading(): void;
|
36
|
+
/**
|
37
|
+
* @param context
|
38
|
+
* @param scene
|
39
|
+
* @hidden
|
40
|
+
*/
|
41
|
+
loadSceneAsync(context: string, scene: IScene): Nullable<Promise<void>>;
|
42
|
+
private _loadLightAsync;
|
43
|
+
}
|
@@ -1,118 +1,118 @@
|
|
1
|
-
import { Scalar } from "@babylonjs/core/Maths/math.scalar.js";
|
2
|
-
import { SphericalHarmonics, SphericalPolynomial } from "@babylonjs/core/Maths/sphericalPolynomial.js";
|
3
|
-
import { Quaternion, Matrix } from "@babylonjs/core/Maths/math.vector.js";
|
4
|
-
import { RawCubeTexture } from "@babylonjs/core/Materials/Textures/rawCubeTexture.js";
|
5
|
-
import { GLTFLoader, ArrayItem } from "../glTFLoader
|
6
|
-
var NAME = "EXT_lights_image_based";
|
7
|
-
/**
|
8
|
-
* [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Vendor/EXT_lights_image_based/README.md)
|
9
|
-
*/
|
10
|
-
var EXT_lights_image_based = /** @class */ (function () {
|
11
|
-
/**
|
12
|
-
* @param loader
|
13
|
-
* @hidden
|
14
|
-
*/
|
15
|
-
function EXT_lights_image_based(loader) {
|
16
|
-
/**
|
17
|
-
* The name of this extension.
|
18
|
-
*/
|
19
|
-
this.name = NAME;
|
20
|
-
this._loader = loader;
|
21
|
-
this.enabled = this._loader.isExtensionUsed(NAME);
|
22
|
-
}
|
23
|
-
/** @hidden */
|
24
|
-
EXT_lights_image_based.prototype.dispose = function () {
|
25
|
-
this._loader = null;
|
26
|
-
delete this._lights;
|
27
|
-
};
|
28
|
-
/** @hidden */
|
29
|
-
EXT_lights_image_based.prototype.onLoading = function () {
|
30
|
-
var extensions = this._loader.gltf.extensions;
|
31
|
-
if (extensions && extensions[this.name]) {
|
32
|
-
var extension = extensions[this.name];
|
33
|
-
this._lights = extension.lights;
|
34
|
-
}
|
35
|
-
};
|
36
|
-
/**
|
37
|
-
* @param context
|
38
|
-
* @param scene
|
39
|
-
* @hidden
|
40
|
-
*/
|
41
|
-
EXT_lights_image_based.prototype.loadSceneAsync = function (context, scene) {
|
42
|
-
var _this = this;
|
43
|
-
return GLTFLoader.LoadExtensionAsync(context, scene, this.name, function (extensionContext, extension) {
|
44
|
-
var promises = new Array();
|
45
|
-
promises.push(_this._loader.loadSceneAsync(context, scene));
|
46
|
-
_this._loader.logOpen("".concat(extensionContext));
|
47
|
-
var light = ArrayItem.Get("".concat(extensionContext, "/light"), _this._lights, extension.light);
|
48
|
-
promises.push(_this._loadLightAsync("/extensions/".concat(_this.name, "/lights/").concat(extension.light), light).then(function (texture) {
|
49
|
-
_this._loader.babylonScene.environmentTexture = texture;
|
50
|
-
}));
|
51
|
-
_this._loader.logClose();
|
52
|
-
return Promise.all(promises).then(function () { });
|
53
|
-
});
|
54
|
-
};
|
55
|
-
EXT_lights_image_based.prototype._loadLightAsync = function (context, light) {
|
56
|
-
var _this = this;
|
57
|
-
if (!light._loaded) {
|
58
|
-
var promises = new Array();
|
59
|
-
this._loader.logOpen("".concat(context));
|
60
|
-
var imageData_1 = new Array(light.specularImages.length);
|
61
|
-
var _loop_1 = function (mipmap) {
|
62
|
-
var faces = light.specularImages[mipmap];
|
63
|
-
imageData_1[mipmap] = new Array(faces.length);
|
64
|
-
var _loop_2 = function (face) {
|
65
|
-
var specularImageContext = "".concat(context, "/specularImages/").concat(mipmap, "/").concat(face);
|
66
|
-
this_1._loader.logOpen("".concat(specularImageContext));
|
67
|
-
var index = faces[face];
|
68
|
-
var image = ArrayItem.Get(specularImageContext, this_1._loader.gltf.images, index);
|
69
|
-
promises.push(this_1._loader.loadImageAsync("/images/".concat(index), image).then(function (data) {
|
70
|
-
imageData_1[mipmap][face] = data;
|
71
|
-
}));
|
72
|
-
this_1._loader.logClose();
|
73
|
-
};
|
74
|
-
for (var face = 0; face < faces.length; face++) {
|
75
|
-
_loop_2(face);
|
76
|
-
}
|
77
|
-
};
|
78
|
-
var this_1 = this;
|
79
|
-
for (var mipmap = 0; mipmap < light.specularImages.length; mipmap++) {
|
80
|
-
_loop_1(mipmap);
|
81
|
-
}
|
82
|
-
this._loader.logClose();
|
83
|
-
light._loaded = Promise.all(promises).then(function () {
|
84
|
-
var babylonTexture = new RawCubeTexture(_this._loader.babylonScene, null, light.specularImageSize);
|
85
|
-
babylonTexture.name = light.name || "environment";
|
86
|
-
light._babylonTexture = babylonTexture;
|
87
|
-
if (light.intensity != undefined) {
|
88
|
-
babylonTexture.level = light.intensity;
|
89
|
-
}
|
90
|
-
if (light.rotation) {
|
91
|
-
var rotation = Quaternion.FromArray(light.rotation);
|
92
|
-
// Invert the rotation so that positive rotation is counter-clockwise.
|
93
|
-
if (!_this._loader.babylonScene.useRightHandedSystem) {
|
94
|
-
rotation = Quaternion.Inverse(rotation);
|
95
|
-
}
|
96
|
-
Matrix.FromQuaternionToRef(rotation, babylonTexture.getReflectionTextureMatrix());
|
97
|
-
}
|
98
|
-
if (!light.irradianceCoefficients) {
|
99
|
-
throw new Error("".concat(context, ": Irradiance coefficients are missing"));
|
100
|
-
}
|
101
|
-
var sphericalHarmonics = SphericalHarmonics.FromArray(light.irradianceCoefficients);
|
102
|
-
sphericalHarmonics.scaleInPlace(light.intensity);
|
103
|
-
sphericalHarmonics.convertIrradianceToLambertianRadiance();
|
104
|
-
var sphericalPolynomial = SphericalPolynomial.FromHarmonics(sphericalHarmonics);
|
105
|
-
// Compute the lod generation scale to fit exactly to the number of levels available.
|
106
|
-
var lodGenerationScale = (imageData_1.length - 1) / Scalar.Log2(light.specularImageSize);
|
107
|
-
return babylonTexture.updateRGBDAsync(imageData_1, sphericalPolynomial, lodGenerationScale);
|
108
|
-
});
|
109
|
-
}
|
110
|
-
return light._loaded.then(function () {
|
111
|
-
return light._babylonTexture;
|
112
|
-
});
|
113
|
-
};
|
114
|
-
return EXT_lights_image_based;
|
115
|
-
}());
|
116
|
-
export { EXT_lights_image_based };
|
117
|
-
GLTFLoader.RegisterExtension(NAME, function (loader) { return new EXT_lights_image_based(loader); });
|
1
|
+
import { Scalar } from "@babylonjs/core/Maths/math.scalar.js";
|
2
|
+
import { SphericalHarmonics, SphericalPolynomial } from "@babylonjs/core/Maths/sphericalPolynomial.js";
|
3
|
+
import { Quaternion, Matrix } from "@babylonjs/core/Maths/math.vector.js";
|
4
|
+
import { RawCubeTexture } from "@babylonjs/core/Materials/Textures/rawCubeTexture.js";
|
5
|
+
import { GLTFLoader, ArrayItem } from "../glTFLoader";
|
6
|
+
var NAME = "EXT_lights_image_based";
|
7
|
+
/**
|
8
|
+
* [Specification](https://github.com/KhronosGroup/glTF/blob/master/extensions/2.0/Vendor/EXT_lights_image_based/README.md)
|
9
|
+
*/
|
10
|
+
var EXT_lights_image_based = /** @class */ (function () {
|
11
|
+
/**
|
12
|
+
* @param loader
|
13
|
+
* @hidden
|
14
|
+
*/
|
15
|
+
function EXT_lights_image_based(loader) {
|
16
|
+
/**
|
17
|
+
* The name of this extension.
|
18
|
+
*/
|
19
|
+
this.name = NAME;
|
20
|
+
this._loader = loader;
|
21
|
+
this.enabled = this._loader.isExtensionUsed(NAME);
|
22
|
+
}
|
23
|
+
/** @hidden */
|
24
|
+
EXT_lights_image_based.prototype.dispose = function () {
|
25
|
+
this._loader = null;
|
26
|
+
delete this._lights;
|
27
|
+
};
|
28
|
+
/** @hidden */
|
29
|
+
EXT_lights_image_based.prototype.onLoading = function () {
|
30
|
+
var extensions = this._loader.gltf.extensions;
|
31
|
+
if (extensions && extensions[this.name]) {
|
32
|
+
var extension = extensions[this.name];
|
33
|
+
this._lights = extension.lights;
|
34
|
+
}
|
35
|
+
};
|
36
|
+
/**
|
37
|
+
* @param context
|
38
|
+
* @param scene
|
39
|
+
* @hidden
|
40
|
+
*/
|
41
|
+
EXT_lights_image_based.prototype.loadSceneAsync = function (context, scene) {
|
42
|
+
var _this = this;
|
43
|
+
return GLTFLoader.LoadExtensionAsync(context, scene, this.name, function (extensionContext, extension) {
|
44
|
+
var promises = new Array();
|
45
|
+
promises.push(_this._loader.loadSceneAsync(context, scene));
|
46
|
+
_this._loader.logOpen("".concat(extensionContext));
|
47
|
+
var light = ArrayItem.Get("".concat(extensionContext, "/light"), _this._lights, extension.light);
|
48
|
+
promises.push(_this._loadLightAsync("/extensions/".concat(_this.name, "/lights/").concat(extension.light), light).then(function (texture) {
|
49
|
+
_this._loader.babylonScene.environmentTexture = texture;
|
50
|
+
}));
|
51
|
+
_this._loader.logClose();
|
52
|
+
return Promise.all(promises).then(function () { });
|
53
|
+
});
|
54
|
+
};
|
55
|
+
EXT_lights_image_based.prototype._loadLightAsync = function (context, light) {
|
56
|
+
var _this = this;
|
57
|
+
if (!light._loaded) {
|
58
|
+
var promises = new Array();
|
59
|
+
this._loader.logOpen("".concat(context));
|
60
|
+
var imageData_1 = new Array(light.specularImages.length);
|
61
|
+
var _loop_1 = function (mipmap) {
|
62
|
+
var faces = light.specularImages[mipmap];
|
63
|
+
imageData_1[mipmap] = new Array(faces.length);
|
64
|
+
var _loop_2 = function (face) {
|
65
|
+
var specularImageContext = "".concat(context, "/specularImages/").concat(mipmap, "/").concat(face);
|
66
|
+
this_1._loader.logOpen("".concat(specularImageContext));
|
67
|
+
var index = faces[face];
|
68
|
+
var image = ArrayItem.Get(specularImageContext, this_1._loader.gltf.images, index);
|
69
|
+
promises.push(this_1._loader.loadImageAsync("/images/".concat(index), image).then(function (data) {
|
70
|
+
imageData_1[mipmap][face] = data;
|
71
|
+
}));
|
72
|
+
this_1._loader.logClose();
|
73
|
+
};
|
74
|
+
for (var face = 0; face < faces.length; face++) {
|
75
|
+
_loop_2(face);
|
76
|
+
}
|
77
|
+
};
|
78
|
+
var this_1 = this;
|
79
|
+
for (var mipmap = 0; mipmap < light.specularImages.length; mipmap++) {
|
80
|
+
_loop_1(mipmap);
|
81
|
+
}
|
82
|
+
this._loader.logClose();
|
83
|
+
light._loaded = Promise.all(promises).then(function () {
|
84
|
+
var babylonTexture = new RawCubeTexture(_this._loader.babylonScene, null, light.specularImageSize);
|
85
|
+
babylonTexture.name = light.name || "environment";
|
86
|
+
light._babylonTexture = babylonTexture;
|
87
|
+
if (light.intensity != undefined) {
|
88
|
+
babylonTexture.level = light.intensity;
|
89
|
+
}
|
90
|
+
if (light.rotation) {
|
91
|
+
var rotation = Quaternion.FromArray(light.rotation);
|
92
|
+
// Invert the rotation so that positive rotation is counter-clockwise.
|
93
|
+
if (!_this._loader.babylonScene.useRightHandedSystem) {
|
94
|
+
rotation = Quaternion.Inverse(rotation);
|
95
|
+
}
|
96
|
+
Matrix.FromQuaternionToRef(rotation, babylonTexture.getReflectionTextureMatrix());
|
97
|
+
}
|
98
|
+
if (!light.irradianceCoefficients) {
|
99
|
+
throw new Error("".concat(context, ": Irradiance coefficients are missing"));
|
100
|
+
}
|
101
|
+
var sphericalHarmonics = SphericalHarmonics.FromArray(light.irradianceCoefficients);
|
102
|
+
sphericalHarmonics.scaleInPlace(light.intensity);
|
103
|
+
sphericalHarmonics.convertIrradianceToLambertianRadiance();
|
104
|
+
var sphericalPolynomial = SphericalPolynomial.FromHarmonics(sphericalHarmonics);
|
105
|
+
// Compute the lod generation scale to fit exactly to the number of levels available.
|
106
|
+
var lodGenerationScale = (imageData_1.length - 1) / Scalar.Log2(light.specularImageSize);
|
107
|
+
return babylonTexture.updateRGBDAsync(imageData_1, sphericalPolynomial, lodGenerationScale);
|
108
|
+
});
|
109
|
+
}
|
110
|
+
return light._loaded.then(function () {
|
111
|
+
return light._babylonTexture;
|
112
|
+
});
|
113
|
+
};
|
114
|
+
return EXT_lights_image_based;
|
115
|
+
}());
|
116
|
+
export { EXT_lights_image_based };
|
117
|
+
GLTFLoader.RegisterExtension(NAME, function (loader) { return new EXT_lights_image_based(loader); });
|
118
118
|
//# sourceMappingURL=EXT_lights_image_based.js.map
|