# Hierarchy For Package com.io7m.r2.core

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - com.io7m.r2.core.R2AmbientOcclusionBuffer (implements com.io7m.r2.core.R2AmbientOcclusionBufferType)
  - com.io7m.r2.core.R2AmbientOcclusionBufferDescription (implements com.io7m.r2.core.R2AmbientOcclusionBufferDescriptionType)
  - com.io7m.r2.core.R2AmbientOcclusionBufferDescription.Builder
  - com.io7m.r2.core.R2AmbientOcclusionBufferDescriptionScaler (implements java.util.function.BiFunction<T,U,R>)
  - com.io7m.r2.core.R2AmbientOcclusionBufferPool (implements com.io7m.r2.core.R2RenderTargetPoolType<D,T>)
  - com.io7m.r2.core.R2AttributeConventions
  - com.io7m.r2.core.R2Bilinear
  - com.io7m.r2.core.R2Core
  - com.io7m.r2.core.R2DepthAttachmentCreate (implements com.io7m.r2.core.R2DepthAttachmentCreateType)
  - com.io7m.r2.core.R2DepthAttachmentCreate.Builder
  - com.io7m.r2.core.R2DepthAttachmentShare (implements com.io7m.r2.core.R2DepthAttachmentShareType)
  - com.io7m.r2.core.R2DepthAttachmentShare.Builder
  - com.io7m.r2.core.R2DepthInstances (implements com.io7m.r2.core.R2DepthInstancesType)
  - com.io7m.r2.core.R2DepthOnlyBuffer (implements com.io7m.r2.core.R2DepthOnlyBufferType)
  - com.io7m.r2.core.R2DepthOnlyBufferDescription (implements com.io7m.r2.core.R2DepthOnlyBufferDescriptionType)
  - com.io7m.r2.core.R2DepthOnlyBufferDescription.Builder
  - com.io7m.r2.core.R2DepthOnlyRenderer (implements com.io7m.r2.core.R2DepthRendererType)
  - com.io7m.r2.core.R2DepthVarianceBuffer (implements com.io7m.r2.core.R2DepthVarianceBufferType)
  - com.io7m.r2.core.R2DepthVarianceBufferDescription (implements com.io7m.r2.core.R2DepthVarianceBufferDescriptionType)
  - com.io7m.r2.core.R2DepthVarianceBufferDescription.Builder
  - com.io7m.r2.core.R2DepthVarianceBufferPool (implements com.io7m.r2.core.R2RenderTargetPoolType<D,T>)
  - com.io7m.r2.core.R2DepthVarianceRenderer (implements com.io7m.r2.core.R2DepthVarianceRendererType)
  - com.io7m.r2.core.R2GeometryBuffer (implements com.io7m.r2.core.R2GeometryBufferType)
  - com.io7m.r2.core.R2GeometryBufferDescription (implements com.io7m.r2.core.R2GeometryBufferDescriptionType)
  - com.io7m.r2.core.R2GeometryBufferDescription.Builder
  - com.io7m.r2.core.R2GeometryRenderer (implements com.io7m.r2.core.R2GeometryRendererType)
  - com.io7m.r2.core.R2IDPool (implements com.io7m.r2.core.R2IDPoolType)
  - com.io7m.r2.core.R2ImageBuffer (implements com.io7m.r2.core.R2ImageBufferType)
  - com.io7m.r2.core.R2ImageBufferDescription (implements com.io7m.r2.core.R2ImageBufferDescriptionType)
  - com.io7m.r2.core.R2ImageBufferDescription.Builder
  - com.io7m.r2.core.R2ImageBufferDescriptionScaler (implements java.util.function.BiFunction<T,U,R>)
  - com.io7m.r2.core.R2ImageBufferPool (implements com.io7m.r2.core.R2RenderTargetPoolType<D,T>)
  - com.io7m.r2.core.R2IndexBuffers
  - com.io7m.r2.core.R2InstanceBatchedDynamic (implements com.io7m.r2.core.R2InstanceBatchedDynamicType)
  - com.io7m.r2.core.R2InstanceBillboardedDynamic (implements com.io7m.r2.core.R2InstanceBillboardedDynamicType)
  - com.io7m.r2.core.R2InstanceSingle (implements com.io7m.r2.core.R2InstanceSingleType)
  - com.io7m.r2.core.R2InstanceSingle.Builder
  - com.io7m.r2.core.R2LightAmbientScreenSingle (implements com.io7m.r2.core.R2LightScreenSingleType)
  - com.io7m.r2.core.R2LightBufferDescription (implements com.io7m.r2.core.R2LightBufferDescriptionType)
  - com.io7m.r2.core.R2LightBufferDescription.Builder
  - com.io7m.r2.core.R2LightBufferPool (implements com.io7m.r2.core.R2RenderTargetPoolType<D,T>)
  - com.io7m.r2.core.R2LightBuffers
  - com.io7m.r2.core.R2LightDirectionalScreenSingle (implements com.io7m.r2.core.R2LightScreenSingleType)
  - com.io7m.r2.core.R2LightProjectiveWithoutShadow (implements com.io7m.r2.core.R2LightProjectiveWithoutShadowType)
  - com.io7m.r2.core.R2LightProjectiveWithShadowVariance (implements com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType)
  - com.io7m.r2.core.R2LightRenderer (implements com.io7m.r2.core.R2LightRendererType)
  - com.io7m.r2.core.R2LightSphericalSingle (implements com.io7m.r2.core.R2LightSphericalSingleType)
  - com.io7m.r2.core.R2MaskBuffer (implements com.io7m.r2.core.R2MaskBufferType)
  - com.io7m.r2.core.R2MaskBufferDescription (implements com.io7m.r2.core.R2MaskBufferDescriptionType)
  - com.io7m.r2.core.R2MaskBufferDescription.Builder
  - com.io7m.r2.core.R2MaskInstances (implements com.io7m.r2.core.R2MaskInstancesType)
  - com.io7m.r2.core.R2MaskInstances.Builder
  - com.io7m.r2.core.R2MaskRenderer (implements com.io7m.r2.core.R2MaskRendererType)
  - com.io7m.r2.core.R2MaterialDepthBatched<M> (implements com.io7m.r2.core.R2MaterialDepthBatchedType<M>)
  - com.io7m.r2.core.R2MaterialDepthBatched.Builder<M>
  - com.io7m.r2.core.R2MaterialDepthSingle<M> (implements com.io7m.r2.core.R2MaterialDepthSingleType<M>)
  - com.io7m.r2.core.R2MaterialDepthSingle.Builder<M>
  - com.io7m.r2.core.R2MaterialOpaqueBatched<M> (implements com.io7m.r2.core.R2MaterialOpaqueBatchedType<M>)
  - com.io7m.r2.core.R2MaterialOpaqueBatched.Builder<M>
  - com.io7m.r2.core.R2MaterialOpaqueBillboarded<M> (implements com.io7m.r2.core.R2MaterialOpaqueBillboardedType<M>)
  - com.io7m.r2.core.R2MaterialOpaqueBillboarded.Builder<M>
  - com.io7m.r2.core.R2MaterialOpaqueSingle<M> (implements com.io7m.r2.core.R2MaterialOpaqueSingleType<M>)
  - com.io7m.r2.core.R2MaterialOpaqueSingle.Builder<M>
  - com.io7m.r2.core.R2Matrices (implements com.io7m.r2.core.R2MatricesType)
  - com.io7m.r2.core.R2NoiseTexture
  - com.io7m.r2.core.R2ProjectionFOV (implements com.io7m.r2.core.R2ProjectionType)
  - com.io7m.r2.core.R2ProjectionFrustum (implements com.io7m.r2.core.R2ProjectionType)
  - com.io7m.r2.core.R2ProjectionMesh (implements com.io7m.r2.core.R2ProjectionMeshType)
  - com.io7m.r2.core.R2ProjectionOrthographic (implements com.io7m.r2.core.R2ProjectionType)
  - com.io7m.r2.core.R2Projections
  - com.io7m.r2.core.R2RenderTargetDescriptions
  - com.io7m.r2.core.R2SceneLights (implements com.io7m.r2.core.R2SceneLightsType)
  - com.io7m.r2.core.R2SceneOpaques (implements com.io7m.r2.core.R2SceneOpaquesType)
  - com.io7m.r2.core.R2SceneStencils (implements com.io7m.r2.core.R2SceneStencilsType)
  - com.io7m.r2.core.R2ShadowDepthVariance (implements com.io7m.r2.core.R2ShadowDepthVarianceType)
  - com.io7m.r2.core.R2ShadowDepthVariance.Builder
  - com.io7m.r2.core.R2ShadowMapRenderer (implements com.io7m.r2.core.R2ShadowMapRendererType)
  - com.io7m.r2.core.R2StencilRenderer (implements com.io7m.r2.core.R2StencilRendererType)
  - com.io7m.r2.core.R2Stencils
  - com.io7m.r2.core.R2Texture2DStatic (implements com.io7m.r2.core.R2Texture2DStaticType)
  - com.io7m.r2.core.R2Texture2DStatic.Builder
  - com.io7m.r2.core.R2TextureCubeStatic (implements com.io7m.r2.core.R2TextureCubeStaticType)
  - com.io7m.r2.core.R2TextureCubeStatic.Builder
  - com.io7m.r2.core.R2TextureDefaults (implements com.io7m.r2.core.R2TextureDefaultsType)
  - com.io7m.r2.core.R2TransformContext (implements com.io7m.r2.core.R2TransformContextType)
  - com.io7m.r2.core.R2TransformIdentity (implements com.io7m.r2.core.R2TransformOrthogonalReadableType, com.io7m.r2.core.R2TransformType)
  - com.io7m.r2.core.R2TransformMatrix4x4 (implements com.io7m.jtensors.parameterized.PMatrix4x4FType<T0,T1>, com.io7m.r2.core.R2TransformNonOrthogonalReadableType, com.io7m.r2.core.R2TransformType)
  - com.io7m.r2.core.R2TransformOT (implements com.io7m.r2.core.R2TransformOTType)
  - com.io7m.r2.core.R2TransformSiOT (implements com.io7m.r2.core.R2TransformNonOrthogonalReadableType, com.io7m.r2.core.R2TransformType)
  - com.io7m.r2.core.R2TransformSOT (implements com.io7m.r2.core.R2TransformOrthogonalReadableType, com.io7m.r2.core.R2TransformType)
  - com.io7m.r2.core.R2TransformST (implements com.io7m.r2.core.R2TransformOrthogonalReadableType, com.io7m.r2.core.R2TransformType)
  - com.io7m.r2.core.R2TransformT (implements com.io7m.r2.core.R2TransformOrthogonalReadableType, com.io7m.r2.core.R2TransformType)
  - com.io7m.r2.core.R2TranslucentBatched<M> (implements com.io7m.r2.core.R2TranslucentBatchedType<M>)
  - com.io7m.r2.core.R2TranslucentBatched.Builder<M>
  - com.io7m.r2.core.R2TranslucentBillboarded<M> (implements com.io7m.r2.core.R2TranslucentBillboardedType<M>)
  - com.io7m.r2.core.R2TranslucentBillboarded.Builder<M>
  - com.io7m.r2.core.R2TranslucentRenderer (implements com.io7m.r2.core.R2TranslucentRendererType)
  - com.io7m.r2.core.R2TranslucentSingle<M> (implements com.io7m.r2.core.R2TranslucentSingleType<M>)
  - com.io7m.r2.core.R2TranslucentSingle.Builder<M>
  - com.io7m.r2.core.R2UnitQuad (implements com.io7m.r2.core.R2UnitQuadType)
  - com.io7m.r2.core.R2ViewRays (implements com.io7m.r2.core.R2ViewRaysType)
  - com.io7m.r2.core.R2Watchable<T> (implements com.io7m.r2.core.R2WatchableType<T>)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - com.io7m.r2.core.R2Exception
          - com.io7m.r2.core.R2ExceptionBadTextureFormat
          - com.io7m.r2.core.R2ExceptionBadTextureSize
          - com.io7m.r2.core.R2ExceptionIO
          - com.io7m.r2.core.R2ExceptionShaderPreprocessingFailed
          - com.io7m.r2.core.R2ExceptionShaderValidationFailed
            - com.io7m.r2.core.R2ExceptionShaderParameterCountMismatch
            - com.io7m.r2.core.R2ExceptionShaderParameterNotPresent
            - com.io7m.r2.core.R2ExceptionShaderParameterWrongType
          - com.io7m.r2.core.R2RendererException
            - com.io7m.r2.core.R2ExceptionBatchIsFull
            - com.io7m.r2.core.R2ExceptionInvalidGroup
            - com.io7m.r2.core.R2RendererExceptionClipGroupDeleted
            - com.io7m.r2.core.R2RendererExceptionFramebufferNotBound
            - com.io7m.r2.core.R2RendererExceptionInstanceAlreadyActive
            - com.io7m.r2.core.R2RendererExceptionInstanceAlreadyVisible
            - com.io7m.r2.core.R2RendererExceptionLightAlreadyVisible
            - com.io7m.r2.core.R2RendererExceptionNoSuchShader
            - com.io7m.r2.core.R2RendererExceptionObserverAlreadyActive
            - com.io7m.r2.core.R2RendererExceptionProjectiveAlreadyActive
            - com.io7m.r2.core.R2RendererExceptionShadowExecutionAlreadyActive
            - com.io7m.r2.core.R2RendererExceptionShadowExecutionNotActive
            - com.io7m.r2.core.R2RendererExceptionShadowMapContextAlreadyActive
            - com.io7m.r2.core.R2RendererExceptionShadowMapContextNotActive
            - com.io7m.r2.core.R2RendererExceptionShadowNotRendered
            - com.io7m.r2.core.R2RendererExceptionVolumeLightAlreadyActive

