rhodonite
    Preparing search index...

    Class GaussianBlur

    A helper class for creating Gaussian blur effects on textures. This class provides functionality to apply multi-pass Gaussian blur with customizable parameters including blur levels, kernel size, and variance.

    Index

    Constructors

    Methods

    • Creates a complete Gaussian blur expression with multiple blur passes and synthesis. This method generates a series of render passes that apply Gaussian blur at different resolution levels and synthesizes them into a final blurred image.

      Parameters

      • config: {
            parameters: {
                blurPassLevel?: number;
                gaussianKernelSize?: number;
                gaussianVariance?: number;
                isReduceBuffer?: boolean;
                outputFrameBuffer?: FrameBuffer;
                outputFrameBufferLayerIndex?: number;
                synthesizeCoefficient?: [number, number, number, number, number, number];
                textureFormat?: TextureFormatEnum;
            };
            textureToBlur: AbstractTexture;
        }

        Configuration object containing the texture to blur and parameters

        • parameters: {
              blurPassLevel?: number;
              gaussianKernelSize?: number;
              gaussianVariance?: number;
              isReduceBuffer?: boolean;
              outputFrameBuffer?: FrameBuffer;
              outputFrameBufferLayerIndex?: number;
              synthesizeCoefficient?: [number, number, number, number, number, number];
              textureFormat?: TextureFormatEnum;
          }

          Blur configuration parameters

          • OptionalblurPassLevel?: number

            Number of blur passes (default: 4)

          • OptionalgaussianKernelSize?: number

            Size of the Gaussian kernel (default: 10)

          • OptionalgaussianVariance?: number

            Variance for Gaussian distribution (default: 10)

          • OptionalisReduceBuffer?: boolean

            Whether to reduce buffer size for each pass (default: true)

          • OptionaloutputFrameBuffer?: FrameBuffer

            Optional output framebuffer (default: undefined)

          • OptionaloutputFrameBufferLayerIndex?: number

            Layer index for output framebuffer (default: 0)

          • OptionalsynthesizeCoefficient?: [number, number, number, number, number, number]

            Coefficients for blending blur levels (default: [1.0, 1.0, 1.0, 1.0, 1.0, 1.0])

          • OptionaltextureFormat?: TextureFormatEnum

            Format for intermediate textures (default: RGBA16F)

        • textureToBlur: AbstractTexture

          The source texture to apply Gaussian blur to

      Returns {
          blurExpression: Expression;
          blurredRenderTarget: RenderTargetTexture;
          renderPassesBlurred: RenderPass[];
      }

      An object containing the blur expression, blurred render target, and render passes

    • Destroys all 3D API resources associated with this GaussianBlur instance. This method cleans up all cached framebuffers and their associated GPU resources to prevent memory leaks. Should be called when the GaussianBlur instance is no longer needed.

      Returns void