UNPKG

three

Version:

JavaScript 3D library

53 lines (29 loc) 1.05 kB
/** * @author sunag / http://www.sunag.com.br/ */ THREE.ScreenUVNode = function ( resolution ) { THREE.TempNode.call( this, 'v2' ); this.resolution = resolution; }; THREE.ScreenUVNode.prototype = Object.create( THREE.TempNode.prototype ); THREE.ScreenUVNode.prototype.constructor = THREE.ScreenUVNode; THREE.ScreenUVNode.prototype.nodeType = "ScreenUV"; THREE.ScreenUVNode.prototype.generate = function ( builder, output ) { var material = builder.material; var 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 ); }; THREE.ScreenUVNode.prototype.toJSON = function ( meta ) { var data = this.getJSONNode( meta ); if ( ! data ) { data = this.createJSONNode( meta ); data.resolution = this.resolution.toJSON( meta ).uuid; } return data; };