## Interface Hierarchy

- com.io7m.jcanephora.core.JCGLResourceSizedType
  - com.io7m.r2.core.R2RenderTargetUsableType<D> (also extends com.io7m.jcanephora.core.JCGLResourceUsableType)
    - com.io7m.r2.core.R2AmbientOcclusionBufferUsableType
      - com.io7m.r2.core.R2AmbientOcclusionBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2DepthOnlyBufferUsableType
      - com.io7m.r2.core.R2DepthOnlyBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2DepthVarianceBufferUsableType
      - com.io7m.r2.core.R2DepthVarianceBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2GeometryBufferUsableType
      - com.io7m.r2.core.R2GeometryBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2ImageBufferUsableType
      - com.io7m.r2.core.R2ImageBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2LightBufferUsableType
      - com.io7m.r2.core.R2LightBufferDiffuseOnlyUsableType (also extends com.io7m.r2.core.R2LightBufferWithDiffuseUsableType)
      - com.io7m.r2.core.R2LightBufferDiffuseSpecularUsableType (also extends com.io7m.r2.core.R2LightBufferWithDiffuseUsableType, com.io7m.r2.core.R2LightBufferWithSpecularUsableType)
      - com.io7m.r2.core.R2LightBufferSpecularOnlyUsableType (also extends com.io7m.r2.core.R2LightBufferWithSpecularUsableType)
      - com.io7m.r2.core.R2LightBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2MaskBufferUsableType
      - com.io7m.r2.core.R2MaskBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2RenderTargetType<D> (also extends com.io7m.r2.core.R2DeletableType)
      - com.io7m.r2.core.R2AmbientOcclusionBufferType (also extends com.io7m.r2.core.R2AmbientOcclusionBufferUsableType)
      - com.io7m.r2.core.R2DepthOnlyBufferType (also extends com.io7m.r2.core.R2DepthOnlyBufferUsableType)
      - com.io7m.r2.core.R2DepthVarianceBufferType (also extends com.io7m.r2.core.R2DepthVarianceBufferUsableType)
      - com.io7m.r2.core.R2GeometryBufferType (also extends com.io7m.r2.core.R2GeometryBufferUsableType)
      - com.io7m.r2.core.R2ImageBufferType (also extends com.io7m.r2.core.R2ImageBufferUsableType)
      - com.io7m.r2.core.R2LightBufferType (also extends com.io7m.r2.core.R2LightBufferUsableType)
      - com.io7m.r2.core.R2MaskBufferType (also extends com.io7m.r2.core.R2MaskBufferUsableType)
  - com.io7m.r2.core.R2UnitCubeUsableType (also extends com.io7m.jcanephora.core.JCGLResourceUsableType)
  - com.io7m.r2.core.R2UnitQuadUsableType (also extends com.io7m.jcanephora.core.JCGLResourceUsableType)
    - com.io7m.r2.core.R2UnitQuadType (also extends com.io7m.r2.core.R2DeletableType)
  - com.io7m.r2.core.R2UnitSphereUsableType (also extends com.io7m.jcanephora.core.JCGLResourceUsableType)
    - com.io7m.r2.core.R2UnitCubeType (also extends com.io7m.r2.core.R2DeletableType)
    - com.io7m.r2.core.R2UnitSphereType (also extends com.io7m.r2.core.R2DeletableType)
