| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | import { TempNode } from '../core/TempNode.js';import { ResolutionNode } from './ResolutionNode.js';class ScreenUVNode extends TempNode {	constructor( resolution ) {		super( 'v2' );		this.resolution = resolution || new ResolutionNode();	}	generate( builder, output ) {		let result;		if ( builder.isShader( 'fragment' ) ) {			result = '( gl_FragCoord.xy / ' + this.resolution.build( builder, 'v2' ) + ')';		} else {			console.warn( 'THREE.ScreenUVNode is not compatible with ' + builder.shader + ' shader.' );			result = 'vec2( 0.0 )';		}		return builder.format( result, this.getType( builder ), output );	}	copy( source ) {		super.copy( source );		this.resolution = source.resolution;		return this;	}	toJSON( meta ) {		let data = this.getJSONNode( meta );		if ( ! data ) {			data = this.createJSONNode( meta );			data.resolution = this.resolution.toJSON( meta ).uuid;		}		return data;	}}ScreenUVNode.prototype.nodeType = 'ScreenUV';export { ScreenUVNode };
 |