芝麻web文件管理V1.00
编辑当前文件:/home/paymbalq/public_html/wp-content/plugins/revslider/public/assets/js/libs/noise.js
if (THREE!==undefined) { THREE.EffectComposer=function(a,b){if(this.renderer=a,void 0===b){var c={minFilter:THREE.LinearFilter,magFilter:THREE.LinearFilter,format:THREE.RGBAFormat},d=a.getSize(new THREE.Vector2);this._pixelRatio=a.getPixelRatio(),this._width=d.width,this._height=d.height,b=new THREE.WebGLRenderTarget(this._width*this._pixelRatio,this._height*this._pixelRatio,c),b.texture.name="EffectComposer.rt1"}else this._pixelRatio=1,this._width=b.width,this._height=b.height;this.renderTarget1=b,this.renderTarget2=b.clone(),this.renderTarget2.texture.name="EffectComposer.rt2",this.writeBuffer=this.renderTarget1,this.readBuffer=this.renderTarget2,this.renderToScreen=!0,this.passes=[],void 0===THREE.CopyShader&&console.error("THREE.EffectComposer relies on THREE.CopyShader"),void 0===THREE.ShaderPass&&console.error("THREE.EffectComposer relies on THREE.ShaderPass"),this.copyPass=new THREE.ShaderPass(THREE.CopyShader),this.clock=new THREE.Clock},Object.assign(THREE.EffectComposer.prototype,{swapBuffers:function(){var a=this.readBuffer;this.readBuffer=this.writeBuffer,this.writeBuffer=a},addPass:function(a){this.passes.push(a),a.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)},insertPass:function(a,b){this.passes.splice(b,0,a),a.setSize(this._width*this._pixelRatio,this._height*this._pixelRatio)},removePass:function(a){const b=this.passes.indexOf(a);-1!==b&&this.passes.splice(b,1)},isLastEnabledPass:function(a){for(var b=a+1;b
varying vec2 vUv; uniform sampler2D tColor; uniform float progress; uniform float intensity; uniform float left; uniform float top; int Samples = 64; #include
vec4 DirectionalBlur(in vec2 UV, in vec2 Direction, in float Intensity, in sampler2D Texture) { vec4 Color = vec4(0.0); for (int i=1; i<=Samples/2; i++) { Color += TEXTURE2D(Texture,UV+float(i)*Intensity/float(Samples/2)*Direction); Color += TEXTURE2D(Texture,UV-float(i)*Intensity/float(Samples/2)*Direction); } return Color/float(Samples); } void main() { vec2 uv = vUv; vec2 Direction = vec2(left, top); float Intensity = intensity; float m = progress; float mult = (m -0.5)*2.; Intensity *= (-(mult * mult) + 1.); Intensity *= 1.0 - step(1.0,m); vec4 Color = DirectionalBlur(uv,normalize(Direction), Intensity, tColor); gl_FragColor = vec4(Color.xyz, 1.0); }` }; /** * Directional blur post-process with Blur2D shader */ THREE.Blur2D = function ( scene, camera, params ) { THREE.Pass.call( this ); this.scene = scene; this.camera = camera; var left = params.left === undefined ? 0 : params.left; var top = params.top === undefined ? 0 : params.top; if(left === 0 && top === 0) left = 1.0; // render targets var width = params.width || window.innerWidth || 1; var height = params.height || window.innerHeight || 1; this.renderTargetDepth = new THREE.WebGLRenderTarget( width, height, { minFilter: THREE.NearestFilter, magFilter: THREE.NearestFilter } ); this.renderTargetDepth.texture.name = 'Blur2D.depth'; // blur2d material if ( THREE.Blur2dShader === undefined ) console.error( 'THREE.Blur2D relies on THREE.Blur2dShader' ); var Blur2dShader = THREE.Blur2dShader; var blur2dUniforms = THREE.UniformsUtils.clone( Blur2dShader.uniforms ); blur2dUniforms[ 'intensity' ].value = params.intensity !== undefined ? params.intensity : 0.1; blur2dUniforms[ 'progress' ].value = 0.0; blur2dUniforms[ 'left' ].value = left; blur2dUniforms[ 'top' ].value = top; this.materialBlur2d = new THREE.ShaderMaterial( { uniforms: blur2dUniforms, vertexShader: Blur2dShader.vertexShader, fragmentShader: Blur2dShader.fragmentShader } ); this.uniforms = blur2dUniforms; this.needsSwap = false; this.fsQuad = new THREE.Pass.FullScreenQuad( this.materialBlur2d ); this._oldClearColor = new THREE.Color(); }; THREE.Blur2D.prototype = Object.assign( Object.create( THREE.Pass.prototype ), { constructor: THREE.Blur2D, render: function ( renderer, writeBuffer, readBuffer/*, deltaTime, maskActive*/ ) { // Render depth into texture renderer.getClearColor( this._oldClearColor ); var oldClearAlpha = renderer.getClearAlpha(); var oldAutoClear = renderer.autoClear; renderer.autoClear = false; renderer.setClearColor( 0xffffff ); renderer.setClearAlpha( 1.0 ); renderer.setRenderTarget( this.renderTargetDepth ); renderer.clear(); renderer.render( this.scene, this.camera ); // Render blur2d composite this.uniforms[ 'tColor' ].value = readBuffer.texture; if ( this.renderToScreen ) { renderer.setRenderTarget( null ); this.fsQuad.render( renderer ); } else { renderer.setRenderTarget( writeBuffer ); renderer.clear(); this.fsQuad.render( renderer ); } this.scene.overrideMaterial = null; renderer.setClearColor( this._oldClearColor ); renderer.setClearAlpha( oldClearAlpha ); renderer.autoClear = oldAutoClear; } } ); var _R = _R_is_Editor ? RVS._R : jQuery.fn.revolution; _R.postProcessing = _R.postProcessing || {}; _R.postProcessing.blur2d = { init: function(renderer, scene, camera, opt) { let PP = {}; PP.type = "blur2d"; PP.renderPass = new THREE.RenderPass( scene, camera ); PP.blur2D = new THREE.Blur2D( scene, camera, { progress: opt.progress, intensity: opt.intensity, left: opt.left, top: opt.top, width: opt.width, height: opt.height }); PP.composer = new THREE.EffectComposer( renderer); PP.composer.addPass( PP.renderPass ); PP.composer.addPass( PP.blur2D ); return PP; } } }