- com.io7m.jcanephora.core.JCGLResourceUsableType
  - com.io7m.r2.core.R2DeletableType
    - com.io7m.r2.core.R2DepthRendererType
    - com.io7m.r2.core.R2DepthVarianceRendererType
    - com.io7m.r2.core.R2FilterType<P> (also extends com.io7m.r2.core.R2FilterUsableType<P>)
    - com.io7m.r2.core.R2GeometryRendererType
    - com.io7m.r2.core.R2InstanceBatchedDynamicType (also extends com.io7m.r2.core.R2InstanceBatchedType)
    - com.io7m.r2.core.R2InstanceBillboardedDynamicType (also extends com.io7m.r2.core.R2InstanceBillboardedType)
    - com.io7m.r2.core.R2LightRendererType
    - com.io7m.r2.core.R2MaskRendererType
    - com.io7m.r2.core.R2ProjectionMeshType (also extends com.io7m.r2.core.R2ProjectionMeshUsableType)
    - com.io7m.r2.core.R2RenderTargetType<D> (also extends com.io7m.r2.core.R2RenderTargetUsableType<D>)
      - com.io7m.r2.core.R2AmbientOcclusionBufferType (also extends com.io7m.r2.core.R2AmbientOcclusionBufferUsableType)
      - com.io7m.r2.core.R2DepthOnlyBufferType (also extends com.io7m.r2.core.R2DepthOnlyBufferUsableType)
      - com.io7m.r2.core.R2DepthVarianceBufferType (also extends com.io7m.r2.core.R2DepthVarianceBufferUsableType)
      - com.io7m.r2.core.R2GeometryBufferType (also extends com.io7m.r2.core.R2GeometryBufferUsableType)
      - com.io7m.r2.core.R2ImageBufferType (also extends com.io7m.r2.core.R2ImageBufferUsableType)
      - com.io7m.r2.core.R2LightBufferType (also extends com.io7m.r2.core.R2LightBufferUsableType)
      - com.io7m.r2.core.R2MaskBufferType (also extends com.io7m.r2.core.R2MaskBufferUsableType)
    - com.io7m.r2.core.R2ShadowMapRendererType
    - com.io7m.r2.core.R2StencilRendererType
    - com.io7m.r2.core.R2Texture2DType (also extends com.io7m.r2.core.R2Texture2DUsableType)
      - com.io7m.r2.core.R2Texture2DStaticType
    - com.io7m.r2.core.R2TextureCubeType (also extends com.io7m.r2.core.R2TextureCubeUsableType)
      - com.io7m.r2.core.R2TextureCubeStaticType
    - com.io7m.r2.core.R2TextureDefaultsType
    - com.io7m.r2.core.R2TranslucentRendererType
    - com.io7m.r2.core.R2UnitCubeType (also extends com.io7m.r2.core.R2UnitSphereUsableType)
    - com.io7m.r2.core.R2UnitQuadType (also extends com.io7m.r2.core.R2UnitQuadUsableType)
    - com.io7m.r2.core.R2UnitSphereType (also extends com.io7m.r2.core.R2UnitSphereUsableType)
  - com.io7m.r2.core.R2RenderTargetUsableType<D> (also extends com.io7m.jcanephora.core.JCGLResourceSizedType)
    - com.io7m.r2.core.R2AmbientOcclusionBufferUsableType
      - com.io7m.r2.core.R2AmbientOcclusionBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2DepthOnlyBufferUsableType
      - com.io7m.r2.core.R2DepthOnlyBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2DepthVarianceBufferUsableType
      - com.io7m.r2.core.R2DepthVarianceBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2GeometryBufferUsableType
      - com.io7m.r2.core.R2GeometryBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2ImageBufferUsableType
      - com.io7m.r2.core.R2ImageBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2LightBufferUsableType
      - com.io7m.r2.core.R2LightBufferDiffuseOnlyUsableType (also extends com.io7m.r2.core.R2LightBufferWithDiffuseUsableType)
      - com.io7m.r2.core.R2LightBufferDiffuseSpecularUsableType (also extends com.io7m.r2.core.R2LightBufferWithDiffuseUsableType, com.io7m.r2.core.R2LightBufferWithSpecularUsableType)
      - com.io7m.r2.core.R2LightBufferSpecularOnlyUsableType (also extends com.io7m.r2.core.R2LightBufferWithSpecularUsableType)
      - com.io7m.r2.core.R2LightBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2MaskBufferUsableType
      - com.io7m.r2.core.R2MaskBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2RenderTargetType<D> (also extends com.io7m.r2.core.R2DeletableType)
      - com.io7m.r2.core.R2AmbientOcclusionBufferType (also extends com.io7m.r2.core.R2AmbientOcclusionBufferUsableType)
      - com.io7m.r2.core.R2DepthOnlyBufferType (also extends com.io7m.r2.core.R2DepthOnlyBufferUsableType)
      - com.io7m.r2.core.R2DepthVarianceBufferType (also extends com.io7m.r2.core.R2DepthVarianceBufferUsableType)
      - com.io7m.r2.core.R2GeometryBufferType (also extends com.io7m.r2.core.R2GeometryBufferUsableType)
      - com.io7m.r2.core.R2ImageBufferType (also extends com.io7m.r2.core.R2ImageBufferUsableType)
      - com.io7m.r2.core.R2LightBufferType (also extends com.io7m.r2.core.R2LightBufferUsableType)
      - com.io7m.r2.core.R2MaskBufferType (also extends com.io7m.r2.core.R2MaskBufferUsableType)
  - com.io7m.r2.core.R2TextureUsableType
    - com.io7m.r2.core.R2Texture2DUsableType
      - com.io7m.r2.core.R2Texture2DType (also extends com.io7m.r2.core.R2DeletableType)
        - com.io7m.r2.core.R2Texture2DStaticType
    - com.io7m.r2.core.R2TextureCubeUsableType
      - com.io7m.r2.core.R2TextureCubeType (also extends com.io7m.r2.core.R2DeletableType)
        - com.io7m.r2.core.R2TextureCubeStaticType
  - com.io7m.r2.core.R2UnitCubeUsableType (also extends com.io7m.jcanephora.core.JCGLResourceSizedType)
  - com.io7m.r2.core.R2UnitQuadUsableType (also extends com.io7m.jcanephora.core.JCGLResourceSizedType)
    - com.io7m.r2.core.R2UnitQuadType (also extends com.io7m.r2.core.R2DeletableType)
  - com.io7m.r2.core.R2UnitSphereUsableType (also extends com.io7m.jcanephora.core.JCGLResourceSizedType)
    - com.io7m.r2.core.R2UnitCubeType (also extends com.io7m.r2.core.R2DeletableType)
    - com.io7m.r2.core.R2UnitSphereType (also extends com.io7m.r2.core.R2DeletableType)
