com.io7m.r2.filters

## Class R2FilterLightApplicator

- java.lang.Object
- - com.io7m.r2.filters.R2FilterLightApplicator

- All Implemented Interfaces:
    com.io7m.jcanephora.core.JCGLResourceUsableType, R2DeletableType, R2FilterType<R2FilterLightApplicatorParametersType>, R2FilterUsableType<R2FilterLightApplicatorParametersType>

      public final class R2FilterLightApplicator
      extends Object
      implements R2FilterType<R2FilterLightApplicatorParametersType>

  A trivial filter that combines a geometry buffer and a light buffer into a lit image.

  The filter takes various buffers as input and writes a lit image to the currently bound framebuffer. It can optionally copy the geometry buffer's depth buffer to the current depth buffer.

  See Also:
    `R2GeometryBufferUsableType`, `R2LightBufferUsableType`

- - ### 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 R2FilterType<R2FilterLightApplicatorParametersType>` | `newFilter(R2ShaderPreprocessingEnvironmentReadableType in_shader_env, com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type in_g, R2IDPoolType in_pool, R2UnitQuadUsableType in_quad)` Construct a new filter.
    `void` | `runFilter(com.io7m.jcanephora.profiler.JCGLProfilingContextType pc, com.io7m.jcanephora.texture_unit_allocator.JCGLTextureUnitContextParentType uc, R2FilterLightApplicatorParametersType 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 R2FilterType<R2FilterLightApplicatorParametersType> newFilter(R2ShaderPreprocessingEnvironmentReadableType in_shader_env,
                                                                                      com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type in_g,
                                                                                      R2IDPoolType in_pool,
                                                                                      R2UnitQuadUsableType in_quad)

      Construct a new filter.
      Parameters:
        `in_shader_env` - Shader sources
        `in_g` - A GL interface
        `in_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,
                                R2FilterLightApplicatorParametersType parameters)

      Description copied from interface: `R2FilterUsableType`
      Run the filter for the given parameters.
      Specified by:
        `runFilter` in interface `R2FilterUsableType<R2FilterLightApplicatorParametersType>`
      Parameters:
        `pc` - A profiling context
        `uc` - A texture unit context
        `parameters` - The filter parameters

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