@NonNullByDefault

# Package com.io7m.r2.core

Core types and functions.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  R2AmbientOcclusionBufferDescriptionType | The type of ambient occlusion buffer descriptions.
  R2AmbientOcclusionBufferType | The type of ambient occlusion buffers.
  R2AmbientOcclusionBufferUsableType | The type of usable ambient occlusion buffers.
  R2DeletableType | The type of objects that can be deleted, and that require access to OpenGL to perform the deletion.
  R2DepthAttachmentCreateType | A preexisting depth texture that will be used as an attachment on a created framebuffer.
  R2DepthAttachmentShareType | A preexisting depth texture that will be used as an attachment on a created framebuffer.
  R2DepthAttachmentSpecificationType | A specification of a whether a depth attachment should be created or shared with an existing framebuffer.
  R2DepthInstancesConsumerType | The type of consumers of depth instances.
  R2DepthInstancesType | The set of depth instances in a scene.
  R2DepthOnlyBufferDescriptionType | The type of depth-only buffer descriptions.
  R2DepthOnlyBufferType | The type of depth-only buffers.
  R2DepthOnlyBufferUsableType | The type of usable depth-only buffers.
  R2DepthRendererType | The type of renderers that populate depth-only buffers.
  R2DepthVarianceBufferDescriptionType | The type of depth variance buffer descriptions.
  R2DepthVarianceBufferType | The type of depth variance buffers.
  R2DepthVarianceBufferUsableType | The type of usable depth variance buffers.
  R2DepthVarianceRendererType | The type of renderers that populate depth variance buffers.
  R2FilterType<P> | The type of image filters.
  R2FilterUsableType<P> | The type of usable image filters.
  R2GeometryBufferDescriptionType | The type of geometry buffer descriptions.
  R2GeometryBufferType | The type of geometry buffers.
  R2GeometryBufferUsableType | The type of usable geometry buffers.
  R2GeometryRendererType | The type of renderers that populate geometry buffers.
  R2IDPoolType | The type of identifier pools.
  R2ImageBufferDescriptionType | The type of image buffer descriptions.
  R2ImageBufferType | The type of image buffers.
  R2ImageBufferUsableType | The type of usable image buffers.
  R2InstanceBatchedDynamicType | The type of batched instances that are expected to change often, both in the number of instances, and the transforms of individual instances.
  R2InstanceBatchedType | The type of batched instances.
  R2InstanceBillboardedDynamicType | The type of billboarded instances that are expected to change often, both in the number of instances, and the values of individual instances.
  R2InstanceBillboardedType | The type of billboarded instances.
  R2InstanceSingleType | The type of single instances.
  R2InstanceType | The type of instances.
  R2LightBufferDescriptionType | The type of light buffer descriptions.
  R2LightBufferDiffuseOnlyUsableType | The type of usable diffuse only light buffers.
  R2LightBufferDiffuseSpecularUsableType | The type of usable diffuse+specular light buffers.
  R2LightBufferSpecularOnlyUsableType | The type of usable specular-only light buffers.
  R2LightBufferType | The type of light buffers.
  R2LightBufferUsableType | The type of usable light buffers.
  R2LightBufferWithDiffuseUsableType | A light buffer that has a diffuse texture.
  R2LightBufferWithSpecularUsableType | A light buffer that has a specular texture.
  R2LightProjectiveReadableType | The type of readable projective lights.
  R2LightProjectiveType | The type of projective lights.
  R2LightProjectiveUsableType | The type of usable (readable/writable but not deletable) projective lights.
  R2LightProjectiveWithoutShadowReadableType | The type of readable projective lights that do not have shadows.
  R2LightProjectiveWithoutShadowType | The type of projective lights that do not have shadows.
  R2LightProjectiveWithoutShadowWritableType | The type of writable projective lights that do not have shadows.
  R2LightProjectiveWithShadowReadableType | The type of readable projective lights.
  R2LightProjectiveWithShadowType | The type of projective lights that have shadows.
  R2LightProjectiveWithShadowVarianceType | The type of projective lights with variance shadows.
  R2LightProjectiveWithShadowWritableType | The type of writable projective lights.
  R2LightProjectiveWritableType | The type of writable projective lights.
  R2LightReadableType | The type of lights.
  R2LightRendererType | The type of renderers that populate light buffers.
  R2LightScreenSingleType | The type of single-instance lights that operate using fullscreen quads.
  R2LightSingleReadableType | The type of single-instance lights.
  R2LightSingleType | The type of single-instance lights.
  R2LightSingleWritableType | The type of single-instance lights.
  R2LightSphericalReadableType | The type of readable spherical lights.
  R2LightSphericalSingleReadableType | The type of readable single-instance spherical lights.
  R2LightSphericalSingleType | The type of single-instance spherical lights.
  R2LightSphericalSingleWritableType | The type of writable single-instance spherical lights.
  R2LightSphericalType | The type of spherical lights.
  R2LightSphericalWritableType | The type of writable spherical lights.
  R2LightType | The type of lights.
  R2LightVolumeSingleReadableType | The type of readable single-instance lights that operate using light volumes.
  R2LightVolumeSingleType | The type of single-instance lights that operate using light volumes.
  R2LightVolumeSingleWritableType | The type of writable single-instance lights that operate using light volumes.
  R2LightWithShadowSingleType | The type of single-instance lights that have shadows.
  R2LightWritableType | The type of writable lights.
  R2MaskBufferDescriptionType | The type of mask buffer descriptions.
  R2MaskBufferType | The type of mask buffers.
  R2MaskBufferUsableType | The type of usable mask buffers.
  R2MaskInstancesType | The set of mask instances that will be rendered.
  R2MaskRendererType | The type of renderers that populate mask images.
  R2MaterialDepthBatchedType<M> | The type of materials that can be applied to batched depth-only instances.
  R2MaterialDepthSingleType<M> | The type of opaque materials that can be applied to single depth-only instances.
  R2MaterialOpaqueBatchedType<M> | The type of opaque materials that can be applied to batched instances.
  R2MaterialOpaqueBillboardedType<M> | The type of opaque materials that can be applied to billboarded instances.
  R2MaterialOpaqueSingleType<M> | The type of opaque materials that can be applied to single instances.
  R2MaterialType<M> | The base type of materials.
  R2MatricesInstanceSingleType | Access to the matrices for a given single instance.
  R2MatricesInstanceSingleValuesType | Access to the matrices for a given instance.
  R2MatricesObserverType | Access to the matrices for a given observer.
  R2MatricesObserverValuesType | Access to the matrices for a given observer.
  R2MatricesProjectiveLightType | Access to the matrices for a given projective light.
  R2MatricesProjectiveLightValuesType | Access to the matrices for a given projective light.
  R2MatricesType | Matrices.
  R2MatricesValuesType | Base matrix values.
  R2MatricesVolumeLightType | Access to the matrices for a given volume light.
  R2MatricesVolumeLightValuesType | Access to the matrices for a given volume light.
  R2ProjectionMeshReadableType | The type of readable projection meshes.
  R2ProjectionMeshType | The type of projection meshes.
  R2ProjectionMeshUsableType | The type of usable (readable/writable, but not deletable) projection meshes.
  R2ProjectionMeshWritableType | The type of writable projection meshes.
  R2ProjectionReadableType | The type of readable projections.
  R2ProjectionType | The type of mutable projections.
  R2ProjectionWritableType | The type of writable projections.
  R2RenderTargetAllocatorFunctionType<D extends R2RenderTargetDescriptionType,T extends R2RenderTargetType<D>,C> | Functions that allocate render targets.
  R2RenderTargetDescriptionType | The type of render target descriptions.
  R2RenderTargetPoolType<D extends R2RenderTargetDescriptionType,T extends R2RenderTargetUsableType<D>> | The type of render target pools.
  R2RenderTargetPoolUsableType<D extends R2RenderTargetDescriptionType,T extends R2RenderTargetUsableType<D>> | The type of render target pools.
  R2RenderTargetType<D extends R2RenderTargetDescriptionType> | The type of render targets.
  R2RenderTargetUsableType<D extends R2RenderTargetDescriptionType> | The type of usable render targets.
  R2SceneLightsClipGroupConsumerType | A consumer for clip groups.
  R2SceneLightsClipGroupType | A clip group that will clip the bounds of all lights within it.
  R2SceneLightsConsumerType | The type of consumers of scene lights.
  R2SceneLightsGroupConsumerType | A consumer for lights within a specific group.
  R2SceneLightsGroupType | A light group to which lights can be added.
  R2SceneLightsType | The set of lights that affect opaque instances in a scene.
  R2SceneOpaquesConsumerType | The type of consumers of opaque scene instances.
  R2SceneOpaquesReadableType | The readable set of opaque instances in a scene.
  R2SceneOpaquesType | The set of opaque instances in a scene.
  R2SceneStencilsConsumerType | A consumer for stencil instances.
  R2SceneStencilsType | The set of stencil instances in a scene.
  R2ShadowDepthVarianceType | The type of depth variance shadows.
  R2ShadowMapContextType | A set of rendered shadow maps.
  R2ShadowMapContextUsableType | The type of usable shadow map contexts.
  R2ShadowMapRendererExecutionType | A contextual value representing the in-process rendering of a set of shadow maps.
  R2ShadowMapRendererType | The type of renderers that populate shadow maps.
  R2ShadowType | The type of shadows.
  R2StencilRendererType | The type of stencil renderers.
  R2Texture2DStaticType | A simple static 2D texture.
  R2Texture2DType | The type of 2D textures.
  R2Texture2DUsableType | The type of usable 2D textures.
  R2TextureCubeStaticType | A simple static cube texture.
  R2TextureCubeType | The type of cube textures.
  R2TextureCubeUsableType | The type of usable cube textures.
  R2TextureDefaultsType | Access to default textures for materials.
  R2TextureUsableType | The type of usable textures.
  R2TransformContextType | The storage required for producing transform matrices without allocating extra memory.
  R2TransformNonOrthogonalReadableType | The type of readable and non-orthogonal transforms.
  R2TransformOrthogonalReadableType | The type of readable and orthogonal transforms.
  R2TransformOTReadableType | A readable transform that exposes an orientation, followed by a translation.
  R2TransformOTType | The type of transforms represented by an orientation, followed by a translation.
  R2TransformReadableType | The type of readable transforms.
  R2TransformType | The type of transforms.
  R2TransformViewReadableType | The type of readable transforms that can produce view matrices.
  R2TranslucentBatchedType<M> | The type of batched instance translucents.
  R2TranslucentBillboardedType<M> | The type of batched instance translucents.
  R2TranslucentRendererType | The type of translucent renderers.
  R2TranslucentSingleType<M> | The type of single instance translucents.
  R2TranslucentType<M> | The type of translucents.
  R2UnitCubeType | The type of unit cubes with edge length 1.
  R2UnitCubeUsableType | The type of usable unit cubes.
  R2UnitQuadType | The type of unit quads, from `(-1, -1, -1)` to `(1, 1, -1)`, oriented towards `+Z`.
  R2UnitQuadUsableType | The type of usable unit quads.
  R2UnitSphereType | The type of unit spheres with radius 1.
  R2UnitSphereUsableType | The type of usable unit spheres.
  R2ViewRaysReadableType | The readable interface to view rays.
  R2ViewRaysType | The type of view rays that are used to reconstruct eye-space positions during deferred rendering.
  R2WatchableType<T> | A watchable value.