- com.io7m.r2.core.R2DepthAttachmentSpecificationType
  - com.io7m.r2.core.R2DepthAttachmentCreateType
  - com.io7m.r2.core.R2DepthAttachmentShareType
- com.io7m.r2.core.R2DepthInstancesConsumerType
- com.io7m.r2.core.R2DepthInstancesType
- com.io7m.r2.core.R2FilterUsableType<P>
  - com.io7m.r2.core.R2FilterType<P> (also extends com.io7m.r2.core.R2DeletableType)
- com.io7m.r2.core.R2IDPoolType
- com.io7m.r2.core.R2InstanceType
  - com.io7m.r2.core.R2InstanceBatchedType
    - com.io7m.r2.core.R2InstanceBatchedDynamicType (also extends com.io7m.r2.core.R2DeletableType)
  - com.io7m.r2.core.R2InstanceBillboardedType
    - com.io7m.r2.core.R2InstanceBillboardedDynamicType (also extends com.io7m.r2.core.R2DeletableType)
  - com.io7m.r2.core.R2InstanceSingleType
- com.io7m.r2.core.R2LightBufferWithDiffuseUsableType
  - com.io7m.r2.core.R2LightBufferDiffuseOnlyUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType)
  - com.io7m.r2.core.R2LightBufferDiffuseSpecularUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType, com.io7m.r2.core.R2LightBufferWithSpecularUsableType)
