| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 | 
							- import {
 
- 	Color
 
- } from '../../../build/three.module.js';
 
- import { Pass } from './Pass.js';
 
- class RenderPass extends Pass {
 
- 	constructor( scene, camera, overrideMaterial, clearColor, clearAlpha ) {
 
- 		super();
 
- 		this.scene = scene;
 
- 		this.camera = camera;
 
- 		this.overrideMaterial = overrideMaterial;
 
- 		this.clearColor = clearColor;
 
- 		this.clearAlpha = ( clearAlpha !== undefined ) ? clearAlpha : 0;
 
- 		this.clear = true;
 
- 		this.clearDepth = false;
 
- 		this.needsSwap = false;
 
- 		this._oldClearColor = new Color();
 
- 	}
 
- 	render( renderer, writeBuffer, readBuffer /*, deltaTime, maskActive */ ) {
 
- 		const oldAutoClear = renderer.autoClear;
 
- 		renderer.autoClear = false;
 
- 		let oldClearAlpha, oldOverrideMaterial;
 
- 		if ( this.overrideMaterial !== undefined ) {
 
- 			oldOverrideMaterial = this.scene.overrideMaterial;
 
- 			this.scene.overrideMaterial = this.overrideMaterial;
 
- 		}
 
- 		if ( this.clearColor ) {
 
- 			renderer.getClearColor( this._oldClearColor );
 
- 			oldClearAlpha = renderer.getClearAlpha();
 
- 			renderer.setClearColor( this.clearColor, this.clearAlpha );
 
- 		}
 
- 		if ( this.clearDepth ) {
 
- 			renderer.clearDepth();
 
- 		}
 
- 		renderer.setRenderTarget( this.renderToScreen ? null : readBuffer );
 
- 		// TODO: Avoid using autoClear properties, see https://github.com/mrdoob/three.js/pull/15571#issuecomment-465669600
 
- 		if ( this.clear ) renderer.clear( renderer.autoClearColor, renderer.autoClearDepth, renderer.autoClearStencil );
 
- 		renderer.render( this.scene, this.camera );
 
- 		if ( this.clearColor ) {
 
- 			renderer.setClearColor( this._oldClearColor, oldClearAlpha );
 
- 		}
 
- 		if ( this.overrideMaterial !== undefined ) {
 
- 			this.scene.overrideMaterial = oldOverrideMaterial;
 
- 		}
 
- 		renderer.autoClear = oldAutoClear;
 
- 	}
 
- }
 
- export { RenderPass };
 
 
  |