Path: blob/main/projects/HexGL/libs/postprocessing/DotScreenPass.js
4627 views
/**1* @author alteredq / http://alteredqualia.com/2*/34THREE.DotScreenPass = function ( center, angle, scale ) {56var shader = THREE.ShaderExtras[ "dotscreen" ];78this.uniforms = THREE.UniformsUtils.clone( shader.uniforms );910if ( center !== undefined )11this.uniforms[ "center" ].value.copy( center );1213if ( angle !== undefined ) this.uniforms[ "angle"].value = angle;14if ( scale !== undefined ) this.uniforms[ "scale"].value = scale;1516this.material = new THREE.ShaderMaterial( {1718uniforms: this.uniforms,19vertexShader: shader.vertexShader,20fragmentShader: shader.fragmentShader2122} );2324this.enabled = true;25this.renderToScreen = false;26this.needsSwap = true;2728};2930THREE.DotScreenPass.prototype = {3132render: function ( renderer, writeBuffer, readBuffer, delta ) {3334this.uniforms[ "tDiffuse" ].texture = readBuffer;35this.uniforms[ "tSize" ].value.set( readBuffer.width, readBuffer.height );3637THREE.EffectComposer.quad.material = this.material;3839if ( this.renderToScreen ) {4041renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera );4243} else {4445renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera, writeBuffer, false );4647}4849}5051};525354