- com.io7m.r2.core.R2LightBufferWithSpecularUsableType
  - com.io7m.r2.core.R2LightBufferDiffuseSpecularUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType, com.io7m.r2.core.R2LightBufferWithDiffuseUsableType)
  - com.io7m.r2.core.R2LightBufferSpecularOnlyUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType)
- com.io7m.r2.core.R2LightReadableType
  - com.io7m.r2.core.R2LightSingleReadableType
    - com.io7m.r2.core.R2LightSingleType (also extends com.io7m.r2.core.R2LightSingleWritableType)
      - com.io7m.r2.core.R2LightScreenSingleType
      - com.io7m.r2.core.R2LightVolumeSingleType (also extends com.io7m.r2.core.R2LightVolumeSingleReadableType, com.io7m.r2.core.R2LightVolumeSingleWritableType)
        - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, com.io7m.r2.core.R2LightProjectiveWritableType)
          - com.io7m.r2.core.R2LightProjectiveType
            - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
            - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
              - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, com.io7m.r2.core.R2LightSphericalSingleWritableType)
      - com.io7m.r2.core.R2LightWithShadowSingleType
        - com.io7m.r2.core.R2LightProjectiveWithShadowReadableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
            - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithShadowWritableType (also extends com.io7m.r2.core.R2LightProjectiveWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType)
            - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightVolumeSingleReadableType
      - com.io7m.r2.core.R2LightProjectiveReadableType
        - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveWritableType, com.io7m.r2.core.R2LightVolumeSingleType)
          - com.io7m.r2.core.R2LightProjectiveType
            - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
            - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
              - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType
          - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowReadableType (also extends com.io7m.r2.core.R2LightWithShadowSingleType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
            - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightSphericalSingleReadableType (also extends com.io7m.r2.core.R2LightSphericalReadableType)
        - com.io7m.r2.core.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleWritableType, com.io7m.r2.core.R2LightVolumeSingleType)
      - com.io7m.r2.core.R2LightVolumeSingleType (also extends com.io7m.r2.core.R2LightSingleType, com.io7m.r2.core.R2LightVolumeSingleWritableType)
        - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, com.io7m.r2.core.R2LightProjectiveWritableType)
          - com.io7m.r2.core.R2LightProjectiveType
            - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
            - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
              - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, com.io7m.r2.core.R2LightSphericalSingleWritableType)
  - com.io7m.r2.core.R2LightSphericalReadableType
    - com.io7m.r2.core.R2LightSphericalSingleReadableType (also extends com.io7m.r2.core.R2LightVolumeSingleReadableType)
      - com.io7m.r2.core.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleWritableType, com.io7m.r2.core.R2LightVolumeSingleType)
    - com.io7m.r2.core.R2LightSphericalType (also extends com.io7m.r2.core.R2LightSphericalWritableType, com.io7m.r2.core.R2LightType)
  - com.io7m.r2.core.R2LightType (also extends com.io7m.r2.core.R2LightWritableType)
    - com.io7m.r2.core.R2LightSphericalType (also extends com.io7m.r2.core.R2LightSphericalReadableType, com.io7m.r2.core.R2LightSphericalWritableType)
