com.io7m.r2.filters

## Class R2FilterBoxBlur<SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>>

- java.lang.Object
- - com.io7m.r2.filters.R2FilterBoxBlur<SD,S,DD,D>

- Type Parameters:
    `SD` - The type of source render target descriptions
    `S` - The type of source render targets
    `DD` - The type of destination render target descriptions
    `D` - The type of destination render targets
  All Implemented Interfaces:
    com.io7m.jcanephora.core.JCGLResourceUsableType, R2DeletableType, R2FilterType<R2FilterBoxBlurParameters<SD,S,DD,D>>, R2FilterUsableType<R2FilterBoxBlurParameters<SD,S,DD,D>>

      public final class R2FilterBoxBlur<SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>>
      extends Object
      implements R2FilterType<R2FilterBoxBlurParameters<SD,S,DD,D>>

  A generic box blur filter.

  The filter blurs render targets of type `S`, writing the blurred results to render targets of type `T`.

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `delete(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type gx)` Delete the current object.
    `boolean` | `isDeleted()`
    `static <SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>> R2FilterType<R2FilterBoxBlurParameters<SD,S,DD,D>>` | `newFilter(R2ShaderPreprocessingEnvironmentReadableType in_shader_env, com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type in_g, R2TextureDefaultsType in_tex_defaults, R2RenderTargetPoolUsableType<DD,D> in_rtp_pool, R2IDPoolType in_id_pool, R2UnitQuadUsableType in_quad)` Construct a new filter.
    `void` | `runFilter(com.io7m.jcanephora.profiler.JCGLProfilingContextType pc, com.io7m.jcanephora.texture_unit_allocator.JCGLTextureUnitContextParentType uc, R2FilterBoxBlurParameters<SD,S,DD,D> parameters)` Run the filter for the given parameters.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### newFilter

          public static <SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>> R2FilterType<R2FilterBoxBlurParameters<SD,S,DD,D>> newFilter(R2ShaderPreprocessingEnvironmentReadableType in_shader_env,
                                                                                                                                                                                                                                                       com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type in_g,
                                                                                                                                                                                                                                                       R2TextureDefaultsType in_tex_defaults,
                                                                                                                                                                                                                                                       R2RenderTargetPoolUsableType<DD,D> in_rtp_pool,
                                                                                                                                                                                                                                                       R2IDPoolType in_id_pool,
                                                                                                                                                                                                                                                       R2UnitQuadUsableType in_quad)

      Construct a new filter.
      Type Parameters:
        `SD` - The type of source render target descriptions
        `S` - The type of source render targets
        `DD` - The type of destination render target descriptions
        `D` - The type of destination render targets
      Parameters:
        `in_shader_env` - Shader sources
        `in_g` - A GL interface
        `in_tex_defaults` - The set of default textures
        `in_rtp_pool` - A render target pool
        `in_id_pool` - An ID pool
        `in_quad` - A unit quad
      Returns:
        A new filter

    - #### delete

          public void delete(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type gx)
                      throws R2Exception

      Description copied from interface: `R2DeletableType`
      Delete the current object.
      Specified by:
        `delete` in interface `R2DeletableType`
      Parameters:
        `gx` - An OpenGL interface
      Throws:
        `R2Exception` - On errors

    - #### isDeleted

          public boolean isDeleted()

      Specified by:
        `isDeleted` in interface `com.io7m.jcanephora.core.JCGLResourceUsableType`

    - #### runFilter

          public void runFilter(com.io7m.jcanephora.profiler.JCGLProfilingContextType pc,
                                com.io7m.jcanephora.texture_unit_allocator.JCGLTextureUnitContextParentType uc,
                                R2FilterBoxBlurParameters<SD,S,DD,D> parameters)

      Description copied from interface: `R2FilterUsableType`
      Run the filter for the given parameters.
      Specified by:
        `runFilter` in interface `R2FilterUsableType<R2FilterBoxBlurParameters<SD extends R2RenderTargetDescriptionType,S extends R2RenderTargetUsableType<SD>,DD extends R2RenderTargetDescriptionType,D extends R2RenderTargetUsableType<DD>>>`
      Parameters:
        `pc` - A profiling context
        `uc` - A texture unit context
        `parameters` - The filter parameters

Copyright © 2016 <code@io7m.com> http://io7m.com