@loaders.gl/gltf 4.0.0-alpha.6 → 4.0.0-alpha.7
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/dist/dist.min.js +1415 -1339
- package/dist/es5/glb-loader.js +2 -2
- package/dist/es5/glb-loader.js.map +1 -1
- package/dist/es5/glb-writer.js +3 -4
- package/dist/es5/glb-writer.js.map +1 -1
- package/dist/es5/gltf-loader.js +3 -3
- package/dist/es5/gltf-loader.js.map +1 -1
- package/dist/es5/index.js +9 -3
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/api/gltf-extensions.js.map +1 -1
- package/dist/es5/lib/api/gltf-scenegraph.js +47 -30
- package/dist/es5/lib/api/gltf-scenegraph.js.map +1 -1
- package/dist/es5/lib/api/post-process-gltf.js +164 -116
- package/dist/es5/lib/api/post-process-gltf.js.map +1 -1
- package/dist/es5/lib/encoders/encode-glb.js +1 -1
- package/dist/es5/lib/encoders/encode-glb.js.map +1 -1
- package/dist/es5/lib/encoders/encode-gltf.js +2 -3
- package/dist/es5/lib/encoders/encode-gltf.js.map +1 -1
- package/dist/es5/lib/extensions/EXT_meshopt_compression.js +3 -5
- package/dist/es5/lib/extensions/EXT_meshopt_compression.js.map +1 -1
- package/dist/es5/lib/extensions/EXT_texture_webp.js +2 -3
- package/dist/es5/lib/extensions/EXT_texture_webp.js.map +1 -1
- package/dist/es5/lib/extensions/KHR_binary_gltf.js +2 -3
- package/dist/es5/lib/extensions/KHR_binary_gltf.js.map +1 -1
- package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js +6 -5
- package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js.map +1 -1
- package/dist/es5/lib/extensions/KHR_texture_basisu.js +3 -4
- package/dist/es5/lib/extensions/KHR_texture_basisu.js.map +1 -1
- package/dist/es5/lib/extensions/KHR_texture_transform.js +9 -8
- package/dist/es5/lib/extensions/KHR_texture_transform.js.map +1 -1
- package/dist/es5/lib/extensions/deprecated/EXT_feature_metadata.js +2 -2
- package/dist/es5/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -1
- package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js +3 -3
- package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -1
- package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js +3 -3
- package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -1
- package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js +2 -2
- package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -1
- package/dist/es5/lib/gltf-utils/gltf-attribute-utils.js.map +1 -1
- package/dist/es5/lib/gltf-utils/gltf-utils.js +24 -0
- package/dist/es5/lib/gltf-utils/gltf-utils.js.map +1 -1
- package/dist/es5/lib/parsers/parse-glb.js +10 -10
- package/dist/es5/lib/parsers/parse-glb.js.map +1 -1
- package/dist/es5/lib/parsers/parse-gltf.js +6 -10
- package/dist/es5/lib/parsers/parse-gltf.js.map +1 -1
- package/dist/es5/lib/types/gltf-json-schema.js.map +1 -1
- package/dist/es5/lib/types/gltf-postprocessed-schema.js.map +1 -1
- package/dist/es5/lib/types/gltf-types.js.map +1 -1
- package/dist/es5/lib/utils/version.js +1 -1
- package/dist/esm/glb-loader.js +1 -1
- package/dist/esm/glb-loader.js.map +1 -1
- package/dist/esm/glb-writer.js +1 -1
- package/dist/esm/glb-writer.js.map +1 -1
- package/dist/esm/gltf-loader.js +3 -3
- package/dist/esm/gltf-loader.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/api/gltf-extensions.js.map +1 -1
- package/dist/esm/lib/api/gltf-scenegraph.js +40 -29
- package/dist/esm/lib/api/gltf-scenegraph.js.map +1 -1
- package/dist/esm/lib/api/post-process-gltf.js +167 -112
- package/dist/esm/lib/api/post-process-gltf.js.map +1 -1
- package/dist/esm/lib/encoders/encode-glb.js +1 -1
- package/dist/esm/lib/encoders/encode-glb.js.map +1 -1
- package/dist/esm/lib/encoders/encode-gltf.js +1 -1
- package/dist/esm/lib/encoders/encode-gltf.js.map +1 -1
- package/dist/esm/lib/extensions/EXT_meshopt_compression.js +2 -3
- package/dist/esm/lib/extensions/EXT_meshopt_compression.js.map +1 -1
- package/dist/esm/lib/extensions/EXT_texture_webp.js +1 -1
- package/dist/esm/lib/extensions/EXT_texture_webp.js.map +1 -1
- package/dist/esm/lib/extensions/KHR_binary_gltf.js +1 -1
- package/dist/esm/lib/extensions/KHR_binary_gltf.js.map +1 -1
- package/dist/esm/lib/extensions/KHR_draco_mesh_compression.js +5 -4
- package/dist/esm/lib/extensions/KHR_draco_mesh_compression.js.map +1 -1
- package/dist/esm/lib/extensions/KHR_texture_basisu.js +2 -2
- package/dist/esm/lib/extensions/KHR_texture_basisu.js.map +1 -1
- package/dist/esm/lib/extensions/KHR_texture_transform.js +7 -6
- package/dist/esm/lib/extensions/KHR_texture_transform.js.map +1 -1
- package/dist/esm/lib/extensions/deprecated/EXT_feature_metadata.js +1 -1
- package/dist/esm/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -1
- package/dist/esm/lib/extensions/deprecated/KHR_lights_punctual.js +1 -1
- package/dist/esm/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -1
- package/dist/esm/lib/extensions/deprecated/KHR_materials_unlit.js +1 -1
- package/dist/esm/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -1
- package/dist/esm/lib/extensions/deprecated/KHR_techniques_webgl.js +1 -1
- package/dist/esm/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -1
- package/dist/esm/lib/gltf-utils/gltf-attribute-utils.js.map +1 -1
- package/dist/esm/lib/gltf-utils/gltf-utils.js +20 -0
- package/dist/esm/lib/gltf-utils/gltf-utils.js.map +1 -1
- package/dist/esm/lib/parsers/parse-glb.js +10 -10
- package/dist/esm/lib/parsers/parse-glb.js.map +1 -1
- package/dist/esm/lib/parsers/parse-gltf.js +5 -6
- package/dist/esm/lib/parsers/parse-gltf.js.map +1 -1
- package/dist/esm/lib/types/gltf-json-schema.js.map +1 -1
- package/dist/esm/lib/types/gltf-postprocessed-schema.js.map +1 -1
- package/dist/esm/lib/types/gltf-types.js.map +1 -1
- package/dist/esm/lib/utils/version.js +1 -1
- package/dist/glb-loader.d.ts +2 -2
- package/dist/glb-loader.js +2 -5
- package/dist/glb-writer.d.ts.map +1 -1
- package/dist/glb-writer.js +4 -6
- package/dist/gltf-loader.d.ts +5 -5
- package/dist/gltf-loader.d.ts.map +1 -1
- package/dist/gltf-loader.js +3 -3
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -5
- package/dist/lib/api/gltf-extensions.d.ts +1 -1
- package/dist/lib/api/gltf-extensions.d.ts.map +1 -1
- package/dist/lib/api/gltf-scenegraph.d.ts +6 -4
- package/dist/lib/api/gltf-scenegraph.d.ts.map +1 -1
- package/dist/lib/api/gltf-scenegraph.js +43 -30
- package/dist/lib/api/post-process-gltf.d.ts +4 -1
- package/dist/lib/api/post-process-gltf.d.ts.map +1 -1
- package/dist/lib/api/post-process-gltf.js +186 -123
- package/dist/lib/encoders/encode-glb.d.ts +13 -1
- package/dist/lib/encoders/encode-glb.d.ts.map +1 -1
- package/dist/lib/encoders/encode-glb.js +15 -4
- package/dist/lib/encoders/encode-gltf.js +2 -5
- package/dist/lib/extensions/EXT_meshopt_compression.d.ts +1 -1
- package/dist/lib/extensions/EXT_meshopt_compression.d.ts.map +1 -1
- package/dist/lib/extensions/EXT_meshopt_compression.js +3 -7
- package/dist/lib/extensions/EXT_texture_webp.d.ts +1 -1
- package/dist/lib/extensions/EXT_texture_webp.d.ts.map +1 -1
- package/dist/lib/extensions/EXT_texture_webp.js +2 -5
- package/dist/lib/extensions/KHR_binary_gltf.d.ts +1 -1
- package/dist/lib/extensions/KHR_binary_gltf.d.ts.map +1 -1
- package/dist/lib/extensions/KHR_binary_gltf.js +2 -5
- package/dist/lib/extensions/KHR_draco_mesh_compression.d.ts +1 -1
- package/dist/lib/extensions/KHR_draco_mesh_compression.d.ts.map +1 -1
- package/dist/lib/extensions/KHR_draco_mesh_compression.js +5 -8
- package/dist/lib/extensions/KHR_texture_basisu.d.ts +1 -1
- package/dist/lib/extensions/KHR_texture_basisu.d.ts.map +1 -1
- package/dist/lib/extensions/KHR_texture_basisu.js +3 -6
- package/dist/lib/extensions/KHR_texture_transform.d.ts.map +1 -1
- package/dist/lib/extensions/KHR_texture_transform.js +7 -10
- package/dist/lib/extensions/deprecated/EXT_feature_metadata.d.ts +1 -1
- package/dist/lib/extensions/deprecated/EXT_feature_metadata.d.ts.map +1 -1
- package/dist/lib/extensions/deprecated/EXT_feature_metadata.js +2 -5
- package/dist/lib/extensions/deprecated/KHR_lights_punctual.d.ts +1 -1
- package/dist/lib/extensions/deprecated/KHR_lights_punctual.d.ts.map +1 -1
- package/dist/lib/extensions/deprecated/KHR_lights_punctual.js +3 -6
- package/dist/lib/extensions/deprecated/KHR_materials_unlit.d.ts +1 -1
- package/dist/lib/extensions/deprecated/KHR_materials_unlit.d.ts.map +1 -1
- package/dist/lib/extensions/deprecated/KHR_materials_unlit.js +3 -6
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.d.ts +1 -1
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.d.ts.map +1 -1
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js +2 -5
- package/dist/lib/gltf-utils/gltf-attribute-utils.d.ts +1 -1
- package/dist/lib/gltf-utils/gltf-attribute-utils.d.ts.map +1 -1
- package/dist/lib/gltf-utils/gltf-utils.d.ts +7 -0
- package/dist/lib/gltf-utils/gltf-utils.d.ts.map +1 -1
- package/dist/lib/gltf-utils/gltf-utils.js +28 -1
- package/dist/lib/parsers/parse-glb.d.ts +15 -3
- package/dist/lib/parsers/parse-glb.d.ts.map +1 -1
- package/dist/lib/parsers/parse-glb.js +43 -18
- package/dist/lib/parsers/parse-gltf.d.ts +8 -4
- package/dist/lib/parsers/parse-gltf.d.ts.map +1 -1
- package/dist/lib/parsers/parse-gltf.js +13 -34
- package/dist/lib/types/gltf-json-schema.d.ts +151 -138
- package/dist/lib/types/gltf-json-schema.d.ts.map +1 -1
- package/dist/lib/types/gltf-postprocessed-schema.d.ts +174 -209
- package/dist/lib/types/gltf-postprocessed-schema.d.ts.map +1 -1
- package/dist/lib/types/gltf-postprocessed-schema.js +1 -1
- package/dist/lib/types/gltf-types.d.ts +18 -6
- package/dist/lib/types/gltf-types.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/glb-loader.ts +3 -3
- package/src/glb-writer.ts +3 -1
- package/src/gltf-loader.ts +12 -8
- package/src/index.ts +32 -13
- package/src/lib/api/gltf-extensions.ts +1 -1
- package/src/lib/api/gltf-scenegraph.ts +55 -37
- package/src/lib/api/post-process-gltf.ts +275 -150
- package/src/lib/encoders/encode-glb.ts +15 -5
- package/src/lib/encoders/encode-gltf.ts +1 -1
- package/src/lib/extensions/EXT_meshopt_compression.ts +4 -6
- package/src/lib/extensions/EXT_texture_webp.ts +2 -2
- package/src/lib/extensions/KHR_binary_gltf.ts +2 -2
- package/src/lib/extensions/KHR_draco_mesh_compression.ts +7 -7
- package/src/lib/extensions/KHR_texture_basisu.ts +3 -3
- package/src/lib/extensions/KHR_texture_transform.ts +22 -19
- package/src/lib/extensions/deprecated/EXT_feature_metadata.ts +2 -2
- package/src/lib/extensions/deprecated/KHR_lights_punctual.ts +2 -2
- package/src/lib/extensions/deprecated/KHR_materials_unlit.ts +2 -2
- package/src/lib/extensions/deprecated/KHR_techniques_webgl.ts +2 -2
- package/src/lib/gltf-utils/gltf-attribute-utils.ts +1 -1
- package/src/lib/gltf-utils/gltf-utils.ts +31 -0
- package/src/lib/parsers/parse-glb.ts +50 -24
- package/src/lib/parsers/parse-gltf.ts +22 -16
- package/src/lib/types/gltf-json-schema.ts +165 -138
- package/src/lib/types/gltf-postprocessed-schema.ts +289 -212
- package/src/lib/types/gltf-types.ts +35 -59
|
@@ -11,7 +11,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
|
|
|
11
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
12
|
var _assert = require("../utils/assert");
|
|
13
13
|
var _gltfUtils = require("../gltf-utils/gltf-utils");
|
|
14
|
-
var
|
|
14
|
+
var _DEFAULT_SAMPLER_PARA;
|
|
15
15
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
16
16
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17
17
|
var COMPONENTS = {
|
|
@@ -46,7 +46,13 @@ var SAMPLER_PARAMETER_GLTF_TO_GL = {
|
|
|
46
46
|
wrapS: GL_SAMPLER.TEXTURE_WRAP_S,
|
|
47
47
|
wrapT: GL_SAMPLER.TEXTURE_WRAP_T
|
|
48
48
|
};
|
|
49
|
-
var
|
|
49
|
+
var DEFAULT_SAMPLER_PARAMETERS = (_DEFAULT_SAMPLER_PARA = {}, (0, _defineProperty2.default)(_DEFAULT_SAMPLER_PARA, GL_SAMPLER.TEXTURE_MAG_FILTER, GL_SAMPLER.LINEAR), (0, _defineProperty2.default)(_DEFAULT_SAMPLER_PARA, GL_SAMPLER.TEXTURE_MIN_FILTER, GL_SAMPLER.NEAREST_MIPMAP_LINEAR), (0, _defineProperty2.default)(_DEFAULT_SAMPLER_PARA, GL_SAMPLER.TEXTURE_WRAP_S, GL_SAMPLER.REPEAT), (0, _defineProperty2.default)(_DEFAULT_SAMPLER_PARA, GL_SAMPLER.TEXTURE_WRAP_T, GL_SAMPLER.REPEAT), _DEFAULT_SAMPLER_PARA);
|
|
50
|
+
function makeDefaultSampler() {
|
|
51
|
+
return {
|
|
52
|
+
id: 'default-sampler',
|
|
53
|
+
parameters: DEFAULT_SAMPLER_PARAMETERS
|
|
54
|
+
};
|
|
55
|
+
}
|
|
50
56
|
function getBytesFromComponentType(componentType) {
|
|
51
57
|
return BYTES[componentType];
|
|
52
58
|
}
|
|
@@ -57,7 +63,8 @@ var GLTFPostProcessor = function () {
|
|
|
57
63
|
function GLTFPostProcessor() {
|
|
58
64
|
(0, _classCallCheck2.default)(this, GLTFPostProcessor);
|
|
59
65
|
(0, _defineProperty2.default)(this, "baseUri", '');
|
|
60
|
-
(0, _defineProperty2.default)(this, "
|
|
66
|
+
(0, _defineProperty2.default)(this, "jsonUnprocessed", void 0);
|
|
67
|
+
(0, _defineProperty2.default)(this, "json", void 0);
|
|
61
68
|
(0, _defineProperty2.default)(this, "buffers", []);
|
|
62
69
|
(0, _defineProperty2.default)(this, "images", []);
|
|
63
70
|
}
|
|
@@ -69,135 +76,141 @@ var GLTFPostProcessor = function () {
|
|
|
69
76
|
_gltf$buffers = gltf.buffers,
|
|
70
77
|
buffers = _gltf$buffers === void 0 ? [] : _gltf$buffers,
|
|
71
78
|
_gltf$images = gltf.images,
|
|
72
|
-
images = _gltf$images === void 0 ? [] : _gltf$images
|
|
73
|
-
|
|
79
|
+
images = _gltf$images === void 0 ? [] : _gltf$images;
|
|
80
|
+
var _gltf$baseUri = gltf.baseUri,
|
|
74
81
|
baseUri = _gltf$baseUri === void 0 ? '' : _gltf$baseUri;
|
|
75
82
|
(0, _assert.assert)(json);
|
|
76
83
|
this.baseUri = baseUri;
|
|
77
|
-
this.json = json;
|
|
78
84
|
this.buffers = buffers;
|
|
79
85
|
this.images = images;
|
|
80
|
-
this.
|
|
86
|
+
this.jsonUnprocessed = json;
|
|
87
|
+
this.json = this._resolveTree(gltf.json, options);
|
|
81
88
|
return this.json;
|
|
82
89
|
}
|
|
83
90
|
}, {
|
|
84
91
|
key: "_resolveTree",
|
|
85
|
-
value: function _resolveTree(
|
|
92
|
+
value: function _resolveTree(gltf) {
|
|
86
93
|
var _this = this;
|
|
87
94
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
88
|
-
|
|
89
|
-
|
|
95
|
+
var json = _objectSpread({}, gltf);
|
|
96
|
+
this.json = json;
|
|
97
|
+
if (gltf.bufferViews) {
|
|
98
|
+
json.bufferViews = gltf.bufferViews.map(function (bufView, i) {
|
|
90
99
|
return _this._resolveBufferView(bufView, i);
|
|
91
100
|
});
|
|
92
101
|
}
|
|
93
|
-
if (
|
|
94
|
-
json.images =
|
|
102
|
+
if (gltf.images) {
|
|
103
|
+
json.images = gltf.images.map(function (image, i) {
|
|
95
104
|
return _this._resolveImage(image, i);
|
|
96
105
|
});
|
|
97
106
|
}
|
|
98
|
-
if (
|
|
99
|
-
json.samplers =
|
|
107
|
+
if (gltf.samplers) {
|
|
108
|
+
json.samplers = gltf.samplers.map(function (sampler, i) {
|
|
100
109
|
return _this._resolveSampler(sampler, i);
|
|
101
110
|
});
|
|
102
111
|
}
|
|
103
|
-
if (
|
|
104
|
-
json.textures =
|
|
112
|
+
if (gltf.textures) {
|
|
113
|
+
json.textures = gltf.textures.map(function (texture, i) {
|
|
105
114
|
return _this._resolveTexture(texture, i);
|
|
106
115
|
});
|
|
107
116
|
}
|
|
108
|
-
if (
|
|
109
|
-
json.accessors =
|
|
117
|
+
if (gltf.accessors) {
|
|
118
|
+
json.accessors = gltf.accessors.map(function (accessor, i) {
|
|
110
119
|
return _this._resolveAccessor(accessor, i);
|
|
111
120
|
});
|
|
112
121
|
}
|
|
113
|
-
if (
|
|
114
|
-
json.materials =
|
|
122
|
+
if (gltf.materials) {
|
|
123
|
+
json.materials = gltf.materials.map(function (material, i) {
|
|
115
124
|
return _this._resolveMaterial(material, i);
|
|
116
125
|
});
|
|
117
126
|
}
|
|
118
|
-
if (
|
|
119
|
-
json.meshes =
|
|
127
|
+
if (gltf.meshes) {
|
|
128
|
+
json.meshes = gltf.meshes.map(function (mesh, i) {
|
|
120
129
|
return _this._resolveMesh(mesh, i);
|
|
121
130
|
});
|
|
122
131
|
}
|
|
123
|
-
if (
|
|
124
|
-
json.nodes =
|
|
132
|
+
if (gltf.nodes) {
|
|
133
|
+
json.nodes = gltf.nodes.map(function (node, i) {
|
|
125
134
|
return _this._resolveNode(node, i);
|
|
126
135
|
});
|
|
136
|
+
json.nodes = json.nodes.map(function (node, i) {
|
|
137
|
+
return _this._resolveNodeChildren(node);
|
|
138
|
+
});
|
|
127
139
|
}
|
|
128
|
-
if (
|
|
129
|
-
json.skins =
|
|
140
|
+
if (gltf.skins) {
|
|
141
|
+
json.skins = gltf.skins.map(function (skin, i) {
|
|
130
142
|
return _this._resolveSkin(skin, i);
|
|
131
143
|
});
|
|
132
144
|
}
|
|
133
|
-
if (
|
|
134
|
-
json.scenes =
|
|
145
|
+
if (gltf.scenes) {
|
|
146
|
+
json.scenes = gltf.scenes.map(function (scene, i) {
|
|
135
147
|
return _this._resolveScene(scene, i);
|
|
136
148
|
});
|
|
137
149
|
}
|
|
138
|
-
if (json.scene
|
|
150
|
+
if (typeof this.json.scene === 'number' && json.scenes) {
|
|
139
151
|
json.scene = json.scenes[this.json.scene];
|
|
140
152
|
}
|
|
153
|
+
return json;
|
|
141
154
|
}
|
|
142
155
|
}, {
|
|
143
156
|
key: "getScene",
|
|
144
157
|
value: function getScene(index) {
|
|
145
|
-
return this._get(
|
|
158
|
+
return this._get(this.json.scenes, index);
|
|
146
159
|
}
|
|
147
160
|
}, {
|
|
148
161
|
key: "getNode",
|
|
149
162
|
value: function getNode(index) {
|
|
150
|
-
return this._get(
|
|
163
|
+
return this._get(this.json.nodes, index);
|
|
151
164
|
}
|
|
152
165
|
}, {
|
|
153
166
|
key: "getSkin",
|
|
154
167
|
value: function getSkin(index) {
|
|
155
|
-
return this._get(
|
|
168
|
+
return this._get(this.json.skins, index);
|
|
156
169
|
}
|
|
157
170
|
}, {
|
|
158
171
|
key: "getMesh",
|
|
159
172
|
value: function getMesh(index) {
|
|
160
|
-
return this._get(
|
|
173
|
+
return this._get(this.json.meshes, index);
|
|
161
174
|
}
|
|
162
175
|
}, {
|
|
163
176
|
key: "getMaterial",
|
|
164
177
|
value: function getMaterial(index) {
|
|
165
|
-
return this._get(
|
|
178
|
+
return this._get(this.json.materials, index);
|
|
166
179
|
}
|
|
167
180
|
}, {
|
|
168
181
|
key: "getAccessor",
|
|
169
182
|
value: function getAccessor(index) {
|
|
170
|
-
return this._get(
|
|
183
|
+
return this._get(this.json.accessors, index);
|
|
171
184
|
}
|
|
172
185
|
}, {
|
|
173
186
|
key: "getCamera",
|
|
174
187
|
value: function getCamera(index) {
|
|
175
|
-
return
|
|
188
|
+
return this._get(this.json.cameras, index);
|
|
176
189
|
}
|
|
177
190
|
}, {
|
|
178
191
|
key: "getTexture",
|
|
179
192
|
value: function getTexture(index) {
|
|
180
|
-
return this._get(
|
|
193
|
+
return this._get(this.json.textures, index);
|
|
181
194
|
}
|
|
182
195
|
}, {
|
|
183
196
|
key: "getSampler",
|
|
184
197
|
value: function getSampler(index) {
|
|
185
|
-
return this._get(
|
|
198
|
+
return this._get(this.json.samplers, index);
|
|
186
199
|
}
|
|
187
200
|
}, {
|
|
188
201
|
key: "getImage",
|
|
189
202
|
value: function getImage(index) {
|
|
190
|
-
return this._get(
|
|
203
|
+
return this._get(this.json.images, index);
|
|
191
204
|
}
|
|
192
205
|
}, {
|
|
193
206
|
key: "getBufferView",
|
|
194
207
|
value: function getBufferView(index) {
|
|
195
|
-
return this._get(
|
|
208
|
+
return this._get(this.json.bufferViews, index);
|
|
196
209
|
}
|
|
197
210
|
}, {
|
|
198
211
|
key: "getBuffer",
|
|
199
212
|
value: function getBuffer(index) {
|
|
200
|
-
return this._get(
|
|
213
|
+
return this._get(this.json.buffers, index);
|
|
201
214
|
}
|
|
202
215
|
}, {
|
|
203
216
|
key: "_get",
|
|
@@ -205,7 +218,7 @@ var GLTFPostProcessor = function () {
|
|
|
205
218
|
if ((0, _typeof2.default)(index) === 'object') {
|
|
206
219
|
return index;
|
|
207
220
|
}
|
|
208
|
-
var object =
|
|
221
|
+
var object = array && array[index];
|
|
209
222
|
if (!object) {
|
|
210
223
|
console.warn("glTF file error: Could not find ".concat(array, "[").concat(index, "]"));
|
|
211
224
|
}
|
|
@@ -215,26 +228,31 @@ var GLTFPostProcessor = function () {
|
|
|
215
228
|
key: "_resolveScene",
|
|
216
229
|
value: function _resolveScene(scene, index) {
|
|
217
230
|
var _this2 = this;
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
231
|
+
return _objectSpread(_objectSpread({}, scene), {}, {
|
|
232
|
+
id: scene.id || "scene-".concat(index),
|
|
233
|
+
nodes: (scene.nodes || []).map(function (node) {
|
|
234
|
+
return _this2.getNode(node);
|
|
235
|
+
})
|
|
221
236
|
});
|
|
222
|
-
return scene;
|
|
223
237
|
}
|
|
224
238
|
}, {
|
|
225
239
|
key: "_resolveNode",
|
|
226
|
-
value: function _resolveNode(
|
|
240
|
+
value: function _resolveNode(gltfNode, index) {
|
|
227
241
|
var _this3 = this;
|
|
228
|
-
node
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
242
|
+
var node = _objectSpread(_objectSpread({}, gltfNode), {}, {
|
|
243
|
+
id: (gltfNode === null || gltfNode === void 0 ? void 0 : gltfNode.id) || "node-".concat(index)
|
|
244
|
+
});
|
|
245
|
+
if (gltfNode.mesh !== undefined) {
|
|
246
|
+
node.mesh = this.getMesh(gltfNode.mesh);
|
|
247
|
+
}
|
|
248
|
+
if (gltfNode.camera !== undefined) {
|
|
249
|
+
node.camera = this.getCamera(gltfNode.camera);
|
|
233
250
|
}
|
|
234
|
-
if (
|
|
235
|
-
node.
|
|
236
|
-
}
|
|
237
|
-
|
|
251
|
+
if (gltfNode.skin !== undefined) {
|
|
252
|
+
node.skin = this.getSkin(gltfNode.skin);
|
|
253
|
+
}
|
|
254
|
+
if (gltfNode.meshes !== undefined && gltfNode.meshes.length) {
|
|
255
|
+
node.mesh = gltfNode.meshes.reduce(function (accum, meshIndex) {
|
|
238
256
|
var mesh = _this3.getMesh(meshIndex);
|
|
239
257
|
accum.id = mesh.id;
|
|
240
258
|
accum.primitives = accum.primitives.concat(mesh.primitives);
|
|
@@ -243,39 +261,52 @@ var GLTFPostProcessor = function () {
|
|
|
243
261
|
primitives: []
|
|
244
262
|
});
|
|
245
263
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
264
|
+
return node;
|
|
265
|
+
}
|
|
266
|
+
}, {
|
|
267
|
+
key: "_resolveNodeChildren",
|
|
268
|
+
value: function _resolveNodeChildren(node) {
|
|
269
|
+
var _this4 = this;
|
|
270
|
+
if (node.children) {
|
|
271
|
+
node.children = node.children.map(function (child) {
|
|
272
|
+
return _this4.getNode(child);
|
|
273
|
+
});
|
|
251
274
|
}
|
|
252
275
|
return node;
|
|
253
276
|
}
|
|
254
277
|
}, {
|
|
255
278
|
key: "_resolveSkin",
|
|
256
|
-
value: function _resolveSkin(
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
279
|
+
value: function _resolveSkin(gltfSkin, index) {
|
|
280
|
+
var inverseBindMatrices = typeof gltfSkin.inverseBindMatrices === 'number' ? this.getAccessor(gltfSkin.inverseBindMatrices) : undefined;
|
|
281
|
+
return _objectSpread(_objectSpread({}, gltfSkin), {}, {
|
|
282
|
+
id: gltfSkin.id || "skin-".concat(index),
|
|
283
|
+
inverseBindMatrices: inverseBindMatrices
|
|
284
|
+
});
|
|
260
285
|
}
|
|
261
286
|
}, {
|
|
262
287
|
key: "_resolveMesh",
|
|
263
|
-
value: function _resolveMesh(
|
|
264
|
-
var
|
|
265
|
-
mesh
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
288
|
+
value: function _resolveMesh(gltfMesh, index) {
|
|
289
|
+
var _this5 = this;
|
|
290
|
+
var mesh = _objectSpread(_objectSpread({}, gltfMesh), {}, {
|
|
291
|
+
id: gltfMesh.id || "mesh-".concat(index),
|
|
292
|
+
primitives: []
|
|
293
|
+
});
|
|
294
|
+
if (gltfMesh.primitives) {
|
|
295
|
+
mesh.primitives = gltfMesh.primitives.map(function (gltfPrimitive) {
|
|
296
|
+
var primitive = _objectSpread(_objectSpread({}, gltfPrimitive), {}, {
|
|
297
|
+
attributes: {},
|
|
298
|
+
indices: undefined,
|
|
299
|
+
material: undefined
|
|
300
|
+
});
|
|
301
|
+
var attributes = gltfPrimitive.attributes;
|
|
271
302
|
for (var attribute in attributes) {
|
|
272
|
-
primitive.attributes[attribute] =
|
|
303
|
+
primitive.attributes[attribute] = _this5.getAccessor(attributes[attribute]);
|
|
273
304
|
}
|
|
274
|
-
if (
|
|
275
|
-
primitive.indices =
|
|
305
|
+
if (gltfPrimitive.indices !== undefined) {
|
|
306
|
+
primitive.indices = _this5.getAccessor(gltfPrimitive.indices);
|
|
276
307
|
}
|
|
277
|
-
if (
|
|
278
|
-
primitive.material =
|
|
308
|
+
if (gltfPrimitive.material !== undefined) {
|
|
309
|
+
primitive.material = _this5.getMaterial(gltfPrimitive.material);
|
|
279
310
|
}
|
|
280
311
|
return primitive;
|
|
281
312
|
});
|
|
@@ -284,22 +315,24 @@ var GLTFPostProcessor = function () {
|
|
|
284
315
|
}
|
|
285
316
|
}, {
|
|
286
317
|
key: "_resolveMaterial",
|
|
287
|
-
value: function _resolveMaterial(
|
|
288
|
-
material
|
|
318
|
+
value: function _resolveMaterial(gltfMaterial, index) {
|
|
319
|
+
var material = _objectSpread(_objectSpread({}, gltfMaterial), {}, {
|
|
320
|
+
id: gltfMaterial.id || "material-".concat(index)
|
|
321
|
+
});
|
|
289
322
|
if (material.normalTexture) {
|
|
290
323
|
material.normalTexture = _objectSpread({}, material.normalTexture);
|
|
291
324
|
material.normalTexture.texture = this.getTexture(material.normalTexture.index);
|
|
292
325
|
}
|
|
293
326
|
if (material.occlusionTexture) {
|
|
294
|
-
material.
|
|
327
|
+
material.occlusionTexture = _objectSpread({}, material.occlusionTexture);
|
|
295
328
|
material.occlusionTexture.texture = this.getTexture(material.occlusionTexture.index);
|
|
296
329
|
}
|
|
297
330
|
if (material.emissiveTexture) {
|
|
298
|
-
material.
|
|
331
|
+
material.emissiveTexture = _objectSpread({}, material.emissiveTexture);
|
|
299
332
|
material.emissiveTexture.texture = this.getTexture(material.emissiveTexture.index);
|
|
300
333
|
}
|
|
301
334
|
if (!material.emissiveFactor) {
|
|
302
|
-
material.emissiveFactor = material.
|
|
335
|
+
material.emissiveFactor = material.emissiveTexture ? [1, 1, 1] : [0, 0, 0];
|
|
303
336
|
}
|
|
304
337
|
if (material.pbrMetallicRoughness) {
|
|
305
338
|
material.pbrMetallicRoughness = _objectSpread({}, material.pbrMetallicRoughness);
|
|
@@ -317,14 +350,22 @@ var GLTFPostProcessor = function () {
|
|
|
317
350
|
}
|
|
318
351
|
}, {
|
|
319
352
|
key: "_resolveAccessor",
|
|
320
|
-
value: function _resolveAccessor(
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
353
|
+
value: function _resolveAccessor(gltfAccessor, index) {
|
|
354
|
+
var bytesPerComponent = getBytesFromComponentType(gltfAccessor.componentType);
|
|
355
|
+
var components = getSizeFromAccessorType(gltfAccessor.type);
|
|
356
|
+
var bytesPerElement = bytesPerComponent * components;
|
|
357
|
+
var accessor = _objectSpread(_objectSpread({}, gltfAccessor), {}, {
|
|
358
|
+
id: gltfAccessor.id || "accessor-".concat(index),
|
|
359
|
+
bytesPerComponent: bytesPerComponent,
|
|
360
|
+
components: components,
|
|
361
|
+
bytesPerElement: bytesPerElement,
|
|
362
|
+
value: undefined,
|
|
363
|
+
bufferView: undefined,
|
|
364
|
+
sparse: undefined
|
|
365
|
+
});
|
|
366
|
+
if (gltfAccessor.bufferView !== undefined) {
|
|
367
|
+
accessor.bufferView = this.getBufferView(gltfAccessor.bufferView);
|
|
324
368
|
}
|
|
325
|
-
accessor.bytesPerComponent = getBytesFromComponentType(accessor.componentType);
|
|
326
|
-
accessor.components = getSizeFromAccessorType(accessor.type);
|
|
327
|
-
accessor.bytesPerElement = accessor.bytesPerComponent * accessor.components;
|
|
328
369
|
if (accessor.bufferView) {
|
|
329
370
|
var buffer = accessor.bufferView.buffer;
|
|
330
371
|
var _getAccessorArrayType = (0, _gltfUtils.getAccessorArrayTypeAndLength)(accessor, accessor.bufferView),
|
|
@@ -351,17 +392,21 @@ var GLTFPostProcessor = function () {
|
|
|
351
392
|
}
|
|
352
393
|
}, {
|
|
353
394
|
key: "_resolveTexture",
|
|
354
|
-
value: function _resolveTexture(
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
395
|
+
value: function _resolveTexture(gltfTexture, index) {
|
|
396
|
+
return _objectSpread(_objectSpread({}, gltfTexture), {}, {
|
|
397
|
+
id: gltfTexture.id || "texture-".concat(index),
|
|
398
|
+
sampler: typeof gltfTexture.sampler === 'number' ? this.getSampler(gltfTexture.sampler) : makeDefaultSampler(),
|
|
399
|
+
source: typeof gltfTexture.source === 'number' ? this.getImage(gltfTexture.source) : undefined
|
|
400
|
+
});
|
|
359
401
|
}
|
|
360
402
|
}, {
|
|
361
403
|
key: "_resolveSampler",
|
|
362
|
-
value: function _resolveSampler(
|
|
363
|
-
sampler
|
|
364
|
-
|
|
404
|
+
value: function _resolveSampler(gltfSampler, index) {
|
|
405
|
+
var sampler = _objectSpread(_objectSpread({
|
|
406
|
+
id: gltfSampler.id || "sampler-".concat(index)
|
|
407
|
+
}, gltfSampler), {}, {
|
|
408
|
+
parameters: {}
|
|
409
|
+
});
|
|
365
410
|
for (var key in sampler) {
|
|
366
411
|
var glEnum = this._enumSamplerParameter(key);
|
|
367
412
|
if (glEnum !== undefined) {
|
|
@@ -377,11 +422,12 @@ var GLTFPostProcessor = function () {
|
|
|
377
422
|
}
|
|
378
423
|
}, {
|
|
379
424
|
key: "_resolveImage",
|
|
380
|
-
value: function _resolveImage(
|
|
381
|
-
image
|
|
382
|
-
|
|
383
|
-
image
|
|
384
|
-
|
|
425
|
+
value: function _resolveImage(gltfImage, index) {
|
|
426
|
+
var image = _objectSpread(_objectSpread({}, gltfImage), {}, {
|
|
427
|
+
id: gltfImage.id || "image-".concat(index),
|
|
428
|
+
image: null,
|
|
429
|
+
bufferView: gltfImage.bufferView !== undefined ? this.getBufferView(gltfImage.bufferView) : undefined
|
|
430
|
+
});
|
|
385
431
|
var preloadedImage = this.images[index];
|
|
386
432
|
if (preloadedImage) {
|
|
387
433
|
image.image = preloadedImage;
|
|
@@ -390,25 +436,27 @@ var GLTFPostProcessor = function () {
|
|
|
390
436
|
}
|
|
391
437
|
}, {
|
|
392
438
|
key: "_resolveBufferView",
|
|
393
|
-
value: function _resolveBufferView(
|
|
394
|
-
var bufferIndex =
|
|
395
|
-
var result = _objectSpread(_objectSpread({
|
|
396
|
-
id: "bufferView-".concat(index)
|
|
397
|
-
}, bufferView), {}, {
|
|
398
|
-
buffer: this.buffers[bufferIndex]
|
|
399
|
-
});
|
|
439
|
+
value: function _resolveBufferView(gltfBufferView, index) {
|
|
440
|
+
var bufferIndex = gltfBufferView.buffer;
|
|
400
441
|
var arrayBuffer = this.buffers[bufferIndex].arrayBuffer;
|
|
401
442
|
var byteOffset = this.buffers[bufferIndex].byteOffset || 0;
|
|
402
|
-
if (
|
|
403
|
-
byteOffset +=
|
|
443
|
+
if (gltfBufferView.byteOffset) {
|
|
444
|
+
byteOffset += gltfBufferView.byteOffset;
|
|
404
445
|
}
|
|
405
|
-
|
|
406
|
-
|
|
446
|
+
var bufferView = _objectSpread(_objectSpread({
|
|
447
|
+
id: "bufferView-".concat(index)
|
|
448
|
+
}, gltfBufferView), {}, {
|
|
449
|
+
buffer: this.buffers[bufferIndex],
|
|
450
|
+
data: new Uint8Array(arrayBuffer, byteOffset, gltfBufferView.byteLength)
|
|
451
|
+
});
|
|
452
|
+
return bufferView;
|
|
407
453
|
}
|
|
408
454
|
}, {
|
|
409
455
|
key: "_resolveCamera",
|
|
410
|
-
value: function _resolveCamera(
|
|
411
|
-
camera
|
|
456
|
+
value: function _resolveCamera(gltfCamera, index) {
|
|
457
|
+
var camera = _objectSpread(_objectSpread({}, gltfCamera), {}, {
|
|
458
|
+
id: gltfCamera.id || "camera-".concat(index)
|
|
459
|
+
});
|
|
412
460
|
if (camera.perspective) {}
|
|
413
461
|
if (camera.orthographic) {}
|
|
414
462
|
return camera;
|