Skip to content

⬅️ Back to Table of Contents

📄 DepthLimitedBlurShader.js

📊 Analysis Summary

Metric Count
🔧 Functions 19
📦 Imports 1
📊 Variables & Constants 4

📚 Table of Contents

🛠️ File Location:

📂 examples/jsm/shaders/DepthLimitedBlurShader.js

📦 Imports

Name Source
Vector2 three

Variables & Constants

Name Type Kind Value Exported
DepthLimitedBlurShader ShaderMaterial let/var { name: 'DepthLimitedBlurShader', defines: { 'KERNEL_RADIUS': 4, 'DEPTH_PACKI...
weights any[] let/var []
offsets any[] let/var []
BlurShaderUtils { createSampleWeights: (kernelRadius:... let/var { createSampleWeights: function ( kernelRadius, stdDev ) { const weights = []...

Functions

createSampleWeights(kernelRadius: any, stdDev: any): number[]

Parameters:

  • kernelRadius any
  • stdDev any

Returns: number[]

Calls:

  • weights.push
  • gaussian
Code
function ( kernelRadius, stdDev ) {

        const weights = [];

        for ( let i = 0; i <= kernelRadius; i ++ ) {

            weights.push( gaussian( i, stdDev ) );

        }

        return weights;

    }

createSampleOffsets(kernelRadius: any, uvIncrement: any): any[]

Parameters:

  • kernelRadius any
  • uvIncrement any

Returns: any[]

Calls:

  • offsets.push
  • uvIncrement.clone().multiplyScalar
Code
function ( kernelRadius, uvIncrement ) {

        const offsets = [];

        for ( let i = 0; i <= kernelRadius; i ++ ) {

            offsets.push( uvIncrement.clone().multiplyScalar( i ) );

        }

        return offsets;

    }

configure(material: any, kernelRadius: any, stdDev: any, uvIncrement: any): void

Parameters:

  • material any
  • kernelRadius any
  • stdDev any
  • uvIncrement any

Returns: void

Calls:

  • BlurShaderUtils.createSampleOffsets
  • BlurShaderUtils.createSampleWeights
Code
function ( material, kernelRadius, stdDev, uvIncrement ) {

        material.defines[ 'KERNEL_RADIUS' ] = kernelRadius;
        material.uniforms[ 'sampleUvOffsets' ].value = BlurShaderUtils.createSampleOffsets( kernelRadius, uvIncrement );
        material.uniforms[ 'sampleWeights' ].value = BlurShaderUtils.createSampleWeights( kernelRadius, stdDev );
        material.needsUpdate = true;

    }

createSampleWeights(kernelRadius: any, stdDev: any): number[]

Parameters:

  • kernelRadius any
  • stdDev any

Returns: number[]

Calls:

  • weights.push
  • gaussian
Code
function ( kernelRadius, stdDev ) {

        const weights = [];

        for ( let i = 0; i <= kernelRadius; i ++ ) {

            weights.push( gaussian( i, stdDev ) );

        }

        return weights;

    }

createSampleOffsets(kernelRadius: any, uvIncrement: any): any[]

Parameters:

  • kernelRadius any
  • uvIncrement any

Returns: any[]

Calls:

  • offsets.push
  • uvIncrement.clone().multiplyScalar
Code
function ( kernelRadius, uvIncrement ) {

        const offsets = [];

        for ( let i = 0; i <= kernelRadius; i ++ ) {

            offsets.push( uvIncrement.clone().multiplyScalar( i ) );

        }

        return offsets;

    }

configure(material: any, kernelRadius: any, stdDev: any, uvIncrement: any): void

Parameters:

  • material any
  • kernelRadius any
  • stdDev any
  • uvIncrement any

Returns: void

Calls:

  • BlurShaderUtils.createSampleOffsets
  • BlurShaderUtils.createSampleWeights
Code
function ( material, kernelRadius, stdDev, uvIncrement ) {

        material.defines[ 'KERNEL_RADIUS' ] = kernelRadius;
        material.uniforms[ 'sampleUvOffsets' ].value = BlurShaderUtils.createSampleOffsets( kernelRadius, uvIncrement );
        material.uniforms[ 'sampleWeights' ].value = BlurShaderUtils.createSampleWeights( kernelRadius, stdDev );
        material.needsUpdate = true;

    }

createSampleWeights(kernelRadius: any, stdDev: any): number[]

Parameters:

  • kernelRadius any
  • stdDev any

Returns: number[]

Calls:

  • weights.push
  • gaussian
Code
function ( kernelRadius, stdDev ) {

        const weights = [];

        for ( let i = 0; i <= kernelRadius; i ++ ) {

            weights.push( gaussian( i, stdDev ) );

        }

        return weights;

    }

createSampleOffsets(kernelRadius: any, uvIncrement: any): any[]

Parameters:

  • kernelRadius any
  • uvIncrement any

Returns: any[]

Calls:

  • offsets.push
  • uvIncrement.clone().multiplyScalar
Code
function ( kernelRadius, uvIncrement ) {

        const offsets = [];

        for ( let i = 0; i <= kernelRadius; i ++ ) {

            offsets.push( uvIncrement.clone().multiplyScalar( i ) );

        }

        return offsets;

    }

configure(material: any, kernelRadius: any, stdDev: any, uvIncrement: any): void

Parameters:

  • material any
  • kernelRadius any
  • stdDev any
  • uvIncrement any

Returns: void

Calls:

  • BlurShaderUtils.createSampleOffsets
  • BlurShaderUtils.createSampleWeights
Code
function ( material, kernelRadius, stdDev, uvIncrement ) {

        material.defines[ 'KERNEL_RADIUS' ] = kernelRadius;
        material.uniforms[ 'sampleUvOffsets' ].value = BlurShaderUtils.createSampleOffsets( kernelRadius, uvIncrement );
        material.uniforms[ 'sampleWeights' ].value = BlurShaderUtils.createSampleWeights( kernelRadius, stdDev );
        material.needsUpdate = true;

    }

createSampleWeights(kernelRadius: any, stdDev: any): number[]

Parameters:

  • kernelRadius any
  • stdDev any

Returns: number[]

Calls:

  • weights.push
  • gaussian
Code
function ( kernelRadius, stdDev ) {

        const weights = [];

        for ( let i = 0; i <= kernelRadius; i ++ ) {

            weights.push( gaussian( i, stdDev ) );

        }

        return weights;

    }

createSampleOffsets(kernelRadius: any, uvIncrement: any): any[]

Parameters:

  • kernelRadius any
  • uvIncrement any

Returns: any[]

Calls:

  • offsets.push
  • uvIncrement.clone().multiplyScalar
Code
function ( kernelRadius, uvIncrement ) {

        const offsets = [];

        for ( let i = 0; i <= kernelRadius; i ++ ) {

            offsets.push( uvIncrement.clone().multiplyScalar( i ) );

        }

        return offsets;

    }

configure(material: any, kernelRadius: any, stdDev: any, uvIncrement: any): void

Parameters:

  • material any
  • kernelRadius any
  • stdDev any
  • uvIncrement any

Returns: void

Calls:

  • BlurShaderUtils.createSampleOffsets
  • BlurShaderUtils.createSampleWeights
Code
function ( material, kernelRadius, stdDev, uvIncrement ) {

        material.defines[ 'KERNEL_RADIUS' ] = kernelRadius;
        material.uniforms[ 'sampleUvOffsets' ].value = BlurShaderUtils.createSampleOffsets( kernelRadius, uvIncrement );
        material.uniforms[ 'sampleWeights' ].value = BlurShaderUtils.createSampleWeights( kernelRadius, stdDev );
        material.needsUpdate = true;

    }

createSampleWeights(kernelRadius: any, stdDev: any): number[]

Parameters:

  • kernelRadius any
  • stdDev any

Returns: number[]

Calls:

  • weights.push
  • gaussian
Code
function ( kernelRadius, stdDev ) {

        const weights = [];

        for ( let i = 0; i <= kernelRadius; i ++ ) {

            weights.push( gaussian( i, stdDev ) );

        }

        return weights;

    }

createSampleOffsets(kernelRadius: any, uvIncrement: any): any[]

Parameters:

  • kernelRadius any
  • uvIncrement any

Returns: any[]

Calls:

  • offsets.push
  • uvIncrement.clone().multiplyScalar
Code
function ( kernelRadius, uvIncrement ) {

        const offsets = [];

        for ( let i = 0; i <= kernelRadius; i ++ ) {

            offsets.push( uvIncrement.clone().multiplyScalar( i ) );

        }

        return offsets;

    }

configure(material: any, kernelRadius: any, stdDev: any, uvIncrement: any): void

Parameters:

  • material any
  • kernelRadius any
  • stdDev any
  • uvIncrement any

Returns: void

Calls:

  • BlurShaderUtils.createSampleOffsets
  • BlurShaderUtils.createSampleWeights
Code
function ( material, kernelRadius, stdDev, uvIncrement ) {

        material.defines[ 'KERNEL_RADIUS' ] = kernelRadius;
        material.uniforms[ 'sampleUvOffsets' ].value = BlurShaderUtils.createSampleOffsets( kernelRadius, uvIncrement );
        material.uniforms[ 'sampleWeights' ].value = BlurShaderUtils.createSampleWeights( kernelRadius, stdDev );
        material.needsUpdate = true;

    }

createSampleWeights(kernelRadius: any, stdDev: any): number[]

Parameters:

  • kernelRadius any
  • stdDev any

Returns: number[]

Calls:

  • weights.push
  • gaussian
Code
function ( kernelRadius, stdDev ) {

        const weights = [];

        for ( let i = 0; i <= kernelRadius; i ++ ) {

            weights.push( gaussian( i, stdDev ) );

        }

        return weights;

    }

createSampleOffsets(kernelRadius: any, uvIncrement: any): any[]

Parameters:

  • kernelRadius any
  • uvIncrement any

Returns: any[]

Calls:

  • offsets.push
  • uvIncrement.clone().multiplyScalar
Code
function ( kernelRadius, uvIncrement ) {

        const offsets = [];

        for ( let i = 0; i <= kernelRadius; i ++ ) {

            offsets.push( uvIncrement.clone().multiplyScalar( i ) );

        }

        return offsets;

    }

configure(material: any, kernelRadius: any, stdDev: any, uvIncrement: any): void

Parameters:

  • material any
  • kernelRadius any
  • stdDev any
  • uvIncrement any

Returns: void

Calls:

  • BlurShaderUtils.createSampleOffsets
  • BlurShaderUtils.createSampleWeights
Code
function ( material, kernelRadius, stdDev, uvIncrement ) {

        material.defines[ 'KERNEL_RADIUS' ] = kernelRadius;
        material.uniforms[ 'sampleUvOffsets' ].value = BlurShaderUtils.createSampleOffsets( kernelRadius, uvIncrement );
        material.uniforms[ 'sampleWeights' ].value = BlurShaderUtils.createSampleWeights( kernelRadius, stdDev );
        material.needsUpdate = true;

    }

gaussian(x: any, stdDev: any): number

Parameters:

  • x any
  • stdDev any

Returns: number

Calls:

  • Math.exp
  • Math.sqrt
Code
function gaussian( x, stdDev ) {

    return Math.exp( - ( x * x ) / ( 2.0 * ( stdDev * stdDev ) ) ) / ( Math.sqrt( 2.0 * Math.PI ) * stdDev );

}