| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | 
							- import { MathUtils } from '../../../../build/three.module.js';
 
- import { ShaderPass } from '../../postprocessing/ShaderPass.js';
 
- import { NodeMaterial } from '../materials/NodeMaterial.js';
 
- import { ScreenNode } from '../inputs/ScreenNode.js';
 
- class NodePass extends ShaderPass {
 
- 	constructor() {
 
- 		super();
 
- 		this.name = '';
 
- 		this.uuid = MathUtils.generateUUID();
 
- 		this.userData = {};
 
- 		this.textureID = 'renderTexture';
 
- 		this.input = new ScreenNode();
 
- 		this.material = new NodeMaterial();
 
- 		this.needsUpdate = true;
 
- 	}
 
- 	render() {
 
- 		if ( this.needsUpdate ) {
 
- 			this.material.dispose();
 
- 			this.material.fragment.value = this.input;
 
- 			this.needsUpdate = false;
 
- 		}
 
- 		this.uniforms = this.material.uniforms;
 
- 		super.render( ...arguments );
 
- 	}
 
- 	copy( source ) {
 
- 		this.input = source.input;
 
- 		return this;
 
- 	}
 
- 	toJSON( meta ) {
 
- 		var isRootObject = ( meta === undefined || typeof meta === 'string' );
 
- 		if ( isRootObject ) {
 
- 			meta = {
 
- 				nodes: {}
 
- 			};
 
- 		}
 
- 		if ( meta && ! meta.passes ) meta.passes = {};
 
- 		if ( ! meta.passes[ this.uuid ] ) {
 
- 			var data = {};
 
- 			data.uuid = this.uuid;
 
- 			data.type = 'NodePass';
 
- 			meta.passes[ this.uuid ] = data;
 
- 			if ( this.name !== '' ) data.name = this.name;
 
- 			if ( JSON.stringify( this.userData ) !== '{}' ) data.userData = this.userData;
 
- 			data.input = this.input.toJSON( meta ).uuid;
 
- 		}
 
- 		meta.pass = this.uuid;
 
- 		return meta;
 
- 	}
 
- }
 
- export { NodePass };
 
 
  |