- com.io7m.r2.core.R2LightWritableType
  - com.io7m.r2.core.R2LightProjectiveWritableType
    - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, com.io7m.r2.core.R2LightVolumeSingleType)
      - com.io7m.r2.core.R2LightProjectiveType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType)
    - com.io7m.r2.core.R2LightProjectiveWithShadowWritableType (also extends com.io7m.r2.core.R2LightWithShadowSingleType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
  - com.io7m.r2.core.R2LightSingleWritableType
    - com.io7m.r2.core.R2LightSingleType (also extends com.io7m.r2.core.R2LightSingleReadableType)
      - com.io7m.r2.core.R2LightScreenSingleType
      - com.io7m.r2.core.R2LightVolumeSingleType (also extends com.io7m.r2.core.R2LightVolumeSingleReadableType, com.io7m.r2.core.R2LightVolumeSingleWritableType)
        - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, com.io7m.r2.core.R2LightProjectiveWritableType)
          - com.io7m.r2.core.R2LightProjectiveType
            - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
            - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
              - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, com.io7m.r2.core.R2LightSphericalSingleWritableType)
      - com.io7m.r2.core.R2LightWithShadowSingleType
        - com.io7m.r2.core.R2LightProjectiveWithShadowReadableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
            - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithShadowWritableType (also extends com.io7m.r2.core.R2LightProjectiveWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType)
            - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightVolumeSingleWritableType
      - com.io7m.r2.core.R2LightSphericalSingleWritableType (also extends com.io7m.r2.core.R2LightSphericalWritableType)
        - com.io7m.r2.core.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, com.io7m.r2.core.R2LightVolumeSingleType)
      - com.io7m.r2.core.R2LightVolumeSingleType (also extends com.io7m.r2.core.R2LightSingleType, com.io7m.r2.core.R2LightVolumeSingleReadableType)
        - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, com.io7m.r2.core.R2LightProjectiveWritableType)
          - com.io7m.r2.core.R2LightProjectiveType
            - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
            - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
              - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, com.io7m.r2.core.R2LightSphericalSingleWritableType)
  - com.io7m.r2.core.R2LightSphericalWritableType
    - com.io7m.r2.core.R2LightSphericalSingleWritableType (also extends com.io7m.r2.core.R2LightVolumeSingleWritableType)
      - com.io7m.r2.core.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, com.io7m.r2.core.R2LightVolumeSingleType)
    - com.io7m.r2.core.R2LightSphericalType (also extends com.io7m.r2.core.R2LightSphericalReadableType, com.io7m.r2.core.R2LightType)
  - com.io7m.r2.core.R2LightType (also extends com.io7m.r2.core.R2LightReadableType)
    - com.io7m.r2.core.R2LightSphericalType (also extends com.io7m.r2.core.R2LightSphericalReadableType, com.io7m.r2.core.R2LightSphericalWritableType)
