Path: blob/main/projects/HexGL/libs/postprocessing/ShaderPass.js
4627 views
/**1* @author alteredq / http://alteredqualia.com/2*/34THREE.ShaderPass = function ( shader, textureID ) {56this.textureID = ( textureID !== undefined ) ? textureID : "tDiffuse";78this.uniforms = THREE.UniformsUtils.clone( shader.uniforms );910this.material = new THREE.ShaderMaterial( {1112uniforms: this.uniforms,13vertexShader: shader.vertexShader,14fragmentShader: shader.fragmentShader1516} );1718this.renderToScreen = false;1920this.enabled = true;21this.needsSwap = true;22this.clear = false;2324};2526THREE.ShaderPass.prototype = {2728render: function ( renderer, writeBuffer, readBuffer, delta ) {2930if ( this.uniforms[ this.textureID ] ) {3132this.uniforms[ this.textureID ].texture = readBuffer;3334}3536THREE.EffectComposer.quad.material = this.material;3738if ( this.renderToScreen ) {3940renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera );4142} else {4344renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera, writeBuffer, this.clear );4546}4748}4950};515253