com.io7m.r2.core

## Class R2MaskRenderer

- java.lang.Object
- - com.io7m.r2.core.R2MaskRenderer

- All Implemented Interfaces:
    com.io7m.jcanephora.core.JCGLResourceUsableType, R2DeletableType, R2MaskRendererType

      public final class R2MaskRenderer
      extends Object
      implements R2MaskRendererType

  The default implementation of the `R2MaskRendererType` interface.

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `delete(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g3)` Delete the current object.
    `boolean` | `isDeleted()`
    `static R2MaskRendererType` | `newRenderer(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type in_g, R2ShaderPreprocessingEnvironmentReadableType in_shader_env, R2IDPoolType in_pool)` Construct a new renderer.
    `void` | `renderMask(com.io7m.jareas.core.AreaInclusiveUnsignedLType area, Optional<R2MaskBufferUsableType> mbuffer, com.io7m.jcanephora.profiler.JCGLProfilingContextType pc, com.io7m.jcanephora.texture_unit_allocator.JCGLTextureUnitContextParentType tucp, R2MatricesObserverType m, R2MaskInstancesType s)` Render the given instances into the given mask buffer.

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

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

- - ### Method Detail

    - #### newRenderer

          public static R2MaskRendererType newRenderer(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type in_g,
                                                       R2ShaderPreprocessingEnvironmentReadableType in_shader_env,
                                                       R2IDPoolType in_pool)

      Construct a new renderer.
      Parameters:
        `in_g` - An OpenGL interface
        `in_shader_env` - A shader preprocessing environment
        `in_pool` - An ID pool
      Returns:
        A new renderer

    - #### renderMask

          public void renderMask(com.io7m.jareas.core.AreaInclusiveUnsignedLType area,
                                 Optional<R2MaskBufferUsableType> mbuffer,
                                 com.io7m.jcanephora.profiler.JCGLProfilingContextType pc,
                                 com.io7m.jcanephora.texture_unit_allocator.JCGLTextureUnitContextParentType tucp,
                                 R2MatricesObserverType m,
                                 R2MaskInstancesType s)

      Description copied from interface: `R2MaskRendererType`

      Render the given instances into the given mask buffer.

      If a mask buffer is provided, it will be bound before evaluation and left bound after the method returns.

      Specified by:
        `renderMask` in interface `R2MaskRendererType`
      Parameters:
        `area` - The output viewport
        `mbuffer` - The optional mask buffer
        `pc` - A profiling context
        `tucp` - A texture unit context
        `m` - A matrix context
        `s` - The mask instances

    - #### delete

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

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

    - #### isDeleted

          public boolean isDeleted()

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

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