- Class Summary
  Class | Description
  --- | ---
  R2AmbientOcclusionBuffer | Default implementation of the `R2AmbientOcclusionBufferType` interface.
  R2AmbientOcclusionBufferDescription | The type of ambient occlusion buffer descriptions.
  R2AmbientOcclusionBufferDescription.Builder | Builds instances of type `R2AmbientOcclusionBufferDescription`.
  R2AmbientOcclusionBufferDescriptionScaler | A function that, given a render target description and an inclusive area, returns a new description of the same type with the given area.
  R2AmbientOcclusionBufferPool | A pool of ambient occlusion buffers, with a configurable soft and hard size.
  R2AttributeConventions | Vertex attribute conventions.
  R2Bilinear | Bilinear functions.
  R2Core | Marker class for locating resources.
  R2DepthAttachmentCreate | A preexisting depth texture that will be used as an attachment on a created framebuffer.
  R2DepthAttachmentCreate.Builder | Builds instances of type `R2DepthAttachmentCreate`.
  R2DepthAttachmentShare | A preexisting depth texture that will be used as an attachment on a created framebuffer.
  R2DepthAttachmentShare.Builder | Builds instances of type `R2DepthAttachmentShare`.
  R2DepthInstances | Default implementation of the `R2DepthInstancesType` interface.
  R2DepthOnlyBuffer | Default implementation of the `R2DepthOnlyBufferType` interface.
  R2DepthOnlyBufferDescription | The type of depth-only buffer descriptions.
  R2DepthOnlyBufferDescription.Builder | Builds instances of type `R2DepthOnlyBufferDescription`.
  R2DepthOnlyRenderer | The default implementation of the `R2DepthRendererType` interface.
  R2DepthVarianceBuffer | Default implementation of the `R2DepthVarianceBufferType` interface.
  R2DepthVarianceBufferDescription | The type of depth variance buffer descriptions.
  R2DepthVarianceBufferDescription.Builder | Builds instances of type `R2DepthVarianceBufferDescription`.
  R2DepthVarianceBufferPool | A pool of depth variance buffers, with a configurable soft and hard size.
  R2DepthVarianceRenderer | The default implementation of the `R2DepthRendererType` interface.
  R2GeometryBuffer | Default implementation of the `R2GeometryBufferType` interface.
  R2GeometryBufferDescription | The type of geometry buffer descriptions.
  R2GeometryBufferDescription.Builder | Builds instances of type `R2GeometryBufferDescription`.
  R2GeometryRenderer | The default implementation of the `R2GeometryRendererType` interface.
  R2IDPool | The default implementation of the `R2IDPoolType` interface.
  R2ImageBuffer | Default implementation of the `R2ImageBufferType` interface.
  R2ImageBufferDescription | The type of image buffer descriptions.
  R2ImageBufferDescription.Builder | Builds instances of type `R2ImageBufferDescription`.
  R2ImageBufferDescriptionScaler | A function that, given a render target description and an inclusive area, returns a new description of the same type with the given area.
  R2ImageBufferPool | A pool of image buffers, with a configurable soft and hard size.
  R2IndexBuffers | Functions for dealing with index buffers.
  R2InstanceBatchedDynamic | The default implementation of the `R2InstanceBatchedDynamicType` interface.
  R2InstanceBillboardedDynamic | The default implementation of the `R2InstanceBatchedDynamicType` interface.
  R2InstanceSingle | The type of single instances.
  R2InstanceSingle.Builder | Builds instances of type `R2InstanceSingle`.
  R2LightAmbientScreenSingle | Parameters for single ambient lights.
  R2LightBufferDescription | The type of light buffer descriptions.
  R2LightBufferDescription.Builder | Builds instances of type `R2LightBufferDescription`.
  R2LightBufferPool | A pool of light buffers, with a configurable soft and hard size.
  R2LightBuffers | Default implementation of the `R2LightBufferType` interface.
  R2LightDirectionalScreenSingle | Parameters for single directional lights.
  R2LightProjectiveWithoutShadow | Parameters for simple projective lights that operate by rendering frustum meshes.
  R2LightProjectiveWithShadowVariance | Parameters for simple projective lights that operate by rendering frustum meshes and that have variance shadows.
  R2LightRenderer | The default implementation of the `R2LightRendererType` interface.
  R2LightSphericalSingle | Parameters for simple spherical lights that operate by rendering scaled unit spheres.
  R2MaskBuffer | Default implementation of the `R2MaskBufferType` interface.
  R2MaskBufferDescription | The type of mask buffer descriptions.
  R2MaskBufferDescription.Builder | Builds instances of type `R2MaskBufferDescription`.
  R2MaskInstances | The set of mask instances that will be rendered.
  R2MaskInstances.Builder | Builds instances of type `R2MaskInstances`.
  R2MaskRenderer | The default implementation of the `R2MaskRendererType` interface.
  R2MaterialDepthBatched<M> | The type of materials that can be applied to batched depth-only instances.
  R2MaterialDepthBatched.Builder<M> | Builds instances of type `R2MaterialDepthBatched`.
  R2MaterialDepthSingle<M> | The type of opaque materials that can be applied to single depth-only instances.
  R2MaterialDepthSingle.Builder<M> | Builds instances of type `R2MaterialDepthSingle`.
  R2MaterialOpaqueBatched<M> | The type of opaque materials that can be applied to batched instances.
  R2MaterialOpaqueBatched.Builder<M> | Builds instances of type `R2MaterialOpaqueBatched`.
  R2MaterialOpaqueBillboarded<M> | The type of opaque materials that can be applied to billboarded instances.
  R2MaterialOpaqueBillboarded.Builder<M> | Builds instances of type `R2MaterialOpaqueBillboarded`.
  R2MaterialOpaqueSingle<M> | The type of opaque materials that can be applied to single instances.
  R2MaterialOpaqueSingle.Builder<M> | Builds instances of type `R2MaterialOpaqueSingle`.
  R2Matrices | Default implementation of the `R2MatricesType` interface.
  R2NoiseTexture | Functions for allocating noise textures.
  R2ProjectionFOV | A perspective projection based on a given field of view and aspect ratio.
  R2ProjectionFrustum | A perspective projection based on an explicit frustum.
  R2ProjectionMesh | A mesh representing the convex hull for a given projection.
  R2ProjectionOrthographic | An orthographic projection.
  R2Projections | Functions over projections.
  R2RenderTargetDescriptions | Functions over render target descriptions.
  R2SceneLights | The default implementation of the `R2SceneLightsType` interface.
  R2SceneOpaques | Default implementation of the `R2SceneOpaquesType` interface.
  R2SceneStencils | The default implementation of the `R2SceneStencilsType` interface.
  R2ShadowDepthVariance | The type of depth variance shadows.
  R2ShadowDepthVariance.Builder | Builds instances of type `R2ShadowDepthVariance`.
  R2ShadowMapRenderer | The default implementation of the `R2ShadowMapRendererType` interface.
  R2StencilRenderer | The default implementation of the `R2StencilRendererType` interface.
  R2Stencils | Stencil values.
  R2Texture2DStatic | A simple static 2D texture.
  R2Texture2DStatic.Builder | Builds instances of type `R2Texture2DStatic`.
  R2TextureCubeStatic | A simple static cube texture.
  R2TextureCubeStatic.Builder | Builds instances of type `R2TextureCubeStatic`.
  R2TextureDefaults | The default implementation of the `R2TextureDefaultsType` interface.
  R2TransformContext | The default implementation of the `R2TransformContextType` interface.
  R2TransformIdentity | A transform that always yields an identity matrix.
  R2TransformMatrix4x4 | A simple 4x4 matrix transform.
  R2TransformOT | A transform represented by an orientation, followed by a translation.
  R2TransformSiOT | A transform represented by a scale, followed by an orientation, followed by a translation.
  R2TransformSOT | A transform represented by an scale, followed by an orientation, followed by a translation.
  R2TransformST | A transform represented by a scale, followed by a translation.
  R2TransformT | A transform represented by a translation.
  R2TranslucentBatched<M> | The type of batched instance translucents.
  R2TranslucentBatched.Builder<M> | Builds instances of type `R2TranslucentBatched`.
  R2TranslucentBillboarded<M> | The type of batched instance translucents.
  R2TranslucentBillboarded.Builder<M> | Builds instances of type `R2TranslucentBillboarded`.
  R2TranslucentRenderer | The default implementation of the `R2TranslucentRendererType` interface.
  R2TranslucentSingle<M> | The type of single instance translucents.
  R2TranslucentSingle.Builder<M> | Builds instances of type `R2TranslucentSingle`.
  R2UnitQuad | The default implementation of the `R2UnitQuadType` interface.
  R2ViewRays | The default implementation of the `R2ViewRaysType` interface.
  R2Watchable<T> | The default implementation of the `R2WatchableType` interface.

