MCP 3D Printer Server

by DMontgomery40
Verified
/** * A binding represents the connection between a resource (like a texture, sampler * or uniform buffer) and the resource definition in a shader stage. * * This module is an abstract base class for all concrete bindings types. * * @abstract * @private */ class Binding { /** * Constructs a new binding. * * @param {String} [name=''] - The binding's name. */ constructor( name = '' ) { /** * The binding's name. * * @type {String} */ this.name = name; /** * A bitmask that defines in what shader stages the * binding's resource is accessible. * * @type {Number} */ this.visibility = 0; } /** * Makes sure binding's resource is visible for the given shader stage. * * @param {Number} visibility - The shader stage. */ setVisibility( visibility ) { this.visibility |= visibility; } /** * Clones the binding. * * @return {Binding} The cloned binding. */ clone() { return Object.assign( new this.constructor(), this ); } } export default Binding;