123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import ForEach from "./ForEach.js";
- import defined from "../../Core/defined.js";
- /**
- * Iterate through the objects within the glTF and delete their pipeline extras object.
- *
- * @param {Object} gltf A javascript object containing a glTF asset.
- * @returns {Object} glTF with no pipeline extras.
- *
- * @private
- */
- function removePipelineExtras(gltf) {
- ForEach.shader(gltf, function (shader) {
- removeExtras(shader);
- });
- ForEach.buffer(gltf, function (buffer) {
- removeExtras(buffer);
- });
- ForEach.image(gltf, function (image) {
- removeExtras(image);
- });
- removeExtras(gltf);
- return gltf;
- }
- function removeExtras(object) {
- if (!defined(object.extras)) {
- return;
- }
- if (defined(object.extras._pipeline)) {
- delete object.extras._pipeline;
- }
- if (Object.keys(object.extras).length === 0) {
- delete object.extras;
- }
- }
- export default removePipelineExtras;
|