47 lines
		
	
	
		
			875 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			875 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import {
 | 
						|
	Color
 | 
						|
} from 'three';
 | 
						|
import { Pass } from './Pass.js';
 | 
						|
 | 
						|
class ClearPass extends Pass {
 | 
						|
 | 
						|
	constructor( clearColor, clearAlpha ) {
 | 
						|
 | 
						|
		super();
 | 
						|
 | 
						|
		this.needsSwap = false;
 | 
						|
 | 
						|
		this.clearColor = ( clearColor !== undefined ) ? clearColor : 0x000000;
 | 
						|
		this.clearAlpha = ( clearAlpha !== undefined ) ? clearAlpha : 0;
 | 
						|
		this._oldClearColor = new Color();
 | 
						|
 | 
						|
	}
 | 
						|
 | 
						|
	render( renderer, writeBuffer, readBuffer /*, deltaTime, maskActive */ ) {
 | 
						|
 | 
						|
		let oldClearAlpha;
 | 
						|
 | 
						|
		if ( this.clearColor ) {
 | 
						|
 | 
						|
			renderer.getClearColor( this._oldClearColor );
 | 
						|
			oldClearAlpha = renderer.getClearAlpha();
 | 
						|
 | 
						|
			renderer.setClearColor( this.clearColor, this.clearAlpha );
 | 
						|
 | 
						|
		}
 | 
						|
 | 
						|
		renderer.setRenderTarget( this.renderToScreen ? null : readBuffer );
 | 
						|
		renderer.clear();
 | 
						|
 | 
						|
		if ( this.clearColor ) {
 | 
						|
 | 
						|
			renderer.setClearColor( this._oldClearColor, oldClearAlpha );
 | 
						|
 | 
						|
		}
 | 
						|
 | 
						|
	}
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
export { ClearPass };
 |