- com.io7m.r2.core.R2MaskInstancesType
- com.io7m.r2.core.R2MaterialType<M>
  - com.io7m.r2.core.R2MaterialDepthBatchedType<M>
  - com.io7m.r2.core.R2MaterialDepthSingleType<M>
  - com.io7m.r2.core.R2MaterialOpaqueBatchedType<M>
  - com.io7m.r2.core.R2MaterialOpaqueBillboardedType<M>
  - com.io7m.r2.core.R2MaterialOpaqueSingleType<M>
- com.io7m.r2.core.R2MatricesInstanceSingleValuesType
  - com.io7m.r2.core.R2MatricesInstanceSingleType
- com.io7m.r2.core.R2MatricesValuesType
  - com.io7m.r2.core.R2MatricesObserverValuesType
    - com.io7m.r2.core.R2MatricesObserverType
  - com.io7m.r2.core.R2MatricesType
- com.io7m.r2.core.R2MatricesVolumeLightValuesType
  - com.io7m.r2.core.R2MatricesProjectiveLightValuesType
    - com.io7m.r2.core.R2MatricesProjectiveLightType
  - com.io7m.r2.core.R2MatricesVolumeLightType
- com.io7m.r2.core.R2ProjectionMeshReadableType
  - com.io7m.r2.core.R2ProjectionMeshUsableType (also extends com.io7m.r2.core.R2ProjectionMeshWritableType)
    - com.io7m.r2.core.R2ProjectionMeshType (also extends com.io7m.r2.core.R2DeletableType)
