com.io7m.r2.core

## Class R2StencilRenderer

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

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

      public final class R2StencilRenderer
      extends Object
      implements R2StencilRendererType

  The default implementation of the `R2StencilRendererType` 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 gi)` Delete the current object.
    `boolean` | `isDeleted()`
    `static R2StencilRendererType` | `newRenderer(R2ShaderPreprocessingEnvironmentReadableType in_shader_env, com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type in_g, R2IDPoolType in_pool, R2UnitQuadUsableType in_quad)`
    `void` | `renderStencilsWithBoundBuffer(R2MatricesObserverType m, com.io7m.jcanephora.profiler.JCGLProfilingContextType pc, com.io7m.jcanephora.texture_unit_allocator.JCGLTextureUnitContextParentType uc, com.io7m.jareas.core.AreaInclusiveUnsignedLType area, R2SceneStencilsType s)` Render the given stencil instances into the currently bound framebuffer.

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

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

- - ### Method Detail

    - #### newRenderer

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

      Parameters:
        `in_shader_env` - Shader source access
        `in_g` - An OpenGL interface
        `in_pool` - The ID pool
        `in_quad` - A unit quad
      Returns:
        A new renderer

    - #### renderStencilsWithBoundBuffer

          public void renderStencilsWithBoundBuffer(R2MatricesObserverType m,
                                                    com.io7m.jcanephora.profiler.JCGLProfilingContextType pc,
                                                    com.io7m.jcanephora.texture_unit_allocator.JCGLTextureUnitContextParentType uc,
                                                    com.io7m.jareas.core.AreaInclusiveUnsignedLType area,
                                                    R2SceneStencilsType s)

      Description copied from interface: `R2StencilRendererType`
      Render the given stencil instances into the currently bound framebuffer.
      Specified by:
        `renderStencilsWithBoundBuffer` in interface `R2StencilRendererType`
      Parameters:
        `m` - A matrix context
        `pc` - A profiling context
        `uc` - A texture unit context
        `area` - The current viewport
        `s` - The stencil instances

    - #### delete

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

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

    - #### isDeleted

          public boolean isDeleted()

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

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