| 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 };
 
 
  |