- Enum Summary
  Enum | Description
  --- | ---
  R2CopyDepth | A specification of whether or not a depth buffer should be copied.
  R2DepthPrecision | The precision of the depth buffer.
  R2DepthVariancePrecision | The precision of the depth variance buffer.
  R2GeometryBufferComponents | A specification of which components are allocated for a geometry buffer.
  R2LightBufferComponents | A specification of which components are allocated for a light buffer.
  R2SceneStencilsMode | The mode used for stencils.

- Exception Summary
  Exception | Description
  --- | ---
  R2Exception | The type of exceptions.
  R2ExceptionBadTextureFormat | The type of exceptions that indicate an attempt to specify a texture with a format of an unexpected type.
  R2ExceptionBadTextureSize | The type of exceptions that indicate an attempt to specify a bad texture size.
  R2ExceptionBatchIsFull | A batch cannot accept any more instances.
  R2ExceptionInvalidGroup | An invalid group number was specified.
  R2ExceptionIO | An internal I/O exception occurred.
  R2ExceptionShaderParameterCountMismatch | An exception indicating that a compiled shader did not have the expected number of parameters.
  R2ExceptionShaderParameterNotPresent | An exception indicating that a shader parameter was not found when one was expected.
  R2ExceptionShaderParameterWrongType | An exception indicating that a shader parameter had a type other than the given expected type.
  R2ExceptionShaderPreprocessingFailed | An exception indicating that a shader failed to preprocess.
  R2ExceptionShaderValidationFailed | An exception indicating that a shader failed to validate.
  R2RendererException | The type of renderer exceptions.
  R2RendererExceptionClipGroupDeleted | The type of renderer exceptions that indicate an attempt to use a deleted clip group.
  R2RendererExceptionFramebufferNotBound | The type of renderer exceptions that indicate an attempt to perform an operation that requires a specific framebuffer be bound, but without that framebuffer actually being bound.
  R2RendererExceptionInstanceAlreadyActive | An exception indicating an attempt to start a new set of instance matrices when an instance is already active.
  R2RendererExceptionInstanceAlreadyVisible | An exception indicating an attempt to specify that an instance should be rendered multiple times.
  R2RendererExceptionLightAlreadyVisible | An exception indicating an attempt to specify that a light should be rendered multiple times.
  R2RendererExceptionNoSuchShader | The type of renderer exceptions that indicate nonexistent shaders.
  R2RendererExceptionObserverAlreadyActive | An exception indicating an attempt to start a new set of observer matrices when an observer is already active.
  R2RendererExceptionProjectiveAlreadyActive | An exception indicating an attempt to start a new set of projective light matrices when a projective light is already active.
  R2RendererExceptionShadowExecutionAlreadyActive | An exception indicating an attempt to start a shadow map renderer execution with one already active.
  R2RendererExceptionShadowExecutionNotActive | An exception indicating an attempt to use a shadow map renderer execution without it being active.
  R2RendererExceptionShadowMapContextAlreadyActive | An exception indicating an attempt to create a shadow map context with one already active.
  R2RendererExceptionShadowMapContextNotActive | An exception indicating an attempt to use a shadow map context without it being active.
  R2RendererExceptionShadowNotRendered | An exception indicating an attempt to request a shadow map that has not been rendered.
  R2RendererExceptionVolumeLightAlreadyActive | An exception indicating an attempt to start a new set of volume light matrices when a volume light is already active.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  R2ImmutableStyleType | Style settings for generated immutable types.

## Package com.io7m.r2.core Description

Core types and functions.

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