| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- /**
- * @author szimek / https://github.com/szimek/
- * @author alteredq / http://alteredqualia.com/
- * @author Marius Kintel / https://github.com/kintel
- */
- /*
- In options, we can specify:
- * Texture parameters for an auto-generated target texture
- * depthBuffer/stencilBuffer: Booleans to indicate if we should generate these buffers
- */
- THREE.WebGLRenderTarget = function ( width, height, options ) {
- this.uuid = THREE.Math.generateUUID();
- this.width = width;
- this.height = height;
- this.scissor = new THREE.Vector4( 0, 0, width, height );
- this.scissorTest = false;
- this.viewport = new THREE.Vector4( 0, 0, width, height );
- options = options || {};
- if ( options.minFilter === undefined ) options.minFilter = THREE.LinearFilter;
- this.texture = new THREE.Texture( undefined, undefined, options.wrapS, options.wrapT, options.magFilter, options.minFilter, options.format, options.type, options.anisotropy );
- this.depthBuffer = options.depthBuffer !== undefined ? options.depthBuffer : true;
- this.stencilBuffer = options.stencilBuffer !== undefined ? options.stencilBuffer : true;
- };
- THREE.WebGLRenderTarget.prototype = {
- constructor: THREE.WebGLRenderTarget,
- setSize: function ( width, height ) {
- if ( this.width !== width || this.height !== height ) {
- this.width = width;
- this.height = height;
- this.dispose();
- }
- this.viewport.set( 0, 0, width, height );
- this.scissor.set( 0, 0, width, height );
- },
- clone: function () {
- return new this.constructor().copy( this );
- },
- copy: function ( source ) {
- this.width = source.width;
- this.height = source.height;
- this.viewport.copy( source.viewport );
- this.texture = source.texture.clone();
- this.depthBuffer = source.depthBuffer;
- this.stencilBuffer = source.stencilBuffer;
- this.shareDepthFrom = source.shareDepthFrom;
- return this;
- },
- dispose: function () {
- this.dispatchEvent( { type: 'dispose' } );
- }
- };
- THREE.EventDispatcher.prototype.apply( THREE.WebGLRenderTarget.prototype );
|