info.nodes.forEach(node => { glsl.mod.remove(node); });
} }); parameterResult.forEach(parameterNode => { const typeName = parameterNode.type_name; usedTypeDict[typeName] = true; const members = this._getMembers(structInfoDict, typeName); for (let name in members) { usedTypeDict[name] = true; } }); for (let name in structInfoDict) { const structInfo = structInfoDict[name]; if (structInfo && !usedTypeDict[name]) { glsl.mod.remove(structInfo.node); } } }, _getMembers(structInfoDict, name) { const structInfo = structInfoDict[name]; if (structInfo) { const members = structInfo.members; for (let name in members) { Object.assign(members, this._getMembers(structInfoDict, name)); } return members; } return {}; }