- com.io7m.r2.core.R2ProjectionMeshWritableType
  - com.io7m.r2.core.R2ProjectionMeshUsableType (also extends com.io7m.r2.core.R2ProjectionMeshReadableType)
    - com.io7m.r2.core.R2ProjectionMeshType (also extends com.io7m.r2.core.R2DeletableType)
- com.io7m.r2.core.R2ProjectionReadableType
  - com.io7m.r2.core.R2ProjectionType (also extends com.io7m.r2.core.R2ProjectionWritableType)
- com.io7m.r2.core.R2ProjectionWritableType
  - com.io7m.r2.core.R2ProjectionType (also extends com.io7m.r2.core.R2ProjectionReadableType)
- com.io7m.r2.core.R2RenderTargetAllocatorFunctionType<D,T,C>
- com.io7m.r2.core.R2RenderTargetDescriptionType
  - com.io7m.r2.core.R2AmbientOcclusionBufferDescriptionType
  - com.io7m.r2.core.R2DepthOnlyBufferDescriptionType
  - com.io7m.r2.core.R2DepthVarianceBufferDescriptionType
  - com.io7m.r2.core.R2GeometryBufferDescriptionType
  - com.io7m.r2.core.R2ImageBufferDescriptionType
  - com.io7m.r2.core.R2LightBufferDescriptionType
  - com.io7m.r2.core.R2MaskBufferDescriptionType
- com.io7m.r2.core.R2RenderTargetPoolUsableType<D,T>
  - com.io7m.r2.core.R2RenderTargetPoolType<D,T>
- com.io7m.r2.core.R2SceneLightsClipGroupConsumerType
- com.io7m.r2.core.R2SceneLightsClipGroupType
- com.io7m.r2.core.R2SceneLightsConsumerType
- com.io7m.r2.core.R2SceneLightsGroupConsumerType
- com.io7m.r2.core.R2SceneLightsGroupType
- com.io7m.r2.core.R2SceneLightsType
- com.io7m.r2.core.R2SceneOpaquesConsumerType
- com.io7m.r2.core.R2SceneOpaquesReadableType
  - com.io7m.r2.core.R2SceneOpaquesType
- com.io7m.r2.core.R2SceneStencilsConsumerType
- com.io7m.r2.core.R2SceneStencilsType
- com.io7m.r2.core.R2ShadowMapContextUsableType
  - com.io7m.r2.core.R2ShadowMapContextType
- com.io7m.r2.core.R2ShadowMapRendererExecutionType
- com.io7m.r2.core.R2ShadowType
  - com.io7m.r2.core.R2ShadowDepthVarianceType
- com.io7m.r2.core.R2TransformContextType
- com.io7m.r2.core.R2TransformReadableType
  - com.io7m.r2.core.R2TransformNonOrthogonalReadableType
  - com.io7m.r2.core.R2TransformType
    - com.io7m.r2.core.R2TransformOTType (also extends com.io7m.r2.core.R2TransformOTReadableType)
  - com.io7m.r2.core.R2TransformViewReadableType
    - com.io7m.r2.core.R2TransformOrthogonalReadableType
      - com.io7m.r2.core.R2TransformOTReadableType
        - com.io7m.r2.core.R2TransformOTType (also extends com.io7m.r2.core.R2TransformType)
- com.io7m.r2.core.R2TranslucentType<M>
  - com.io7m.r2.core.R2TranslucentBatchedType<M>
  - com.io7m.r2.core.R2TranslucentBillboardedType<M>
  - com.io7m.r2.core.R2TranslucentSingleType<M>
- com.io7m.r2.core.R2ViewRaysReadableType
  - com.io7m.r2.core.R2ViewRaysType
- com.io7m.r2.core.R2WatchableType<T>

## Annotation Type Hierarchy

- com.io7m.r2.core.R2ImmutableStyleType (implements java.lang.annotation.Annotation)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - com.io7m.r2.core.R2SceneStencilsMode
    - com.io7m.r2.core.R2LightBufferComponents
    - com.io7m.r2.core.R2GeometryBufferComponents
    - com.io7m.r2.core.R2DepthVariancePrecision
    - com.io7m.r2.core.R2DepthPrecision
    - com.io7m.r2.core.R2CopyDepth

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