@loaders.gl/gltf 3.3.0-alpha.1 → 3.3.0-alpha.11
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 +236 -148
- package/dist/es5/bundle.js +0 -1
- package/dist/es5/bundle.js.map +1 -1
- package/dist/es5/glb-loader.js +2 -13
- package/dist/es5/glb-loader.js.map +1 -1
- package/dist/es5/glb-writer.js +3 -6
- package/dist/es5/glb-writer.js.map +1 -1
- package/dist/es5/gltf-loader.js +11 -23
- package/dist/es5/gltf-loader.js.map +1 -1
- package/dist/es5/gltf-writer.js +2 -5
- package/dist/es5/gltf-writer.js.map +1 -1
- package/dist/es5/index.js +10 -17
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/lib/api/gltf-extensions.js +15 -47
- package/dist/es5/lib/api/gltf-extensions.js.map +1 -1
- package/dist/es5/lib/api/gltf-scenegraph.js +128 -96
- package/dist/es5/lib/api/gltf-scenegraph.js.map +1 -1
- package/dist/es5/lib/api/normalize-gltf-v1.js +34 -72
- package/dist/es5/lib/api/normalize-gltf-v1.js.map +1 -1
- package/dist/es5/lib/api/post-process-gltf.js +26 -89
- package/dist/es5/lib/api/post-process-gltf.js.map +1 -1
- package/dist/es5/lib/encoders/encode-glb.js +10 -8
- package/dist/es5/lib/encoders/encode-glb.js.map +1 -1
- package/dist/es5/lib/encoders/encode-gltf.js +3 -6
- package/dist/es5/lib/encoders/encode-gltf.js.map +1 -1
- package/dist/es5/lib/extensions/EXT_meshopt_compression.js +2 -28
- package/dist/es5/lib/extensions/EXT_meshopt_compression.js.map +1 -1
- package/dist/es5/lib/extensions/EXT_texture_webp.js +5 -18
- package/dist/es5/lib/extensions/EXT_texture_webp.js.map +1 -1
- package/dist/es5/lib/extensions/KHR_binary_gltf.js +5 -12
- package/dist/es5/lib/extensions/KHR_binary_gltf.js.map +1 -1
- package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js +11 -79
- package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js.map +1 -1
- package/dist/es5/lib/extensions/KHR_texture_basisu.js +5 -14
- package/dist/es5/lib/extensions/KHR_texture_basisu.js.map +1 -1
- package/dist/es5/lib/extensions/KHR_texture_transform.js +17 -72
- package/dist/es5/lib/extensions/KHR_texture_transform.js.map +1 -1
- package/dist/es5/lib/extensions/deprecated/EXT_feature_metadata.js +110 -0
- package/dist/es5/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -0
- package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js +0 -24
- package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -1
- package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js +3 -20
- package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -1
- package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js +12 -29
- package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -1
- package/dist/es5/lib/gltf-utils/get-typed-array.js +1 -1
- package/dist/es5/lib/gltf-utils/get-typed-array.js.map +1 -1
- package/dist/es5/lib/gltf-utils/gltf-attribute-utils.js +5 -17
- package/dist/es5/lib/gltf-utils/gltf-attribute-utils.js.map +1 -1
- package/dist/es5/lib/gltf-utils/gltf-constants.js +3 -4
- package/dist/es5/lib/gltf-utils/gltf-constants.js.map +1 -1
- package/dist/es5/lib/gltf-utils/gltf-utils.js +1 -8
- package/dist/es5/lib/gltf-utils/gltf-utils.js.map +1 -1
- package/dist/es5/lib/gltf-utils/resolve-url.js +0 -5
- package/dist/es5/lib/gltf-utils/resolve-url.js.map +1 -1
- package/dist/es5/lib/parsers/parse-glb.js +11 -17
- package/dist/es5/lib/parsers/parse-glb.js.map +1 -1
- package/dist/es5/lib/parsers/parse-gltf.js +21 -79
- package/dist/es5/lib/parsers/parse-gltf.js.map +1 -1
- package/dist/es5/lib/types/glb-types.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/assert.js +0 -1
- package/dist/es5/lib/utils/assert.js.map +1 -1
- package/dist/es5/lib/utils/version.js +1 -1
- package/dist/es5/lib/utils/version.js.map +1 -1
- package/dist/es5/meshopt/meshopt-decoder.js +10 -47
- package/dist/es5/meshopt/meshopt-decoder.js.map +1 -1
- package/dist/es5/webp/webp.js +3 -19
- package/dist/es5/webp/webp.js.map +1 -1
- package/dist/esm/bundle.js +1 -1
- package/dist/esm/bundle.js.map +1 -1
- package/dist/esm/glb-loader.js +0 -1
- package/dist/esm/glb-loader.js.map +1 -1
- package/dist/esm/glb-writer.js +3 -1
- package/dist/esm/glb-writer.js.map +1 -1
- package/dist/esm/gltf-loader.js +9 -3
- package/dist/esm/gltf-loader.js.map +1 -1
- package/dist/esm/gltf-writer.js +3 -2
- package/dist/esm/gltf-writer.js.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/api/gltf-extensions.js +17 -9
- package/dist/esm/lib/api/gltf-extensions.js.map +1 -1
- package/dist/esm/lib/api/gltf-scenegraph.js +40 -68
- package/dist/esm/lib/api/gltf-scenegraph.js.map +1 -1
- package/dist/esm/lib/api/normalize-gltf-v1.js +5 -36
- package/dist/esm/lib/api/normalize-gltf-v1.js.map +1 -1
- package/dist/esm/lib/api/post-process-gltf.js +26 -93
- package/dist/esm/lib/api/post-process-gltf.js.map +1 -1
- package/dist/esm/lib/encoders/encode-glb.js +9 -2
- package/dist/esm/lib/encoders/encode-glb.js.map +1 -1
- package/dist/esm/lib/encoders/encode-gltf.js +6 -4
- package/dist/esm/lib/encoders/encode-gltf.js.map +1 -1
- package/dist/esm/lib/extensions/EXT_meshopt_compression.js +5 -6
- package/dist/esm/lib/extensions/EXT_meshopt_compression.js.map +1 -1
- package/dist/esm/lib/extensions/EXT_texture_webp.js +4 -6
- package/dist/esm/lib/extensions/EXT_texture_webp.js.map +1 -1
- package/dist/esm/lib/extensions/KHR_binary_gltf.js +3 -2
- package/dist/esm/lib/extensions/KHR_binary_gltf.js.map +1 -1
- package/dist/esm/lib/extensions/KHR_draco_mesh_compression.js +18 -17
- package/dist/esm/lib/extensions/KHR_draco_mesh_compression.js.map +1 -1
- package/dist/esm/lib/extensions/KHR_texture_basisu.js +4 -3
- package/dist/esm/lib/extensions/KHR_texture_basisu.js.map +1 -1
- package/dist/esm/lib/extensions/KHR_texture_transform.js +8 -34
- package/dist/esm/lib/extensions/KHR_texture_transform.js.map +1 -1
- package/dist/esm/lib/extensions/deprecated/EXT_feature_metadata.js +84 -0
- package/dist/esm/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -0
- package/dist/esm/lib/extensions/deprecated/KHR_lights_punctual.js +4 -4
- package/dist/esm/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -1
- package/dist/esm/lib/extensions/deprecated/KHR_materials_unlit.js +4 -3
- package/dist/esm/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -1
- package/dist/esm/lib/extensions/deprecated/KHR_techniques_webgl.js +10 -9
- package/dist/esm/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -1
- package/dist/esm/lib/gltf-utils/get-typed-array.js +4 -0
- package/dist/esm/lib/gltf-utils/get-typed-array.js.map +1 -1
- package/dist/esm/lib/gltf-utils/gltf-attribute-utils.js +7 -11
- package/dist/esm/lib/gltf-utils/gltf-attribute-utils.js.map +1 -1
- package/dist/esm/lib/gltf-utils/gltf-constants.js +1 -0
- package/dist/esm/lib/gltf-utils/gltf-constants.js.map +1 -1
- package/dist/esm/lib/gltf-utils/gltf-utils.js +0 -2
- package/dist/esm/lib/gltf-utils/gltf-utils.js.map +1 -1
- package/dist/esm/lib/gltf-utils/resolve-url.js +1 -4
- package/dist/esm/lib/gltf-utils/resolve-url.js.map +1 -1
- package/dist/esm/lib/parsers/parse-glb.js +19 -16
- package/dist/esm/lib/parsers/parse-glb.js.map +1 -1
- package/dist/esm/lib/parsers/parse-gltf.js +15 -17
- package/dist/esm/lib/parsers/parse-gltf.js.map +1 -1
- package/dist/esm/lib/types/glb-types.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/assert.js +1 -0
- package/dist/esm/lib/utils/assert.js.map +1 -1
- package/dist/esm/lib/utils/version.js +2 -1
- package/dist/esm/lib/utils/version.js.map +1 -1
- package/dist/esm/meshopt/meshopt-decoder.js +11 -15
- package/dist/esm/meshopt/meshopt-decoder.js.map +1 -1
- package/dist/esm/webp/webp.js +3 -5
- package/dist/esm/webp/webp.js.map +1 -1
- package/dist/glb-loader.d.ts +1 -1
- package/dist/glb-loader.d.ts.map +1 -1
- package/dist/gltf-loader.d.ts +1 -1
- package/dist/gltf-loader.d.ts.map +1 -1
- package/dist/gltf-writer.d.ts +1 -1
- package/dist/gltf-writer.d.ts.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- 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-extensions.js +9 -3
- package/dist/lib/api/gltf-scenegraph.d.ts +5 -11
- package/dist/lib/api/gltf-scenegraph.d.ts.map +1 -1
- package/dist/lib/api/gltf-scenegraph.js +13 -0
- package/dist/lib/api/normalize-gltf-v1.d.ts.map +1 -1
- package/dist/lib/api/normalize-gltf-v1.js +6 -2
- package/dist/lib/extensions/EXT_meshopt_compression.js +1 -1
- package/dist/lib/extensions/EXT_texture_webp.d.ts.map +1 -1
- package/dist/lib/extensions/EXT_texture_webp.js +1 -0
- package/dist/lib/extensions/KHR_binary_gltf.js +1 -1
- package/dist/lib/extensions/KHR_draco_mesh_compression.js +1 -1
- package/dist/lib/extensions/KHR_texture_basisu.d.ts.map +1 -1
- package/dist/lib/extensions/KHR_texture_basisu.js +1 -0
- package/dist/lib/extensions/deprecated/EXT_feature_metadata.d.ts +6 -0
- package/dist/lib/extensions/deprecated/EXT_feature_metadata.d.ts.map +1 -0
- package/dist/lib/extensions/deprecated/EXT_feature_metadata.js +118 -0
- package/dist/lib/extensions/deprecated/KHR_materials_unlit.js +2 -2
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.d.ts.map +1 -1
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js +1 -0
- package/dist/lib/parsers/parse-glb.d.ts +1 -1
- package/dist/lib/parsers/parse-glb.d.ts.map +1 -1
- package/dist/lib/parsers/parse-gltf.d.ts +1 -1
- package/dist/lib/parsers/parse-gltf.d.ts.map +1 -1
- package/dist/lib/parsers/parse-gltf.js +9 -2
- package/dist/lib/types/glb-types.d.ts +2 -2
- package/dist/lib/types/glb-types.d.ts.map +1 -1
- package/dist/lib/types/gltf-json-schema.d.ts +394 -9
- package/dist/lib/types/gltf-json-schema.d.ts.map +1 -1
- package/dist/lib/types/gltf-postprocessed-schema.d.ts +1 -1
- package/dist/lib/types/gltf-postprocessed-schema.d.ts.map +1 -1
- package/dist/lib/types/gltf-types.d.ts +8 -5
- package/dist/lib/types/gltf-types.d.ts.map +1 -1
- package/dist/webp/webp.d.ts +1 -1
- package/dist/webp/webp.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/index.ts +7 -1
- package/src/lib/api/gltf-extensions.ts +3 -1
- package/src/lib/api/gltf-scenegraph.ts +21 -12
- package/src/lib/api/normalize-gltf-v1.ts +2 -1
- package/src/lib/extensions/EXT_meshopt_compression.ts +1 -1
- package/src/lib/extensions/EXT_texture_webp.ts +1 -0
- package/src/lib/extensions/KHR_binary_gltf.ts +1 -1
- package/src/lib/extensions/KHR_draco_mesh_compression.ts +1 -1
- package/src/lib/extensions/KHR_texture_basisu.ts +1 -0
- package/src/lib/extensions/deprecated/EXT_feature_metadata.ts +163 -0
- package/src/lib/extensions/deprecated/KHR_materials_unlit.ts +3 -3
- package/src/lib/extensions/deprecated/KHR_techniques_webgl.ts +1 -0
- package/src/lib/parsers/parse-gltf.ts +4 -1
- package/src/lib/types/gltf-json-schema.ts +432 -3
- package/src/lib/types/gltf-types.ts +9 -2
|
@@ -1,38 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
-
|
|
12
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
-
|
|
18
12
|
var _images = require("@loaders.gl/images");
|
|
19
|
-
|
|
20
13
|
var _loaderUtils = require("@loaders.gl/loader-utils");
|
|
21
|
-
|
|
22
14
|
var _assert = require("../utils/assert");
|
|
23
|
-
|
|
24
15
|
var _gltfUtils = require("../gltf-utils/gltf-utils");
|
|
25
|
-
|
|
26
16
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
27
|
-
|
|
28
17
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
29
|
-
|
|
30
18
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
31
|
-
|
|
32
|
-
function
|
|
33
|
-
|
|
34
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
35
|
-
|
|
19
|
+
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; }
|
|
20
|
+
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; }
|
|
36
21
|
var DEFAULT_GLTF_JSON = {
|
|
37
22
|
asset: {
|
|
38
23
|
version: '2.0',
|
|
@@ -40,8 +25,8 @@ var DEFAULT_GLTF_JSON = {
|
|
|
40
25
|
},
|
|
41
26
|
buffers: []
|
|
42
27
|
};
|
|
43
|
-
|
|
44
28
|
var GLTFScenegraph = function () {
|
|
29
|
+
|
|
45
30
|
function GLTFScenegraph(gltf) {
|
|
46
31
|
(0, _classCallCheck2.default)(this, GLTFScenegraph);
|
|
47
32
|
(0, _defineProperty2.default)(this, "gltf", void 0);
|
|
@@ -62,7 +47,9 @@ var GLTFScenegraph = function () {
|
|
|
62
47
|
|
|
63
48
|
(0, _createClass2.default)(GLTFScenegraph, [{
|
|
64
49
|
key: "json",
|
|
65
|
-
get:
|
|
50
|
+
get:
|
|
51
|
+
|
|
52
|
+
function get() {
|
|
66
53
|
return this.gltf.json;
|
|
67
54
|
}
|
|
68
55
|
}, {
|
|
@@ -104,6 +91,11 @@ var GLTFScenegraph = function () {
|
|
|
104
91
|
value: function getUsedExtensions() {
|
|
105
92
|
return this.json.extensionsUsed || [];
|
|
106
93
|
}
|
|
94
|
+
}, {
|
|
95
|
+
key: "getRemovedExtensions",
|
|
96
|
+
value: function getRemovedExtensions() {
|
|
97
|
+
return this.json.extensionsRemoved || [];
|
|
98
|
+
}
|
|
107
99
|
}, {
|
|
108
100
|
key: "getObjectExtension",
|
|
109
101
|
value: function getObjectExtension(object, extensionName) {
|
|
@@ -140,9 +132,12 @@ var GLTFScenegraph = function () {
|
|
|
140
132
|
value: function getAccessor(index) {
|
|
141
133
|
return this.getObject('accessors', index);
|
|
142
134
|
}
|
|
135
|
+
|
|
143
136
|
}, {
|
|
144
137
|
key: "getTexture",
|
|
145
|
-
value:
|
|
138
|
+
value:
|
|
139
|
+
|
|
140
|
+
function getTexture(index) {
|
|
146
141
|
return this.getObject('textures', index);
|
|
147
142
|
}
|
|
148
143
|
}, {
|
|
@@ -171,43 +166,48 @@ var GLTFScenegraph = function () {
|
|
|
171
166
|
if ((0, _typeof2.default)(index) === 'object') {
|
|
172
167
|
return index;
|
|
173
168
|
}
|
|
174
|
-
|
|
175
169
|
var object = this.json[array] && this.json[array][index];
|
|
176
|
-
|
|
177
170
|
if (!object) {
|
|
178
171
|
throw new Error("glTF file error: Could not find ".concat(array, "[").concat(index, "]"));
|
|
179
172
|
}
|
|
180
173
|
|
|
181
174
|
return object;
|
|
182
175
|
}
|
|
176
|
+
|
|
183
177
|
}, {
|
|
184
178
|
key: "getTypedArrayForBufferView",
|
|
185
|
-
value:
|
|
179
|
+
value:
|
|
180
|
+
function getTypedArrayForBufferView(bufferView) {
|
|
186
181
|
bufferView = this.getBufferView(bufferView);
|
|
187
182
|
var bufferIndex = bufferView.buffer;
|
|
183
|
+
|
|
188
184
|
var binChunk = this.gltf.buffers[bufferIndex];
|
|
189
185
|
(0, _assert.assert)(binChunk);
|
|
186
|
+
|
|
190
187
|
var byteOffset = (bufferView.byteOffset || 0) + binChunk.byteOffset;
|
|
191
188
|
return new Uint8Array(binChunk.arrayBuffer, byteOffset, bufferView.byteLength);
|
|
192
189
|
}
|
|
190
|
+
|
|
193
191
|
}, {
|
|
194
192
|
key: "getTypedArrayForAccessor",
|
|
195
|
-
value:
|
|
193
|
+
value:
|
|
194
|
+
function getTypedArrayForAccessor(accessor) {
|
|
196
195
|
accessor = this.getAccessor(accessor);
|
|
197
196
|
var bufferView = this.getBufferView(accessor.bufferView);
|
|
198
197
|
var buffer = this.getBuffer(bufferView.buffer);
|
|
199
198
|
var arrayBuffer = buffer.data;
|
|
200
199
|
|
|
201
200
|
var _getAccessorArrayType = (0, _gltfUtils.getAccessorArrayTypeAndLength)(accessor, bufferView),
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
201
|
+
ArrayType = _getAccessorArrayType.ArrayType,
|
|
202
|
+
length = _getAccessorArrayType.length;
|
|
205
203
|
var byteOffset = bufferView.byteOffset + accessor.byteOffset;
|
|
206
204
|
return new ArrayType(arrayBuffer, byteOffset, length);
|
|
207
205
|
}
|
|
206
|
+
|
|
208
207
|
}, {
|
|
209
208
|
key: "getTypedArrayForImageData",
|
|
210
|
-
value:
|
|
209
|
+
value:
|
|
210
|
+
function getTypedArrayForImageData(image) {
|
|
211
211
|
image = this.getAccessor(image);
|
|
212
212
|
var bufferView = this.getBufferView(image.bufferView);
|
|
213
213
|
var buffer = this.getBuffer(bufferView.buffer);
|
|
@@ -215,15 +215,20 @@ var GLTFScenegraph = function () {
|
|
|
215
215
|
var byteOffset = bufferView.byteOffset || 0;
|
|
216
216
|
return new Uint8Array(arrayBuffer, byteOffset, bufferView.byteLength);
|
|
217
217
|
}
|
|
218
|
+
|
|
218
219
|
}, {
|
|
219
220
|
key: "addApplicationData",
|
|
220
|
-
value:
|
|
221
|
+
value:
|
|
222
|
+
|
|
223
|
+
function addApplicationData(key, data) {
|
|
221
224
|
this.json[key] = data;
|
|
222
225
|
return this;
|
|
223
226
|
}
|
|
227
|
+
|
|
224
228
|
}, {
|
|
225
229
|
key: "addExtraData",
|
|
226
|
-
value:
|
|
230
|
+
value:
|
|
231
|
+
function addExtraData(key, data) {
|
|
227
232
|
this.json.extras = this.json.extras || {};
|
|
228
233
|
this.json.extras[key] = data;
|
|
229
234
|
return this;
|
|
@@ -250,9 +255,11 @@ var GLTFScenegraph = function () {
|
|
|
250
255
|
delete extensions[extensionName];
|
|
251
256
|
return extension;
|
|
252
257
|
}
|
|
258
|
+
|
|
253
259
|
}, {
|
|
254
260
|
key: "addExtension",
|
|
255
|
-
value:
|
|
261
|
+
value:
|
|
262
|
+
function addExtension(extensionName) {
|
|
256
263
|
var extensionData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
257
264
|
(0, _assert.assert)(extensionData);
|
|
258
265
|
this.json.extensions = this.json.extensions || {};
|
|
@@ -260,61 +267,79 @@ var GLTFScenegraph = function () {
|
|
|
260
267
|
this.registerUsedExtension(extensionName);
|
|
261
268
|
return extensionData;
|
|
262
269
|
}
|
|
270
|
+
|
|
263
271
|
}, {
|
|
264
272
|
key: "addRequiredExtension",
|
|
265
|
-
value:
|
|
273
|
+
value:
|
|
274
|
+
function addRequiredExtension(extensionName) {
|
|
266
275
|
var extensionData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
267
276
|
(0, _assert.assert)(extensionData);
|
|
268
277
|
this.addExtension(extensionName, extensionData);
|
|
269
278
|
this.registerRequiredExtension(extensionName);
|
|
270
279
|
return extensionData;
|
|
271
280
|
}
|
|
281
|
+
|
|
272
282
|
}, {
|
|
273
283
|
key: "registerUsedExtension",
|
|
274
|
-
value:
|
|
284
|
+
value:
|
|
285
|
+
function registerUsedExtension(extensionName) {
|
|
275
286
|
this.json.extensionsUsed = this.json.extensionsUsed || [];
|
|
276
|
-
|
|
277
287
|
if (!this.json.extensionsUsed.find(function (ext) {
|
|
278
288
|
return ext === extensionName;
|
|
279
289
|
})) {
|
|
280
290
|
this.json.extensionsUsed.push(extensionName);
|
|
281
291
|
}
|
|
282
292
|
}
|
|
293
|
+
|
|
283
294
|
}, {
|
|
284
295
|
key: "registerRequiredExtension",
|
|
285
|
-
value:
|
|
296
|
+
value:
|
|
297
|
+
function registerRequiredExtension(extensionName) {
|
|
286
298
|
this.registerUsedExtension(extensionName);
|
|
287
299
|
this.json.extensionsRequired = this.json.extensionsRequired || [];
|
|
288
|
-
|
|
289
300
|
if (!this.json.extensionsRequired.find(function (ext) {
|
|
290
301
|
return ext === extensionName;
|
|
291
302
|
})) {
|
|
292
303
|
this.json.extensionsRequired.push(extensionName);
|
|
293
304
|
}
|
|
294
305
|
}
|
|
306
|
+
|
|
295
307
|
}, {
|
|
296
308
|
key: "removeExtension",
|
|
297
|
-
value:
|
|
309
|
+
value:
|
|
310
|
+
function removeExtension(extensionName) {
|
|
311
|
+
if (!this.getExtension(extensionName)) {
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
298
314
|
if (this.json.extensionsRequired) {
|
|
299
315
|
this._removeStringFromArray(this.json.extensionsRequired, extensionName);
|
|
300
316
|
}
|
|
301
|
-
|
|
302
317
|
if (this.json.extensionsUsed) {
|
|
303
318
|
this._removeStringFromArray(this.json.extensionsUsed, extensionName);
|
|
304
319
|
}
|
|
305
|
-
|
|
306
320
|
if (this.json.extensions) {
|
|
307
321
|
delete this.json.extensions[extensionName];
|
|
308
322
|
}
|
|
323
|
+
if (!Array.isArray(this.json.extensionsRemoved)) {
|
|
324
|
+
this.json.extensionsRemoved = [];
|
|
325
|
+
}
|
|
326
|
+
var extensionsRemoved = this.json.extensionsRemoved;
|
|
327
|
+
if (!extensionsRemoved.includes(extensionName)) {
|
|
328
|
+
extensionsRemoved.push(extensionName);
|
|
329
|
+
}
|
|
309
330
|
}
|
|
331
|
+
|
|
310
332
|
}, {
|
|
311
333
|
key: "setDefaultScene",
|
|
312
|
-
value:
|
|
334
|
+
value:
|
|
335
|
+
function setDefaultScene(sceneIndex) {
|
|
313
336
|
this.json.scene = sceneIndex;
|
|
314
337
|
}
|
|
338
|
+
|
|
315
339
|
}, {
|
|
316
340
|
key: "addScene",
|
|
317
|
-
value:
|
|
341
|
+
value:
|
|
342
|
+
function addScene(scene) {
|
|
318
343
|
var nodeIndices = scene.nodeIndices;
|
|
319
344
|
this.json.scenes = this.json.scenes || [];
|
|
320
345
|
this.json.scenes.push({
|
|
@@ -322,51 +347,47 @@ var GLTFScenegraph = function () {
|
|
|
322
347
|
});
|
|
323
348
|
return this.json.scenes.length - 1;
|
|
324
349
|
}
|
|
350
|
+
|
|
325
351
|
}, {
|
|
326
352
|
key: "addNode",
|
|
327
|
-
value:
|
|
353
|
+
value:
|
|
354
|
+
function addNode(node) {
|
|
328
355
|
var meshIndex = node.meshIndex,
|
|
329
|
-
|
|
356
|
+
matrix = node.matrix;
|
|
330
357
|
this.json.nodes = this.json.nodes || [];
|
|
331
358
|
var nodeData = {
|
|
332
359
|
mesh: meshIndex
|
|
333
360
|
};
|
|
334
|
-
|
|
335
361
|
if (matrix) {
|
|
336
362
|
nodeData.matrix = matrix;
|
|
337
363
|
}
|
|
338
|
-
|
|
339
364
|
this.json.nodes.push(nodeData);
|
|
340
365
|
return this.json.nodes.length - 1;
|
|
341
366
|
}
|
|
367
|
+
|
|
342
368
|
}, {
|
|
343
369
|
key: "addMesh",
|
|
344
|
-
value:
|
|
370
|
+
value:
|
|
371
|
+
function addMesh(mesh) {
|
|
345
372
|
var attributes = mesh.attributes,
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
373
|
+
indices = mesh.indices,
|
|
374
|
+
material = mesh.material,
|
|
375
|
+
_mesh$mode = mesh.mode,
|
|
376
|
+
mode = _mesh$mode === void 0 ? 4 : _mesh$mode;
|
|
351
377
|
var accessors = this._addAttributes(attributes);
|
|
352
|
-
|
|
353
378
|
var glTFMesh = {
|
|
354
379
|
primitives: [{
|
|
355
380
|
attributes: accessors,
|
|
356
381
|
mode: mode
|
|
357
382
|
}]
|
|
358
383
|
};
|
|
359
|
-
|
|
360
384
|
if (indices) {
|
|
361
385
|
var indicesAccessor = this._addIndices(indices);
|
|
362
|
-
|
|
363
386
|
glTFMesh.primitives[0].indices = indicesAccessor;
|
|
364
387
|
}
|
|
365
|
-
|
|
366
388
|
if (Number.isFinite(material)) {
|
|
367
389
|
glTFMesh.primitives[0].material = material;
|
|
368
390
|
}
|
|
369
|
-
|
|
370
391
|
this.json.meshes = this.json.meshes || [];
|
|
371
392
|
this.json.meshes.push(glTFMesh);
|
|
372
393
|
return this.json.meshes.length - 1;
|
|
@@ -375,20 +396,22 @@ var GLTFScenegraph = function () {
|
|
|
375
396
|
key: "addPointCloud",
|
|
376
397
|
value: function addPointCloud(attributes) {
|
|
377
398
|
var accessorIndices = this._addAttributes(attributes);
|
|
378
|
-
|
|
379
399
|
var glTFMesh = {
|
|
380
400
|
primitives: [{
|
|
381
401
|
attributes: accessorIndices,
|
|
382
402
|
mode: 0
|
|
383
403
|
}]
|
|
384
404
|
};
|
|
405
|
+
|
|
385
406
|
this.json.meshes = this.json.meshes || [];
|
|
386
407
|
this.json.meshes.push(glTFMesh);
|
|
387
408
|
return this.json.meshes.length - 1;
|
|
388
409
|
}
|
|
410
|
+
|
|
389
411
|
}, {
|
|
390
412
|
key: "addImage",
|
|
391
|
-
value:
|
|
413
|
+
value:
|
|
414
|
+
function addImage(imageData, mimeTypeOpt) {
|
|
392
415
|
var metadata = (0, _images.getBinaryImageMetadata)(imageData);
|
|
393
416
|
var mimeType = mimeTypeOpt || (metadata === null || metadata === void 0 ? void 0 : metadata.mimeType);
|
|
394
417
|
var bufferViewIndex = this.addBufferView(imageData);
|
|
@@ -400,11 +423,14 @@ var GLTFScenegraph = function () {
|
|
|
400
423
|
this.json.images.push(glTFImage);
|
|
401
424
|
return this.json.images.length - 1;
|
|
402
425
|
}
|
|
426
|
+
|
|
403
427
|
}, {
|
|
404
428
|
key: "addBufferView",
|
|
405
|
-
value:
|
|
429
|
+
value:
|
|
430
|
+
function addBufferView(buffer) {
|
|
406
431
|
var byteLength = buffer.byteLength;
|
|
407
432
|
(0, _assert.assert)(Number.isFinite(byteLength));
|
|
433
|
+
|
|
408
434
|
this.sourceBuffers = this.sourceBuffers || [];
|
|
409
435
|
this.sourceBuffers.push(buffer);
|
|
410
436
|
var glTFBufferView = {
|
|
@@ -412,14 +438,18 @@ var GLTFScenegraph = function () {
|
|
|
412
438
|
byteOffset: this.byteLength,
|
|
413
439
|
byteLength: byteLength
|
|
414
440
|
};
|
|
441
|
+
|
|
415
442
|
this.byteLength += (0, _loaderUtils.padToNBytes)(byteLength, 4);
|
|
443
|
+
|
|
416
444
|
this.json.bufferViews = this.json.bufferViews || [];
|
|
417
445
|
this.json.bufferViews.push(glTFBufferView);
|
|
418
446
|
return this.json.bufferViews.length - 1;
|
|
419
447
|
}
|
|
448
|
+
|
|
420
449
|
}, {
|
|
421
450
|
key: "addAccessor",
|
|
422
|
-
value:
|
|
451
|
+
value:
|
|
452
|
+
function addAccessor(bufferViewIndex, accessor) {
|
|
423
453
|
var glTFAccessor = {
|
|
424
454
|
bufferView: bufferViewIndex,
|
|
425
455
|
type: (0, _gltfUtils.getAccessorTypeFromSize)(accessor.size),
|
|
@@ -432,9 +462,11 @@ var GLTFScenegraph = function () {
|
|
|
432
462
|
this.json.accessors.push(glTFAccessor);
|
|
433
463
|
return this.json.accessors.length - 1;
|
|
434
464
|
}
|
|
465
|
+
|
|
435
466
|
}, {
|
|
436
467
|
key: "addBinaryBuffer",
|
|
437
|
-
value:
|
|
468
|
+
value:
|
|
469
|
+
function addBinaryBuffer(sourceBuffer) {
|
|
438
470
|
var accessor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
439
471
|
size: 3
|
|
440
472
|
};
|
|
@@ -443,11 +475,9 @@ var GLTFScenegraph = function () {
|
|
|
443
475
|
min: accessor.min,
|
|
444
476
|
max: accessor.max
|
|
445
477
|
};
|
|
446
|
-
|
|
447
478
|
if (!minMax.min || !minMax.max) {
|
|
448
479
|
minMax = this._getAccessorMinMax(sourceBuffer, accessor.size);
|
|
449
480
|
}
|
|
450
|
-
|
|
451
481
|
var accessorDefaults = {
|
|
452
482
|
size: accessor.size,
|
|
453
483
|
componentType: (0, _gltfUtils.getComponentTypeFromArray)(sourceBuffer),
|
|
@@ -457,9 +487,11 @@ var GLTFScenegraph = function () {
|
|
|
457
487
|
};
|
|
458
488
|
return this.addAccessor(bufferViewIndex, Object.assign(accessorDefaults, accessor));
|
|
459
489
|
}
|
|
490
|
+
|
|
460
491
|
}, {
|
|
461
492
|
key: "addTexture",
|
|
462
|
-
value:
|
|
493
|
+
value:
|
|
494
|
+
function addTexture(texture) {
|
|
463
495
|
var imageIndex = texture.imageIndex;
|
|
464
496
|
var glTFTexture = {
|
|
465
497
|
source: imageIndex
|
|
@@ -468,38 +500,41 @@ var GLTFScenegraph = function () {
|
|
|
468
500
|
this.json.textures.push(glTFTexture);
|
|
469
501
|
return this.json.textures.length - 1;
|
|
470
502
|
}
|
|
503
|
+
|
|
471
504
|
}, {
|
|
472
505
|
key: "addMaterial",
|
|
473
|
-
value:
|
|
506
|
+
value:
|
|
507
|
+
function addMaterial(pbrMaterialInfo) {
|
|
474
508
|
this.json.materials = this.json.materials || [];
|
|
475
509
|
this.json.materials.push(pbrMaterialInfo);
|
|
476
510
|
return this.json.materials.length - 1;
|
|
477
511
|
}
|
|
512
|
+
|
|
478
513
|
}, {
|
|
479
514
|
key: "createBinaryChunk",
|
|
480
|
-
value:
|
|
515
|
+
value:
|
|
516
|
+
function createBinaryChunk() {
|
|
481
517
|
var _this$json, _this$json$buffers;
|
|
482
|
-
|
|
483
518
|
this.gltf.buffers = [];
|
|
519
|
+
|
|
484
520
|
var totalByteLength = this.byteLength;
|
|
485
521
|
var arrayBuffer = new ArrayBuffer(totalByteLength);
|
|
486
522
|
var targetArray = new Uint8Array(arrayBuffer);
|
|
487
|
-
var dstByteOffset = 0;
|
|
488
523
|
|
|
524
|
+
var dstByteOffset = 0;
|
|
489
525
|
var _iterator = _createForOfIteratorHelper(this.sourceBuffers || []),
|
|
490
|
-
|
|
491
|
-
|
|
526
|
+
_step;
|
|
492
527
|
try {
|
|
493
528
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
494
529
|
var sourceBuffer = _step.value;
|
|
495
530
|
dstByteOffset = (0, _loaderUtils.copyToArray)(sourceBuffer, targetArray, dstByteOffset);
|
|
496
531
|
}
|
|
532
|
+
|
|
497
533
|
} catch (err) {
|
|
498
534
|
_iterator.e(err);
|
|
499
535
|
} finally {
|
|
500
536
|
_iterator.f();
|
|
501
537
|
}
|
|
502
|
-
|
|
503
538
|
if ((_this$json = this.json) !== null && _this$json !== void 0 && (_this$json$buffers = _this$json.buffers) !== null && _this$json$buffers !== void 0 && _this$json$buffers[0]) {
|
|
504
539
|
this.json.buffers[0].byteLength = totalByteLength;
|
|
505
540
|
} else {
|
|
@@ -509,16 +544,18 @@ var GLTFScenegraph = function () {
|
|
|
509
544
|
}
|
|
510
545
|
|
|
511
546
|
this.gltf.binary = arrayBuffer;
|
|
547
|
+
|
|
512
548
|
this.sourceBuffers = [arrayBuffer];
|
|
513
549
|
}
|
|
550
|
+
|
|
514
551
|
}, {
|
|
515
552
|
key: "_removeStringFromArray",
|
|
516
|
-
value:
|
|
517
|
-
var found = true;
|
|
553
|
+
value:
|
|
518
554
|
|
|
555
|
+
function _removeStringFromArray(array, string) {
|
|
556
|
+
var found = true;
|
|
519
557
|
while (found) {
|
|
520
558
|
var index = array.indexOf(string);
|
|
521
|
-
|
|
522
559
|
if (index > -1) {
|
|
523
560
|
array.splice(index, 1);
|
|
524
561
|
} else {
|
|
@@ -526,74 +563,70 @@ var GLTFScenegraph = function () {
|
|
|
526
563
|
}
|
|
527
564
|
}
|
|
528
565
|
}
|
|
566
|
+
|
|
529
567
|
}, {
|
|
530
568
|
key: "_addAttributes",
|
|
531
|
-
value:
|
|
569
|
+
value:
|
|
570
|
+
function _addAttributes() {
|
|
532
571
|
var attributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
533
572
|
var result = {};
|
|
534
|
-
|
|
535
573
|
for (var attributeKey in attributes) {
|
|
536
574
|
var attributeData = attributes[attributeKey];
|
|
537
|
-
|
|
538
575
|
var attrName = this._getGltfAttributeName(attributeKey);
|
|
539
|
-
|
|
540
576
|
var accessor = this.addBinaryBuffer(attributeData.value, attributeData);
|
|
541
577
|
result[attrName] = accessor;
|
|
542
578
|
}
|
|
543
|
-
|
|
544
579
|
return result;
|
|
545
580
|
}
|
|
581
|
+
|
|
546
582
|
}, {
|
|
547
583
|
key: "_addIndices",
|
|
548
|
-
value:
|
|
584
|
+
value:
|
|
585
|
+
function _addIndices(indices) {
|
|
549
586
|
return this.addBinaryBuffer(indices, {
|
|
550
587
|
size: 1
|
|
551
588
|
});
|
|
552
589
|
}
|
|
590
|
+
|
|
553
591
|
}, {
|
|
554
592
|
key: "_getGltfAttributeName",
|
|
555
|
-
value:
|
|
593
|
+
value:
|
|
594
|
+
function _getGltfAttributeName(attributeName) {
|
|
556
595
|
switch (attributeName.toLowerCase()) {
|
|
557
596
|
case 'position':
|
|
558
597
|
case 'positions':
|
|
559
598
|
case 'vertices':
|
|
560
599
|
return 'POSITION';
|
|
561
|
-
|
|
562
600
|
case 'normal':
|
|
563
601
|
case 'normals':
|
|
564
602
|
return 'NORMAL';
|
|
565
|
-
|
|
566
603
|
case 'color':
|
|
567
604
|
case 'colors':
|
|
568
605
|
return 'COLOR_0';
|
|
569
|
-
|
|
570
606
|
case 'texcoord':
|
|
571
607
|
case 'texcoords':
|
|
572
608
|
return 'TEXCOORD_0';
|
|
573
|
-
|
|
574
609
|
default:
|
|
575
610
|
return attributeName;
|
|
576
611
|
}
|
|
577
612
|
}
|
|
613
|
+
|
|
578
614
|
}, {
|
|
579
615
|
key: "_getAccessorMinMax",
|
|
580
|
-
value:
|
|
616
|
+
value:
|
|
617
|
+
function _getAccessorMinMax(buffer, size) {
|
|
581
618
|
var result = {
|
|
582
619
|
min: null,
|
|
583
620
|
max: null
|
|
584
621
|
};
|
|
585
|
-
|
|
586
622
|
if (buffer.length < size) {
|
|
587
623
|
return result;
|
|
588
624
|
}
|
|
589
|
-
|
|
590
625
|
result.min = [];
|
|
591
626
|
result.max = [];
|
|
592
627
|
var initValues = buffer.subarray(0, size);
|
|
593
|
-
|
|
594
628
|
var _iterator2 = _createForOfIteratorHelper(initValues),
|
|
595
|
-
|
|
596
|
-
|
|
629
|
+
_step2;
|
|
597
630
|
try {
|
|
598
631
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
599
632
|
var value = _step2.value;
|
|
@@ -605,19 +638,18 @@ var GLTFScenegraph = function () {
|
|
|
605
638
|
} finally {
|
|
606
639
|
_iterator2.f();
|
|
607
640
|
}
|
|
608
|
-
|
|
609
641
|
for (var index = size; index < buffer.length; index += size) {
|
|
610
642
|
for (var componentIndex = 0; componentIndex < size; componentIndex++) {
|
|
611
|
-
result.min[0 + componentIndex] = Math.min(
|
|
612
|
-
result.
|
|
643
|
+
result.min[0 + componentIndex] = Math.min(
|
|
644
|
+
result.min[0 + componentIndex], buffer[index + componentIndex]);
|
|
645
|
+
result.max[0 + componentIndex] = Math.max(
|
|
646
|
+
result.max[0 + componentIndex], buffer[index + componentIndex]);
|
|
613
647
|
}
|
|
614
648
|
}
|
|
615
|
-
|
|
616
649
|
return result;
|
|
617
650
|
}
|
|
618
651
|
}]);
|
|
619
652
|
return GLTFScenegraph;
|
|
620
653
|
}();
|
|
621
|
-
|
|
622
654
|
exports.default = GLTFScenegraph;
|
|
623
655
|
//# sourceMappingURL=gltf-scenegraph.js.map
|