generateStruct( type, membersLayout, values = null ) {

		const snippets = [];

		for ( const member of membersLayout ) {

			const { name, type } = member;

			if ( values && values[ name ] && values[ name ].isNode ) {

				snippets.push( values[ name ].build( this, type ) );

			} else {

				snippets.push( this.generateConst( type ) );

			}

		}

		return type + '( ' + snippets.join( ', ' ) + ' )';

	}
Generates the struct shader string.

@param {string} type - The type.
@param {Array<Object>} [membersLayout] - The count.
@param {?Array<Node>} [values=null] - The default values.
@return {string} The generated value as a shader string.