# Hierarchy For All Packages

Package Hierarchies:

- com.io7m.r2.core,
- com.io7m.r2.core.cursors,
- com.io7m.r2.core.debug,
- com.io7m.r2.core.shaders,
- com.io7m.r2.core.shaders.provided,
- com.io7m.r2.core.shaders.types,
- com.io7m.r2.documentation,
- com.io7m.r2.filters,
- com.io7m.r2.meshes,
- com.io7m.r2.meshes.arrayobject,
- com.io7m.r2.meshes.binary,
- com.io7m.r2.meshes.binary.r2mb,
- com.io7m.r2.meshes.defaults,
- com.io7m.r2.meshes.obj,
- com.io7m.r2.meshes.tools,
- com.io7m.r2.shaders.core,
- com.io7m.r2.spaces

## Class Hierarchy

- java.lang.Object
  - com.io7m.r2.documentation.Documentation
  - com.io7m.r2.core.shaders.provided.R2AbstractShader<M> (implements com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.debug.R2DebugShaderLightDirectionalConstantSingle (implements com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M>)
    - com.io7m.r2.core.debug.R2DebugShaderLightSphericalAttenuationSingle (implements com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.debug.R2DebugShaderLightSphericalConstantSingle (implements com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.provided.R2DepthShaderBasicBatched (implements com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedType<M>)
    - com.io7m.r2.core.shaders.provided.R2DepthShaderBasicSingle (implements com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M>)
    - com.io7m.r2.core.shaders.provided.R2DepthShaderBasicStippledSingle (implements com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M>)
    - com.io7m.r2.core.shaders.provided.R2LightShaderAmbientSingle (implements com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M>)
    - com.io7m.r2.core.shaders.provided.R2LightShaderDirectionalSpecularSingle (implements com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M>)
    - com.io7m.r2.core.shaders.provided.R2LightShaderProjectiveLambertBlinnPhongShadowVarianceSingle (implements com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M>)
    - com.io7m.r2.core.shaders.provided.R2LightShaderProjectiveLambertBlinnPhongSingle (implements com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M>)
    - com.io7m.r2.core.shaders.provided.R2LightShaderProjectiveLambertShadowVarianceSingle (implements com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M>)
    - com.io7m.r2.core.shaders.provided.R2LightShaderProjectiveLambertSingle (implements com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M>)
    - com.io7m.r2.core.shaders.provided.R2LightShaderSphericalLambertBlinnPhongSingle (implements com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.provided.R2LightShaderSphericalLambertPhongSingle (implements com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.provided.R2LightShaderSphericalLambertSingle (implements com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.provided.R2MaskShaderBatched (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedType<M>)
    - com.io7m.r2.core.shaders.provided.R2MaskShaderSingle (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
    - com.io7m.r2.core.shaders.provided.R2RefractionMaskedDeltaShaderBatched (implements com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M>)
    - com.io7m.r2.core.shaders.provided.R2RefractionMaskedDeltaShaderBillboarded (implements com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M>)
    - com.io7m.r2.core.shaders.provided.R2RefractionMaskedDeltaShaderSingle (implements com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M>)
    - com.io7m.r2.core.shaders.provided.R2ShaderDebugColorVerticesWorldPosition (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenType<M>)
    - com.io7m.r2.core.shaders.provided.R2ShaderDebugVisualBatched (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedType<M>)
    - com.io7m.r2.core.shaders.provided.R2ShaderDebugVisualBillboarded (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedType<M>)
    - com.io7m.r2.core.shaders.provided.R2ShaderDebugVisualScreen (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenType<M>)
    - com.io7m.r2.core.shaders.provided.R2ShaderDebugVisualSingle (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
    - com.io7m.r2.filters.R2ShaderFilterBilateralBlurDepthAwareHorizontal4f (implements com.io7m.r2.core.shaders.types.R2ShaderFilterType<M>)
    - com.io7m.r2.filters.R2ShaderFilterBilateralBlurDepthAwareVertical4f (implements com.io7m.r2.core.shaders.types.R2ShaderFilterType<M>)
    - com.io7m.r2.filters.R2ShaderFilterBoxBlurHorizontal4f (implements com.io7m.r2.core.shaders.types.R2ShaderFilterType<M>)
    - com.io7m.r2.filters.R2ShaderFilterBoxBlurVertical4f (implements com.io7m.r2.core.shaders.types.R2ShaderFilterType<M>)
    - com.io7m.r2.filters.R2ShaderFilterDebugEyePosition (implements com.io7m.r2.core.shaders.types.R2ShaderFilterType<M>)
    - com.io7m.r2.filters.R2ShaderFilterDebugEyeZ (implements com.io7m.r2.core.shaders.types.R2ShaderFilterType<M>)
    - com.io7m.r2.filters.R2ShaderFilterEmission (implements com.io7m.r2.core.shaders.types.R2ShaderFilterType<M>)
    - com.io7m.r2.filters.R2ShaderFilterFogDepth (implements com.io7m.r2.core.shaders.types.R2ShaderFilterType<M>)
      - com.io7m.r2.filters.R2ShaderFilterFogDepthLinear
      - com.io7m.r2.filters.R2ShaderFilterFogDepthQuadratic
      - com.io7m.r2.filters.R2ShaderFilterFogDepthQuadraticInverse
    - com.io7m.r2.filters.R2ShaderFilterFXAAA (implements com.io7m.r2.core.shaders.types.R2ShaderFilterType<M>)
    - com.io7m.r2.filters.R2ShaderFilterLightApplicator (implements com.io7m.r2.core.shaders.types.R2ShaderFilterType<M>)
    - com.io7m.r2.filters.R2ShaderFilterOcclusionApplicator (implements com.io7m.r2.core.shaders.types.R2ShaderFilterType<M>)
    - com.io7m.r2.filters.R2ShaderFilterTextureShow (implements com.io7m.r2.core.shaders.types.R2ShaderFilterType<M>)
    - com.io7m.r2.core.shaders.provided.R2ShaderLogDepthOnlySingle (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
    - com.io7m.r2.filters.R2ShaderSSAO (implements com.io7m.r2.core.shaders.types.R2ShaderFilterType<M>)
    - com.io7m.r2.core.shaders.provided.R2StencilShaderScreen (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenType<M>)
    - com.io7m.r2.core.shaders.provided.R2StencilShaderSingle (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
    - com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicBatched (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedType<M>)
    - com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicBillboarded (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedType<M>)
    - com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicReflectiveSingle (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
    - com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicSingle (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
    - com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicStippledSingle (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
    - com.io7m.r2.core.shaders.provided.R2TranslucentShaderBasicPremultipliedBatched (implements com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M>)
    - com.io7m.r2.core.shaders.provided.R2TranslucentShaderBasicPremultipliedBillboarded (implements com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M>)
    - com.io7m.r2.core.shaders.provided.R2TranslucentShaderBasicPremultipliedSingle (implements com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M>)
  - 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.filters.R2BilateralBlurParameters (implements com.io7m.r2.filters.R2BilateralBlurParametersType)
  - com.io7m.r2.filters.R2BilateralBlurParameters.Builder
  - com.io7m.r2.core.R2Bilinear
  - com.io7m.r2.filters.R2BlurParameters (implements com.io7m.r2.filters.R2BlurParametersType)
  - com.io7m.r2.filters.R2BlurParameters.Builder
  - com.io7m.r2.core.R2Core
  - com.io7m.r2.core.debug.R2DebugCube (implements com.io7m.r2.core.debug.R2DebugCubeType)
  - com.io7m.r2.core.debug.R2DebugCubeInstance (implements com.io7m.r2.core.debug.R2DebugCubeInstanceType)
  - com.io7m.r2.core.debug.R2DebugCubeInstance.Builder
  - com.io7m.r2.core.debug.R2DebugInstances (implements com.io7m.r2.core.debug.R2DebugInstancesType)
  - com.io7m.r2.core.debug.R2DebugInstances.Builder
  - com.io7m.r2.core.debug.R2DebugInstanceSingle (implements com.io7m.r2.core.debug.R2DebugInstanceSingleType)
  - com.io7m.r2.core.debug.R2DebugInstanceSingle.Builder
  - com.io7m.r2.core.debug.R2DebugLineSegment (implements com.io7m.r2.core.debug.R2DebugLineSegmentType)
  - com.io7m.r2.core.debug.R2DebugLineSegment.Builder
  - com.io7m.r2.core.debug.R2DebugLineSegmentsBatch (implements com.io7m.r2.core.R2DeletableType)
  - com.io7m.r2.core.debug.R2DebugVisualizerDefaults
  - com.io7m.r2.core.debug.R2DebugVisualizerRenderer (implements com.io7m.r2.core.debug.R2DebugVisualizerRendererType)
  - com.io7m.r2.core.debug.R2DebugVisualizerRendererParameters (implements com.io7m.r2.core.debug.R2DebugVisualizerRendererParametersType)
  - com.io7m.r2.core.debug.R2DebugVisualizerRendererParameters.Builder
  - 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.shaders.provided.R2DepthShaderBasicParameters (implements com.io7m.r2.core.shaders.provided.R2DepthShaderBasicParametersType)
  - com.io7m.r2.core.shaders.provided.R2DepthShaderBasicParameters.Builder
  - com.io7m.r2.core.shaders.provided.R2DepthShaderBasicStippledParameters (implements com.io7m.r2.core.shaders.provided.R2DepthShaderBasicStippledParametersType)
  - com.io7m.r2.core.shaders.provided.R2DepthShaderBasicStippledParameters.Builder
  - 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.filters.R2EyePositionBuffer (implements com.io7m.r2.filters.R2EyePositionBufferType)
  - com.io7m.r2.filters.R2EyeZBuffer (implements com.io7m.r2.filters.R2EyeZBufferType)
  - com.io7m.r2.filters.R2FilterBilateralBlurDepthAware<SD,S,DD,D> (implements com.io7m.r2.core.R2FilterType<P>)
  - com.io7m.r2.filters.R2FilterBilateralBlurDepthAwareParameters<SD,S,DD,D> (implements com.io7m.r2.filters.R2FilterBilateralBlurDepthAwareParametersType<SD,S,DD,D>)
  - com.io7m.r2.filters.R2FilterBilateralBlurDepthAwareParameters.Builder<SD,S,DD,D>
  - com.io7m.r2.filters.R2FilterBoxBlur<SD,S,DD,D> (implements com.io7m.r2.core.R2FilterType<P>)
  - com.io7m.r2.filters.R2FilterBoxBlurParameters<SD,S,DD,D> (implements com.io7m.r2.filters.R2FilterBoxBlurParametersType<SD,S,DD,D>)
  - com.io7m.r2.filters.R2FilterBoxBlurParameters.Builder<SD,S,DD,D>
  - com.io7m.r2.filters.R2FilterCompositor (implements com.io7m.r2.core.R2FilterType<P>)
  - com.io7m.r2.filters.R2FilterCompositorItem (implements com.io7m.r2.filters.R2FilterCompositorItemType)
  - com.io7m.r2.filters.R2FilterCompositorItem.Builder
  - com.io7m.r2.filters.R2FilterCompositorParameters (implements com.io7m.r2.filters.R2FilterCompositorParametersType)
  - com.io7m.r2.filters.R2FilterCompositorParameters.Builder
  - com.io7m.r2.filters.R2FilterDebugEyePosition (implements com.io7m.r2.core.R2FilterType<P>)
  - com.io7m.r2.filters.R2FilterDebugEyePositionParameters (implements com.io7m.r2.filters.R2FilterDebugEyePositionParametersType)
  - com.io7m.r2.filters.R2FilterDebugEyePositionParameters.Builder
  - com.io7m.r2.filters.R2FilterDebugEyeZ (implements com.io7m.r2.core.R2FilterType<P>)
  - com.io7m.r2.filters.R2FilterDebugEyeZParameters (implements com.io7m.r2.filters.R2FilterDebugEyeZParametersType)
  - com.io7m.r2.filters.R2FilterDebugEyeZParameters.Builder
  - com.io7m.r2.filters.R2FilterEmission (implements com.io7m.r2.core.R2FilterType<P>)
  - com.io7m.r2.filters.R2FilterEmissionParameters (implements com.io7m.r2.filters.R2FilterEmissionParametersType)
  - com.io7m.r2.filters.R2FilterEmissionParameters.Builder
  - com.io7m.r2.filters.R2FilterFogDepth (implements com.io7m.r2.core.R2FilterType<P>)
  - com.io7m.r2.filters.R2FilterFogParameters (implements com.io7m.r2.filters.R2FilterFogParametersType)
  - com.io7m.r2.filters.R2FilterFogParameters.Builder
  - com.io7m.r2.filters.R2FilterFXAA (implements com.io7m.r2.core.R2FilterType<P>)
  - com.io7m.r2.filters.R2FilterFXAAParameters (implements com.io7m.r2.filters.R2FilterFXAAParametersType)
  - com.io7m.r2.filters.R2FilterFXAAParameters.Builder
  - com.io7m.r2.filters.R2FilterLightApplicator (implements com.io7m.r2.core.R2FilterType<P>)
  - com.io7m.r2.filters.R2FilterLightApplicatorParameters (implements com.io7m.r2.filters.R2FilterLightApplicatorParametersType)
  - com.io7m.r2.filters.R2FilterLightApplicatorParameters.Builder
  - com.io7m.r2.filters.R2FilterOcclusionApplicator (implements com.io7m.r2.core.R2FilterType<P>)
  - com.io7m.r2.filters.R2FilterOcclusionApplicatorParameters (implements com.io7m.r2.filters.R2FilterOcclusionApplicatorParametersType)
  - com.io7m.r2.filters.R2FilterOcclusionApplicatorParameters.Builder
  - com.io7m.r2.filters.R2FilterSSAO (implements com.io7m.r2.core.R2FilterType<P>)
  - com.io7m.r2.filters.R2FilterSSAOParameters (implements com.io7m.r2.filters.R2FilterSSAOParametersType)
  - com.io7m.r2.filters.R2FilterSSAOParameters.Builder
  - 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.meshes.binary.r2mb.R2MBHeaderByteBuffered (implements com.io7m.r2.meshes.binary.r2mb.R2MBHeaderType)
  - com.io7m.r2.meshes.binary.R2MBMappedReader (implements com.io7m.r2.meshes.binary.R2MBReaderType)
  - com.io7m.r2.meshes.binary.R2MBMappedWriter (implements com.io7m.r2.meshes.binary.R2MBWriterType)
  - com.io7m.r2.meshes.binary.r2mb.R2MBTriangleByteBuffered (implements com.io7m.r2.meshes.binary.r2mb.R2MBTriangleType)
  - com.io7m.r2.meshes.binary.R2MBUnmappedReader (implements com.io7m.r2.meshes.binary.R2MBReaderType)
  - com.io7m.r2.meshes.binary.R2MBUnmappedWriter (implements com.io7m.r2.meshes.binary.R2MBWriterType)
  - com.io7m.r2.meshes.binary.R2MBVersion
  - com.io7m.r2.meshes.binary.r2mb.R2MBVertexByteBuffered (implements com.io7m.r2.meshes.binary.r2mb.R2MBVertexType)
  - com.io7m.r2.meshes.arrayobject.R2MeshArrayObjectSynchronousAdapter (implements com.io7m.r2.meshes.arrayobject.R2MeshArrayObjectSynchronousAdapterType)
  - com.io7m.r2.meshes.R2MeshBasic (implements com.io7m.r2.meshes.R2MeshBasicType)
  - com.io7m.r2.meshes.R2MeshBasicVertex (implements com.io7m.r2.meshes.R2MeshBasicVertexType)
  - com.io7m.r2.meshes.tools.R2MeshConverter (implements com.io7m.r2.meshes.tools.R2MeshConverterType)
  - com.io7m.r2.meshes.tools.R2MeshFileFormatNameConverter (implements com.beust.jcommander.IStringConverter<T>)
  - com.io7m.r2.meshes.R2MeshTangents (implements com.io7m.r2.meshes.R2MeshTangentsType)
  - com.io7m.r2.meshes.R2MeshTangentsAdapter (implements com.io7m.r2.meshes.R2MeshTangentsAdapterType)
  - com.io7m.r2.meshes.R2MeshTangentsVertex (implements com.io7m.r2.meshes.R2MeshTangentsVertexType)
  - com.io7m.r2.meshes.tools.R2MeshTool (implements java.lang.Runnable)
  - com.io7m.r2.meshes.tools.R2MeshToolLogLevelConverter (implements com.beust.jcommander.IStringConverter<T>)
  - com.io7m.r2.meshes.R2MeshTriangle (implements com.io7m.r2.meshes.R2MeshTriangleType)
  - com.io7m.r2.core.R2NoiseTexture
  - com.io7m.r2.meshes.obj.R2ObjMeshImporter (implements com.io7m.r2.meshes.obj.R2ObjMeshImporterType)
  - 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.shaders.provided.R2RefractionMaskedDeltaParameters (implements com.io7m.r2.core.shaders.provided.R2RefractionMaskedDeltaParametersType)
  - com.io7m.r2.core.shaders.provided.R2RefractionMaskedDeltaParameters.Builder
  - com.io7m.r2.core.R2RenderTargetDescriptions
  - com.io7m.r2.core.cursors.R2RGBA8ByteBuffered (implements com.io7m.r2.core.cursors.R2RGBA8Type)
  - 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.shaders.types.R2ShaderDepthBatchedVerifier<M> (implements com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleVerifier<M> (implements com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M>)
  - com.io7m.r2.filters.R2ShaderFilterBilateralBlurDepthAwareParameters (implements com.io7m.r2.filters.R2ShaderFilterBilateralBlurDepthAwareParametersType)
  - com.io7m.r2.filters.R2ShaderFilterBilateralBlurDepthAwareParameters.Builder
  - com.io7m.r2.filters.R2ShaderFilterBoxBlurParameters (implements com.io7m.r2.filters.R2ShaderFilterBoxBlurParametersType)
  - com.io7m.r2.filters.R2ShaderFilterBoxBlurParameters.Builder
  - com.io7m.r2.filters.R2ShaderFilterEmissionParameters (implements com.io7m.r2.filters.R2ShaderFilterEmissionParametersType)
  - com.io7m.r2.filters.R2ShaderFilterEmissionParameters.Builder
  - com.io7m.r2.filters.R2ShaderFilterFogParameters (implements com.io7m.r2.filters.R2ShaderFilterFogParametersType)
  - com.io7m.r2.filters.R2ShaderFilterFogParameters.Builder
  - com.io7m.r2.filters.R2ShaderFilterFXAAParameters (implements com.io7m.r2.filters.R2ShaderFilterFXAAParametersType)
  - com.io7m.r2.filters.R2ShaderFilterFXAAParameters.Builder
  - com.io7m.r2.filters.R2ShaderFilterLightApplicatorParameters (implements com.io7m.r2.filters.R2ShaderFilterLightApplicatorParametersType)
  - com.io7m.r2.filters.R2ShaderFilterLightApplicatorParameters.Builder
  - com.io7m.r2.filters.R2ShaderFilterOcclusionApplicatorParameters (implements com.io7m.r2.filters.R2ShaderFilterOcclusionApplicatorParametersType)
  - com.io7m.r2.filters.R2ShaderFilterOcclusionApplicatorParameters.Builder
  - com.io7m.r2.filters.R2ShaderFilterTextureShowParameters (implements com.io7m.r2.filters.R2ShaderFilterTextureShowParametersType)
  - com.io7m.r2.filters.R2ShaderFilterTextureShowParameters.Builder
  - com.io7m.r2.core.shaders.types.R2ShaderFilterVerifier<M> (implements com.io7m.r2.core.shaders.types.R2ShaderFilterType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedVerifier<M> (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedVerifier<M> (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleVerifier<M> (implements com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveVerifier<M> (implements com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowVerifier<M> (implements com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleVerifier<M> (implements com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleVerifier<M> (implements com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderParameters
  - com.io7m.r2.core.shaders.types.R2ShaderParametersFilter<M> (implements com.io7m.r2.core.shaders.types.R2ShaderParametersFilterType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderParametersFilter.Builder<M>
  - com.io7m.r2.core.shaders.types.R2ShaderParametersFilterMutable<M> (implements com.io7m.r2.core.shaders.types.R2ShaderParametersFilterType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderParametersLight<M> (implements com.io7m.r2.core.shaders.types.R2ShaderParametersLightType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderParametersLight.Builder<M>
  - com.io7m.r2.core.shaders.types.R2ShaderParametersLightMutable<M> (implements com.io7m.r2.core.shaders.types.R2ShaderParametersLightType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderParametersMaterial<M> (implements com.io7m.r2.core.shaders.types.R2ShaderParametersMaterialType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderParametersMaterial.Builder<M>
  - com.io7m.r2.core.shaders.types.R2ShaderParametersMaterialMutable<M> (implements com.io7m.r2.core.shaders.types.R2ShaderParametersMaterialType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderParametersView (implements com.io7m.r2.core.shaders.types.R2ShaderParametersViewType)
  - com.io7m.r2.core.shaders.types.R2ShaderParametersView.Builder
  - com.io7m.r2.core.shaders.types.R2ShaderParametersViewMutable (implements com.io7m.r2.core.shaders.types.R2ShaderParametersViewType)
  - com.io7m.r2.core.shaders.types.R2ShaderPreprocessingEnvironment (implements com.io7m.r2.core.shaders.types.R2ShaderPreprocessingEnvironmentType)
  - com.io7m.r2.filters.R2ShaderSSAOParameters (implements com.io7m.r2.filters.R2ShaderSSAOParametersType)
  - com.io7m.r2.filters.R2ShaderSSAOParameters.Builder
  - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedVerifier<M> (implements com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedVerifier<M> (implements com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleVerifier<M> (implements com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M>)
  - 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.filters.R2SSAOKernel (implements com.io7m.r2.filters.R2SSAOKernelType)
  - com.io7m.r2.filters.R2SSAONoiseTexture
  - com.io7m.r2.core.R2StencilRenderer (implements com.io7m.r2.core.R2StencilRendererType)
  - com.io7m.r2.core.R2Stencils
  - com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicParameters (implements com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicParametersType)
  - com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicParameters.Builder
  - com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicReflectiveParameters (implements com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicReflectiveParametersType)
  - com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicReflectiveParameters.Builder
  - com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicStippledParameters (implements com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicStippledParametersType)
  - com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicStippledParameters.Builder
  - 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.shaders.provided.R2TranslucentShaderBasicParameters (implements com.io7m.r2.core.shaders.provided.R2TranslucentShaderBasicParametersType)
  - com.io7m.r2.core.shaders.provided.R2TranslucentShaderBasicParameters.Builder
  - com.io7m.r2.core.R2TranslucentSingle<M> (implements com.io7m.r2.core.R2TranslucentSingleType<M>)
  - com.io7m.r2.core.R2TranslucentSingle.Builder<M>
  - com.io7m.r2.meshes.defaults.R2UnitCube (implements com.io7m.r2.core.R2UnitCubeType)
  - com.io7m.r2.core.R2UnitQuad (implements com.io7m.r2.core.R2UnitQuadType)
  - com.io7m.r2.meshes.defaults.R2UnitSphere (implements com.io7m.r2.core.R2UnitSphereType)
  - com.io7m.r2.core.cursors.R2VertexCursorP32UNT16 (implements com.io7m.r2.core.cursors.R2VertexCursorProducerInfoType, com.io7m.r2.core.cursors.R2VertexCursorProducerType<T>)
  - com.io7m.r2.core.cursors.R2VertexCursorPUNT16 (implements com.io7m.r2.core.cursors.R2VertexCursorProducerInfoType, com.io7m.r2.core.cursors.R2VertexCursorProducerType<T>)
  - com.io7m.r2.core.cursors.R2VertexCursorPUNT32 (implements com.io7m.r2.core.cursors.R2VertexCursorProducerInfoType, com.io7m.r2.core.cursors.R2VertexCursorProducerType<T>)
  - com.io7m.r2.core.cursors.R2VertexP16ByteBuffered (implements com.io7m.r2.core.cursors.R2VertexP16Type)
  - com.io7m.r2.core.cursors.R2VertexP32RGBA8ByteBuffered (implements com.io7m.r2.core.cursors.R2VertexP32RGBA8Type)
  - com.io7m.r2.core.cursors.R2VertexP32UNT16ByteBuffered (implements com.io7m.r2.core.cursors.R2VertexP32UNT16Type)
  - com.io7m.r2.core.cursors.R2VertexPU32ByteBuffered (implements com.io7m.r2.core.cursors.R2VertexPU32Type)
  - com.io7m.r2.core.cursors.R2VertexPUNT16ByteBuffered (implements com.io7m.r2.core.cursors.R2VertexPUNT16Type)
  - com.io7m.r2.core.cursors.R2VertexPUNT32ByteBuffered (implements com.io7m.r2.core.cursors.R2VertexPUNT32Type)
  - com.io7m.r2.core.R2ViewRays (implements com.io7m.r2.core.R2ViewRaysType)
  - com.io7m.r2.core.R2Watchable<T> (implements com.io7m.r2.core.R2WatchableType<T>)
  - com.io7m.sombrero.core.SoShaderModuleProviderAbstract (implements com.io7m.sombrero.core.SoShaderModuleProviderType)
    - com.io7m.r2.shaders.core.R2CoreShaders
  - 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
        - com.io7m.r2.meshes.R2MeshException
          - com.io7m.r2.meshes.R2MeshExceptionMalformedTriangle
          - com.io7m.r2.meshes.R2MeshExceptionMissingBitangent
          - com.io7m.r2.meshes.R2MeshExceptionMissingNormal
          - com.io7m.r2.meshes.R2MeshExceptionMissingPosition
          - com.io7m.r2.meshes.R2MeshExceptionMissingTangent
          - com.io7m.r2.meshes.R2MeshExceptionMissingUV
          - com.io7m.r2.meshes.R2MeshExceptionMissingVertex

## Interface Hierarchy

- java.lang.AutoCloseable
  - java.io.Closeable
    - com.io7m.r2.meshes.binary.R2MBWriterType
  - com.io7m.r2.meshes.binary.R2MBWriterType
- com.io7m.jcanephora.core.JCGLResourceSizedType
  - com.io7m.r2.core.R2AmbientOcclusionBufferType (also extends com.io7m.r2.core.R2AmbientOcclusionBufferUsableType, com.io7m.r2.core.R2RenderTargetType<D>)
  - com.io7m.r2.core.R2AmbientOcclusionBufferUsableType
    - com.io7m.r2.core.R2AmbientOcclusionBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
  - com.io7m.r2.core.debug.R2DebugCubeType (also extends com.io7m.r2.core.debug.R2DebugCubeUsableType, com.io7m.r2.core.R2DeletableType)
  - com.io7m.r2.core.debug.R2DebugCubeUsableType (also extends com.io7m.jcanephora.core.JCGLResourceUsableType)
    - com.io7m.r2.core.debug.R2DebugCubeType (also extends com.io7m.r2.core.R2DeletableType)
  - com.io7m.r2.core.R2DepthOnlyBufferType (also extends com.io7m.r2.core.R2DepthOnlyBufferUsableType, 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.R2DepthVarianceBufferType (also extends com.io7m.r2.core.R2DepthVarianceBufferUsableType, 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.filters.R2EyePositionBufferType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.filters.R2EyePositionBufferUsableType)
  - com.io7m.r2.filters.R2EyePositionBufferUsableType (also extends com.io7m.jcanephora.core.JCGLResourceUsableType)
    - com.io7m.r2.filters.R2EyePositionBufferType (also extends com.io7m.r2.core.R2DeletableType)
  - com.io7m.r2.filters.R2EyeZBufferType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.filters.R2EyeZBufferUsableType)
  - com.io7m.r2.filters.R2EyeZBufferUsableType (also extends com.io7m.jcanephora.core.JCGLResourceUsableType)
    - com.io7m.r2.filters.R2EyeZBufferType (also extends com.io7m.r2.core.R2DeletableType)
  - com.io7m.r2.core.R2GeometryBufferType (also extends com.io7m.r2.core.R2GeometryBufferUsableType, 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.R2ImageBufferType (also extends com.io7m.r2.core.R2ImageBufferUsableType, 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.R2LightBufferDiffuseOnlyUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType, com.io7m.r2.core.R2LightBufferWithDiffuseUsableType)
  - com.io7m.r2.core.R2LightBufferDiffuseSpecularUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType, com.io7m.r2.core.R2LightBufferWithDiffuseUsableType, com.io7m.r2.core.R2LightBufferWithSpecularUsableType)
  - com.io7m.r2.core.R2LightBufferSpecularOnlyUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType, com.io7m.r2.core.R2LightBufferWithSpecularUsableType)
  - com.io7m.r2.core.R2LightBufferType (also extends com.io7m.r2.core.R2LightBufferUsableType, 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.R2MaskBufferType (also extends com.io7m.r2.core.R2MaskBufferUsableType, 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.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.R2RenderTargetUsableType<D> (also extends com.io7m.jcanephora.core.JCGLResourceUsableType)
    - com.io7m.r2.core.R2AmbientOcclusionBufferType (also extends com.io7m.r2.core.R2AmbientOcclusionBufferUsableType, com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2AmbientOcclusionBufferUsableType
      - com.io7m.r2.core.R2AmbientOcclusionBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2DepthOnlyBufferType (also extends com.io7m.r2.core.R2DepthOnlyBufferUsableType, 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.R2DepthVarianceBufferType (also extends com.io7m.r2.core.R2DepthVarianceBufferUsableType, 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.R2GeometryBufferType (also extends com.io7m.r2.core.R2GeometryBufferUsableType, 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.R2ImageBufferType (also extends com.io7m.r2.core.R2ImageBufferUsableType, 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.R2LightBufferDiffuseOnlyUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType, com.io7m.r2.core.R2LightBufferWithDiffuseUsableType)
    - com.io7m.r2.core.R2LightBufferDiffuseSpecularUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType, com.io7m.r2.core.R2LightBufferWithDiffuseUsableType, com.io7m.r2.core.R2LightBufferWithSpecularUsableType)
    - com.io7m.r2.core.R2LightBufferSpecularOnlyUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType, com.io7m.r2.core.R2LightBufferWithSpecularUsableType)
    - com.io7m.r2.core.R2LightBufferType (also extends com.io7m.r2.core.R2LightBufferUsableType, 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.R2MaskBufferType (also extends com.io7m.r2.core.R2MaskBufferUsableType, 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.R2UnitCubeType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2UnitSphereUsableType)
  - com.io7m.r2.core.R2UnitCubeUsableType (also extends com.io7m.jcanephora.core.JCGLResourceUsableType)
  - com.io7m.r2.core.R2UnitQuadType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2UnitQuadUsableType)
  - 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.R2UnitSphereType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2UnitSphereUsableType)
  - 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.R2AmbientOcclusionBufferType (also extends com.io7m.r2.core.R2AmbientOcclusionBufferUsableType, com.io7m.r2.core.R2RenderTargetType<D>)
  - com.io7m.r2.core.R2AmbientOcclusionBufferUsableType
    - com.io7m.r2.core.R2AmbientOcclusionBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
  - com.io7m.r2.core.debug.R2DebugCubeType (also extends com.io7m.r2.core.debug.R2DebugCubeUsableType, com.io7m.r2.core.R2DeletableType)
  - com.io7m.r2.core.debug.R2DebugCubeUsableType (also extends com.io7m.jcanephora.core.JCGLResourceSizedType)
    - com.io7m.r2.core.debug.R2DebugCubeType (also extends com.io7m.r2.core.R2DeletableType)
  - com.io7m.r2.core.debug.R2DebugVisualizerRendererType
  - com.io7m.r2.core.R2DeletableType
    - com.io7m.r2.core.R2AmbientOcclusionBufferType (also extends com.io7m.r2.core.R2AmbientOcclusionBufferUsableType, com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.debug.R2DebugCubeType (also extends com.io7m.r2.core.debug.R2DebugCubeUsableType)
    - com.io7m.r2.core.debug.R2DebugVisualizerRendererType
    - com.io7m.r2.core.R2DepthOnlyBufferType (also extends com.io7m.r2.core.R2DepthOnlyBufferUsableType, com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2DepthRendererType
    - com.io7m.r2.core.R2DepthVarianceBufferType (also extends com.io7m.r2.core.R2DepthVarianceBufferUsableType, com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2DepthVarianceRendererType
    - com.io7m.r2.filters.R2EyePositionBufferType (also extends com.io7m.r2.filters.R2EyePositionBufferUsableType)
    - com.io7m.r2.filters.R2EyeZBufferType (also extends com.io7m.r2.filters.R2EyeZBufferUsableType)
    - com.io7m.r2.core.R2FilterType<P> (also extends com.io7m.r2.core.R2FilterUsableType<P>)
    - com.io7m.r2.core.R2GeometryBufferType (also extends com.io7m.r2.core.R2GeometryBufferUsableType, com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2GeometryRendererType
    - com.io7m.r2.core.R2ImageBufferType (also extends com.io7m.r2.core.R2ImageBufferUsableType, com.io7m.r2.core.R2RenderTargetType<D>)
    - 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.R2LightBufferType (also extends com.io7m.r2.core.R2LightBufferUsableType, com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2LightRendererType
    - com.io7m.r2.core.R2MaskBufferType (also extends com.io7m.r2.core.R2MaskBufferUsableType, com.io7m.r2.core.R2RenderTargetType<D>)
    - 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.shaders.types.R2ShaderDepthBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderScreenUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderScreenUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>)
    - com.io7m.r2.core.R2ShadowMapRendererType
    - com.io7m.r2.core.R2StencilRendererType
    - com.io7m.r2.core.R2Texture2DStaticType
    - com.io7m.r2.core.R2Texture2DType (also extends com.io7m.r2.core.R2Texture2DUsableType)
      - com.io7m.r2.core.R2Texture2DStaticType
    - com.io7m.r2.core.R2TextureCubeStaticType
    - 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.R2DepthOnlyBufferType (also extends com.io7m.r2.core.R2DepthOnlyBufferUsableType, 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.R2DepthRendererType
  - com.io7m.r2.core.R2DepthVarianceBufferType (also extends com.io7m.r2.core.R2DepthVarianceBufferUsableType, 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.R2DepthVarianceRendererType
  - com.io7m.r2.filters.R2EyePositionBufferType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.filters.R2EyePositionBufferUsableType)
  - com.io7m.r2.filters.R2EyePositionBufferUsableType (also extends com.io7m.jcanephora.core.JCGLResourceSizedType)
    - com.io7m.r2.filters.R2EyePositionBufferType (also extends com.io7m.r2.core.R2DeletableType)
  - com.io7m.r2.filters.R2EyeZBufferType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.filters.R2EyeZBufferUsableType)
  - com.io7m.r2.filters.R2EyeZBufferUsableType (also extends com.io7m.jcanephora.core.JCGLResourceSizedType)
    - com.io7m.r2.filters.R2EyeZBufferType (also extends com.io7m.r2.core.R2DeletableType)
  - com.io7m.r2.core.R2FilterType<P> (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2FilterUsableType<P>)
  - com.io7m.r2.core.R2GeometryBufferType (also extends com.io7m.r2.core.R2GeometryBufferUsableType, 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.R2GeometryRendererType
  - com.io7m.r2.core.R2ImageBufferType (also extends com.io7m.r2.core.R2ImageBufferUsableType, 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.R2InstanceBatchedDynamicType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2InstanceBatchedType)
  - com.io7m.r2.core.R2InstanceBillboardedDynamicType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2InstanceBillboardedType)
  - com.io7m.r2.core.R2LightBufferDiffuseOnlyUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType, com.io7m.r2.core.R2LightBufferWithDiffuseUsableType)
  - com.io7m.r2.core.R2LightBufferDiffuseSpecularUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType, com.io7m.r2.core.R2LightBufferWithDiffuseUsableType, com.io7m.r2.core.R2LightBufferWithSpecularUsableType)
  - com.io7m.r2.core.R2LightBufferSpecularOnlyUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType, com.io7m.r2.core.R2LightBufferWithSpecularUsableType)
  - com.io7m.r2.core.R2LightBufferType (also extends com.io7m.r2.core.R2LightBufferUsableType, 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.R2LightRendererType
  - com.io7m.r2.core.R2MaskBufferType (also extends com.io7m.r2.core.R2MaskBufferUsableType, 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.R2MaskRendererType
  - com.io7m.r2.core.R2ProjectionMeshType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2ProjectionMeshUsableType)
  - com.io7m.r2.core.R2RenderTargetType<D> (also extends com.io7m.r2.core.R2DeletableType, 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.R2RenderTargetUsableType<D> (also extends com.io7m.jcanephora.core.JCGLResourceSizedType)
    - com.io7m.r2.core.R2AmbientOcclusionBufferType (also extends com.io7m.r2.core.R2AmbientOcclusionBufferUsableType, com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2AmbientOcclusionBufferUsableType
      - com.io7m.r2.core.R2AmbientOcclusionBufferType (also extends com.io7m.r2.core.R2RenderTargetType<D>)
    - com.io7m.r2.core.R2DepthOnlyBufferType (also extends com.io7m.r2.core.R2DepthOnlyBufferUsableType, 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.R2DepthVarianceBufferType (also extends com.io7m.r2.core.R2DepthVarianceBufferUsableType, 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.R2GeometryBufferType (also extends com.io7m.r2.core.R2GeometryBufferUsableType, 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.R2ImageBufferType (also extends com.io7m.r2.core.R2ImageBufferUsableType, 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.R2LightBufferDiffuseOnlyUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType, com.io7m.r2.core.R2LightBufferWithDiffuseUsableType)
    - com.io7m.r2.core.R2LightBufferDiffuseSpecularUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType, com.io7m.r2.core.R2LightBufferWithDiffuseUsableType, com.io7m.r2.core.R2LightBufferWithSpecularUsableType)
    - com.io7m.r2.core.R2LightBufferSpecularOnlyUsableType (also extends com.io7m.r2.core.R2LightBufferUsableType, com.io7m.r2.core.R2LightBufferWithSpecularUsableType)
    - com.io7m.r2.core.R2LightBufferType (also extends com.io7m.r2.core.R2LightBufferUsableType, 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.R2MaskBufferType (also extends com.io7m.r2.core.R2MaskBufferUsableType, 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.shaders.types.R2ShaderDepthBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderLightSingleUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderScreenUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
          - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderScreenUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderScreenUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderTranslucentUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderType<M> (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.shaders.types.R2ShaderUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderScreenUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>)
  - com.io7m.r2.core.shaders.types.R2ShaderUsableType<M>
    - com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightSingleUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
          - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderScreenUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleUsableType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>
          - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
          - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
          - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
            - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
          - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
          - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>)
          - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
          - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderScreenUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderScreenUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderTranslucentUsableType<M>
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
    - com.io7m.r2.core.shaders.types.R2ShaderType<M> (also extends com.io7m.r2.core.R2DeletableType)
      - com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthBatchedUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceBatchedUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceBillboardedUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleScreenUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderInstanceSingleUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderDepthSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderDepthSingleUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightSingleUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderScreenType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightVolumeSingleUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightProjectiveWithShadowUsableType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderScreenType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderScreenUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderFilterType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderFilterUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderLightScreenSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderLightSingleType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>, com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>)
      - com.io7m.r2.core.shaders.types.R2ShaderTranslucentType<M>
        - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBatchedUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceBillboardedUsableType<M>)
        - com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleType<M> (also extends com.io7m.r2.core.shaders.types.R2ShaderTranslucentInstanceSingleUsableType<M>)
  - com.io7m.r2.core.R2ShadowMapRendererType
  - com.io7m.r2.core.R2StencilRendererType
  - com.io7m.r2.core.R2Texture2DStaticType
  - com.io7m.r2.core.R2Texture2DType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2Texture2DUsableType)
    - com.io7m.r2.core.R2Texture2DStaticType
  - com.io7m.r2.core.R2Texture2DUsableType
    - com.io7m.r2.core.R2Texture2DStaticType
    - com.io7m.r2.core.R2Texture2DType (also extends com.io7m.r2.core.R2DeletableType)
      - com.io7m.r2.core.R2Texture2DStaticType
  - com.io7m.r2.core.R2TextureCubeStaticType
  - com.io7m.r2.core.R2TextureCubeType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2TextureCubeUsableType)
    - com.io7m.r2.core.R2TextureCubeStaticType
  - com.io7m.r2.core.R2TextureCubeUsableType
    - com.io7m.r2.core.R2TextureCubeStaticType
    - com.io7m.r2.core.R2TextureCubeType (also extends com.io7m.r2.core.R2DeletableType)
      - com.io7m.r2.core.R2TextureCubeStaticType
  - com.io7m.r2.core.R2TextureDefaultsType
  - com.io7m.r2.core.R2TextureUsableType
    - com.io7m.r2.core.R2Texture2DStaticType
    - com.io7m.r2.core.R2Texture2DType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2Texture2DUsableType)
      - com.io7m.r2.core.R2Texture2DStaticType
    - com.io7m.r2.core.R2Texture2DUsableType
      - com.io7m.r2.core.R2Texture2DStaticType
      - com.io7m.r2.core.R2Texture2DType (also extends com.io7m.r2.core.R2DeletableType)
        - com.io7m.r2.core.R2Texture2DStaticType
    - com.io7m.r2.core.R2TextureCubeStaticType
    - com.io7m.r2.core.R2TextureCubeType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2TextureCubeUsableType)
      - com.io7m.r2.core.R2TextureCubeStaticType
    - com.io7m.r2.core.R2TextureCubeUsableType
      - com.io7m.r2.core.R2TextureCubeStaticType
      - com.io7m.r2.core.R2TextureCubeType (also extends com.io7m.r2.core.R2DeletableType)
        - com.io7m.r2.core.R2TextureCubeStaticType
  - com.io7m.r2.core.R2TranslucentRendererType
  - com.io7m.r2.core.R2UnitCubeType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2UnitSphereUsableType)
  - com.io7m.r2.core.R2UnitCubeUsableType (also extends com.io7m.jcanephora.core.JCGLResourceSizedType)
  - com.io7m.r2.core.R2UnitQuadType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2UnitQuadUsableType)
  - 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.R2UnitSphereType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2UnitSphereUsableType)
  - 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.jpra.runtime.java.JPRAValueType
  - com.io7m.r2.meshes.binary.r2mb.R2MBHeaderReadableType
    - com.io7m.r2.meshes.binary.r2mb.R2MBHeaderType (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.meshes.binary.r2mb.R2MBHeaderWritableType)
  - com.io7m.r2.meshes.binary.r2mb.R2MBHeaderType (also extends com.io7m.r2.meshes.binary.r2mb.R2MBHeaderReadableType, com.io7m.r2.meshes.binary.r2mb.R2MBHeaderWritableType)
  - com.io7m.r2.meshes.binary.r2mb.R2MBHeaderWritableType
    - com.io7m.r2.meshes.binary.r2mb.R2MBHeaderType (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.meshes.binary.r2mb.R2MBHeaderReadableType)
  - com.io7m.r2.meshes.binary.r2mb.R2MBTriangleReadableType
    - com.io7m.r2.meshes.binary.r2mb.R2MBTriangleType (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.meshes.binary.r2mb.R2MBTriangleWritableType)
  - com.io7m.r2.meshes.binary.r2mb.R2MBTriangleType (also extends com.io7m.r2.meshes.binary.r2mb.R2MBTriangleReadableType, com.io7m.r2.meshes.binary.r2mb.R2MBTriangleWritableType)
  - com.io7m.r2.meshes.binary.r2mb.R2MBTriangleWritableType
    - com.io7m.r2.meshes.binary.r2mb.R2MBTriangleType (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.meshes.binary.r2mb.R2MBTriangleReadableType)
  - com.io7m.r2.meshes.binary.r2mb.R2MBVertexReadableType
    - com.io7m.r2.meshes.binary.r2mb.R2MBVertexType (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.meshes.binary.r2mb.R2MBVertexWritableType)
  - com.io7m.r2.meshes.binary.r2mb.R2MBVertexType (also extends com.io7m.r2.meshes.binary.r2mb.R2MBVertexReadableType, com.io7m.r2.meshes.binary.r2mb.R2MBVertexWritableType)
  - com.io7m.r2.meshes.binary.r2mb.R2MBVertexWritableType
    - com.io7m.r2.meshes.binary.r2mb.R2MBVertexType (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.meshes.binary.r2mb.R2MBVertexReadableType)
  - com.io7m.r2.core.cursors.R2RGBA8ReadableType
    - com.io7m.r2.core.cursors.R2RGBA8Type (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.core.cursors.R2RGBA8WritableType)
  - com.io7m.r2.core.cursors.R2RGBA8Type (also extends com.io7m.r2.core.cursors.R2RGBA8ReadableType, com.io7m.r2.core.cursors.R2RGBA8WritableType)
  - com.io7m.r2.core.cursors.R2RGBA8WritableType
    - com.io7m.r2.core.cursors.R2RGBA8Type (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.core.cursors.R2RGBA8ReadableType)
  - com.io7m.r2.core.cursors.R2VertexP16ReadableType
    - com.io7m.r2.core.cursors.R2VertexP16Type (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.core.cursors.R2VertexP16WritableType)
  - com.io7m.r2.core.cursors.R2VertexP16Type (also extends com.io7m.r2.core.cursors.R2VertexP16ReadableType, com.io7m.r2.core.cursors.R2VertexP16WritableType)
  - com.io7m.r2.core.cursors.R2VertexP16WritableType
    - com.io7m.r2.core.cursors.R2VertexP16Type (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.core.cursors.R2VertexP16ReadableType)
  - com.io7m.r2.core.cursors.R2VertexP32RGBA8ReadableType
    - com.io7m.r2.core.cursors.R2VertexP32RGBA8Type (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.core.cursors.R2VertexP32RGBA8WritableType)
  - com.io7m.r2.core.cursors.R2VertexP32RGBA8Type (also extends com.io7m.r2.core.cursors.R2VertexP32RGBA8ReadableType, com.io7m.r2.core.cursors.R2VertexP32RGBA8WritableType)
  - com.io7m.r2.core.cursors.R2VertexP32RGBA8WritableType
    - com.io7m.r2.core.cursors.R2VertexP32RGBA8Type (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.core.cursors.R2VertexP32RGBA8ReadableType)
  - com.io7m.r2.core.cursors.R2VertexP32UNT16ReadableType
    - com.io7m.r2.core.cursors.R2VertexP32UNT16Type (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.core.cursors.R2VertexP32UNT16WritableType)
  - com.io7m.r2.core.cursors.R2VertexP32UNT16Type (also extends com.io7m.r2.core.cursors.R2VertexP32UNT16ReadableType, com.io7m.r2.core.cursors.R2VertexP32UNT16WritableType)
  - com.io7m.r2.core.cursors.R2VertexP32UNT16WritableType
    - com.io7m.r2.core.cursors.R2VertexP32UNT16Type (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.core.cursors.R2VertexP32UNT16ReadableType)
  - com.io7m.r2.core.cursors.R2VertexPU32ReadableType
    - com.io7m.r2.core.cursors.R2VertexPU32Type (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.core.cursors.R2VertexPU32WritableType)
  - com.io7m.r2.core.cursors.R2VertexPU32Type (also extends com.io7m.r2.core.cursors.R2VertexPU32ReadableType, com.io7m.r2.core.cursors.R2VertexPU32WritableType)
  - com.io7m.r2.core.cursors.R2VertexPU32WritableType
    - com.io7m.r2.core.cursors.R2VertexPU32Type (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.core.cursors.R2VertexPU32ReadableType)
  - com.io7m.r2.core.cursors.R2VertexPUNT16ReadableType
    - com.io7m.r2.core.cursors.R2VertexPUNT16Type (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.core.cursors.R2VertexPUNT16WritableType)
  - com.io7m.r2.core.cursors.R2VertexPUNT16Type (also extends com.io7m.r2.core.cursors.R2VertexPUNT16ReadableType, com.io7m.r2.core.cursors.R2VertexPUNT16WritableType)
  - com.io7m.r2.core.cursors.R2VertexPUNT16WritableType
    - com.io7m.r2.core.cursors.R2VertexPUNT16Type (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.core.cursors.R2VertexPUNT16ReadableType)
  - com.io7m.r2.core.cursors.R2VertexPUNT32ReadableType
    - com.io7m.r2.core.cursors.R2VertexPUNT32Type (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.core.cursors.R2VertexPUNT32WritableType)
  - com.io7m.r2.core.cursors.R2VertexPUNT32Type (also extends com.io7m.r2.core.cursors.R2VertexPUNT32ReadableType, com.io7m.r2.core.cursors.R2VertexPUNT32WritableType)
  - com.io7m.r2.core.cursors.R2VertexPUNT32WritableType
    - com.io7m.r2.core.cursors.R2VertexPUNT32Type (also extends com.io7m.jpra.runtime.java.JPRAValueType, com.io7m.r2.core.cursors.R2VertexPUNT32ReadableType)
- com.io7m.r2.filters.R2BilateralBlurParametersType
- com.io7m.r2.filters.R2BlurParametersType
- com.io7m.r2.core.debug.R2DebugCubeInstanceType
- com.io7m.r2.core.debug.R2DebugInstanceSingleType
- com.io7m.r2.core.debug.R2DebugInstancesType
- com.io7m.r2.core.debug.R2DebugLineSegmentType
- com.io7m.r2.core.debug.R2DebugVisualizerRendererParametersType
- 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.shaders.provided.R2DepthShaderBasicParametersValuesType
  - com.io7m.r2.core.shaders.provided.R2DepthShaderBasicParametersType
  - com.io7m.r2.core.shaders.provided.R2DepthShaderBasicStippledParametersType
- com.io7m.r2.meshes.R2ErrorConsumerType
  - com.io7m.r2.meshes.arrayobject.R2MeshArrayObjectSynchronousAdapterType
  - com.io7m.r2.meshes.R2MeshParserInterleavedListenerType
    - com.io7m.r2.meshes.arrayobject.R2MeshArrayObjectSynchronousAdapterType
    - com.io7m.r2.meshes.R2MeshTangentsAdapterType
  - com.io7m.r2.meshes.R2MeshTangentsAdapterType
- com.io7m.r2.filters.R2FilterBilateralBlurDepthAwareParametersType<SD,S,DD,D>
- com.io7m.r2.filters.R2FilterBoxBlurParametersType<SD,S,DD,D>
- com.io7m.r2.filters.R2FilterCompositorBlendingType
- com.io7m.r2.filters.R2FilterCompositorItemType
- com.io7m.r2.filters.R2FilterCompositorParametersType
- com.io7m.r2.filters.R2FilterDebugEyePositionParametersType
- com.io7m.r2.filters.R2FilterDebugEyeZParametersType
- com.io7m.r2.filters.R2FilterEmissionParametersType
- com.io7m.r2.filters.R2FilterFogParametersType
- com.io7m.r2.filters.R2FilterFXAAParametersType
- com.io7m.r2.filters.R2FilterLightApplicatorParametersType
- com.io7m.r2.filters.R2FilterOcclusionApplicatorParametersType
- com.io7m.r2.filters.R2FilterSSAOParametersType
- 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.R2InstanceBatchedDynamicType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2InstanceBatchedType)
  - com.io7m.r2.core.R2InstanceBatchedType
    - com.io7m.r2.core.R2InstanceBatchedDynamicType (also extends com.io7m.r2.core.R2DeletableType)
  - com.io7m.r2.core.R2InstanceBillboardedDynamicType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2InstanceBillboardedType)
  - 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.R2LightProjectiveReadableType
    - 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.R2LightProjectiveWithShadowVarianceType
    - 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
  - 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.R2LightProjectiveWithShadowVarianceType
  - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
    - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - 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.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
  - com.io7m.r2.core.R2LightProjectiveWithShadowReadableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
  - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
    - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
  - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
  - com.io7m.r2.core.R2LightProjectiveWithShadowWritableType (also extends com.io7m.r2.core.R2LightProjectiveWritableType, 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.R2LightProjectiveWithShadowVarianceType
  - com.io7m.r2.core.R2LightScreenSingleType
  - com.io7m.r2.core.R2LightSingleReadableType
    - com.io7m.r2.core.R2LightProjectiveReadableType
      - 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.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - 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.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
    - com.io7m.r2.core.R2LightProjectiveWithShadowReadableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowWritableType (also extends com.io7m.r2.core.R2LightProjectiveWritableType, 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightScreenSingleType
    - com.io7m.r2.core.R2LightSingleType (also extends com.io7m.r2.core.R2LightSingleWritableType)
      - 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowReadableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowWritableType (also extends com.io7m.r2.core.R2LightProjectiveWritableType, 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightScreenSingleType
      - com.io7m.r2.core.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, com.io7m.r2.core.R2LightSphericalSingleWritableType, com.io7m.r2.core.R2LightVolumeSingleType)
      - com.io7m.r2.core.R2LightVolumeSingleType (also extends com.io7m.r2.core.R2LightVolumeSingleReadableType, com.io7m.r2.core.R2LightVolumeSingleWritableType)
        - 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.R2LightProjectiveWithShadowVarianceType
        - 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.R2LightProjectiveWithShadowVarianceType
          - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
            - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - 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.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightSphericalSingleReadableType (also extends com.io7m.r2.core.R2LightSphericalReadableType, 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.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, com.io7m.r2.core.R2LightSphericalSingleWritableType, com.io7m.r2.core.R2LightVolumeSingleType)
    - com.io7m.r2.core.R2LightVolumeSingleReadableType
      - com.io7m.r2.core.R2LightProjectiveReadableType
        - 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.R2LightProjectiveWithShadowVarianceType
        - 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.R2LightProjectiveWithShadowVarianceType
          - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
            - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
          - 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.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, 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.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - 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.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowReadableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, 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.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.R2LightProjectiveWithShadowVarianceType
        - 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.R2LightProjectiveWithShadowVarianceType
          - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
            - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - 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.R2LightVolumeSingleType (also extends com.io7m.r2.core.R2LightSingleType, com.io7m.r2.core.R2LightVolumeSingleReadableType, com.io7m.r2.core.R2LightVolumeSingleWritableType)
      - 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.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
  - com.io7m.r2.core.R2LightSingleType (also extends com.io7m.r2.core.R2LightSingleReadableType, com.io7m.r2.core.R2LightSingleWritableType)
    - 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
    - com.io7m.r2.core.R2LightProjectiveWithShadowReadableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowWritableType (also extends com.io7m.r2.core.R2LightProjectiveWritableType, 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightScreenSingleType
    - com.io7m.r2.core.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, com.io7m.r2.core.R2LightSphericalSingleWritableType, com.io7m.r2.core.R2LightVolumeSingleType)
    - com.io7m.r2.core.R2LightVolumeSingleType (also extends com.io7m.r2.core.R2LightVolumeSingleReadableType, com.io7m.r2.core.R2LightVolumeSingleWritableType)
      - 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.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
  - 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.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, 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.R2LightSphericalSingleReadableType (also extends com.io7m.r2.core.R2LightSphericalReadableType, 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.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, com.io7m.r2.core.R2LightSphericalSingleWritableType, com.io7m.r2.core.R2LightVolumeSingleType)
  - com.io7m.r2.core.R2LightSphericalType (also extends com.io7m.r2.core.R2LightSphericalReadableType, 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.R2LightVolumeSingleReadableType
    - com.io7m.r2.core.R2LightProjectiveReadableType
      - 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.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - 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.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
    - com.io7m.r2.core.R2LightProjectiveWithShadowReadableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - 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.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, 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.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.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightVolumeSingleType (also extends com.io7m.r2.core.R2LightSingleType, com.io7m.r2.core.R2LightVolumeSingleReadableType, com.io7m.r2.core.R2LightVolumeSingleWritableType)
    - 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.R2LightProjectiveWithShadowVarianceType
    - 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
    - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - 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.R2LightProjectiveWithShadowVarianceType
- com.io7m.r2.core.R2LightWritableType
  - 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.R2LightProjectiveWithShadowVarianceType
  - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
    - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
  - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
  - 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.R2LightProjectiveWithShadowReadableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
  - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
    - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
  - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
  - com.io7m.r2.core.R2LightProjectiveWithShadowWritableType (also extends com.io7m.r2.core.R2LightProjectiveWritableType, 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.R2LightProjectiveWithShadowVarianceType
  - 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.R2LightProjectiveWithShadowVarianceType
    - 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
    - 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.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - 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.R2LightProjectiveWithShadowVarianceType
  - com.io7m.r2.core.R2LightScreenSingleType
  - com.io7m.r2.core.R2LightSingleType (also extends com.io7m.r2.core.R2LightSingleReadableType, com.io7m.r2.core.R2LightSingleWritableType)
    - 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
    - com.io7m.r2.core.R2LightProjectiveWithShadowReadableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowWritableType (also extends com.io7m.r2.core.R2LightProjectiveWritableType, 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightScreenSingleType
    - com.io7m.r2.core.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, com.io7m.r2.core.R2LightSphericalSingleWritableType, com.io7m.r2.core.R2LightVolumeSingleType)
    - com.io7m.r2.core.R2LightVolumeSingleType (also extends com.io7m.r2.core.R2LightVolumeSingleReadableType, com.io7m.r2.core.R2LightVolumeSingleWritableType)
      - 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.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
  - com.io7m.r2.core.R2LightSingleWritableType
    - 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
    - com.io7m.r2.core.R2LightProjectiveWithShadowReadableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowWritableType (also extends com.io7m.r2.core.R2LightProjectiveWritableType, 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightScreenSingleType
    - com.io7m.r2.core.R2LightSingleType (also extends com.io7m.r2.core.R2LightSingleReadableType)
      - 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowReadableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowWritableType (also extends com.io7m.r2.core.R2LightProjectiveWritableType, 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightScreenSingleType
      - com.io7m.r2.core.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, com.io7m.r2.core.R2LightSphericalSingleWritableType, com.io7m.r2.core.R2LightVolumeSingleType)
      - com.io7m.r2.core.R2LightVolumeSingleType (also extends com.io7m.r2.core.R2LightVolumeSingleReadableType, com.io7m.r2.core.R2LightVolumeSingleWritableType)
        - 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.R2LightProjectiveWithShadowVarianceType
        - 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.R2LightProjectiveWithShadowVarianceType
          - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
            - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - 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.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, com.io7m.r2.core.R2LightSphericalSingleWritableType, com.io7m.r2.core.R2LightVolumeSingleType)
    - com.io7m.r2.core.R2LightSphericalSingleWritableType (also extends com.io7m.r2.core.R2LightSphericalWritableType, 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.R2LightVolumeSingleType (also extends com.io7m.r2.core.R2LightSingleType, com.io7m.r2.core.R2LightVolumeSingleReadableType, com.io7m.r2.core.R2LightVolumeSingleWritableType)
      - 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.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightVolumeSingleWritableType
      - 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightVolumeSingleType)
      - 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.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.R2LightProjectiveWithShadowVarianceType
        - 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.R2LightProjectiveWithShadowVarianceType
          - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
            - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
  - com.io7m.r2.core.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, com.io7m.r2.core.R2LightSphericalSingleWritableType, com.io7m.r2.core.R2LightVolumeSingleType)
  - com.io7m.r2.core.R2LightSphericalSingleWritableType (also extends com.io7m.r2.core.R2LightSphericalWritableType, 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.R2LightSphericalWritableType, com.io7m.r2.core.R2LightType)
  - com.io7m.r2.core.R2LightSphericalWritableType
    - com.io7m.r2.core.R2LightSphericalSingleType (also extends com.io7m.r2.core.R2LightSphericalSingleReadableType, com.io7m.r2.core.R2LightSphericalSingleWritableType, com.io7m.r2.core.R2LightVolumeSingleType)
    - 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.R2LightVolumeSingleType (also extends com.io7m.r2.core.R2LightSingleType, com.io7m.r2.core.R2LightVolumeSingleReadableType, com.io7m.r2.core.R2LightVolumeSingleWritableType)
    - 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.R2LightProjectiveWithShadowVarianceType
    - 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
    - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - 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.R2LightVolumeSingleWritableType
    - 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveUsableType (also extends com.io7m.r2.core.R2LightProjectiveReadableType, 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.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
    - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - 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.R2LightVolumeSingleType)
    - 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.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.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
          - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - com.io7m.r2.core.R2LightProjectiveWithoutShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithoutShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithoutShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
        - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
      - 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.R2LightProjectiveWithShadowVarianceType
    - com.io7m.r2.core.R2LightProjectiveWithShadowType (also extends com.io7m.r2.core.R2LightProjectiveType, com.io7m.r2.core.R2LightProjectiveWithShadowReadableType, com.io7m.r2.core.R2LightProjectiveWithShadowWritableType)
      - com.io7m.r2.core.R2LightProjectiveWithShadowVarianceType
    - 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.R2LightProjectiveWithShadowVarianceType
- 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.R2MatricesObserverType
  - com.io7m.r2.core.R2MatricesObserverValuesType
    - com.io7m.r2.core.R2MatricesObserverType
  - com.io7m.r2.core.R2MatricesType
- com.io7m.r2.core.R2MatricesVolumeLightValuesType
  - com.io7m.r2.core.R2MatricesProjectiveLightType
  - com.io7m.r2.core.R2MatricesProjectiveLightValuesType
    - com.io7m.r2.core.R2MatricesProjectiveLightType
  - com.io7m.r2.core.R2MatricesVolumeLightType
- com.io7m.r2.meshes.R2MeshBasicBuilderType
- com.io7m.r2.meshes.R2MeshBasicVertexType
- com.io7m.r2.meshes.tools.R2MeshConverterListenerType
- com.io7m.r2.meshes.tools.R2MeshConverterType
- com.io7m.r2.meshes.R2MeshTangentsBuilderType
- com.io7m.r2.meshes.R2MeshTangentsVertexType
- com.io7m.r2.meshes.R2MeshTriangleType
- com.io7m.r2.meshes.R2MeshType
  - com.io7m.r2.meshes.R2MeshBasicType
  - com.io7m.r2.meshes.R2MeshTangentsType
- com.io7m.r2.meshes.obj.R2ObjMeshErrorListenerType
- com.io7m.r2.meshes.obj.R2ObjMeshImporterType
- com.io7m.r2.core.R2ProjectionMeshReadableType
  - com.io7m.r2.core.R2ProjectionMeshType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2ProjectionMeshUsableType)
  - 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.R2ProjectionMeshType (also extends com.io7m.r2.core.R2DeletableType, com.io7m.r2.core.R2ProjectionMeshUsableType)
  - 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.shaders.provided.R2RefractionMaskedDeltaParametersType
- 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.filters.R2ShaderFilterBilateralBlurDepthAwareParametersType
- com.io7m.r2.filters.R2ShaderFilterBoxBlurParametersType
- com.io7m.r2.filters.R2ShaderFilterEmissionParametersType
- com.io7m.r2.filters.R2ShaderFilterFogParametersType
- com.io7m.r2.filters.R2ShaderFilterFXAAParametersType
- com.io7m.r2.filters.R2ShaderFilterLightApplicatorParametersType
- com.io7m.r2.filters.R2ShaderFilterOcclusionApplicatorParametersType
- com.io7m.r2.filters.R2ShaderFilterTextureShowParametersType
- com.io7m.r2.core.shaders.types.R2ShaderParametersFilterType<M>
- com.io7m.r2.core.shaders.types.R2ShaderParametersLightType<M>
- com.io7m.r2.core.shaders.types.R2ShaderParametersMaterialType<M>
- com.io7m.r2.core.shaders.types.R2ShaderParametersViewType
- com.io7m.r2.core.shaders.types.R2ShaderPreprocessingEnvironmentReadableType
  - com.io7m.r2.core.shaders.types.R2ShaderPreprocessingEnvironmentType
- com.io7m.r2.filters.R2ShaderSSAOParametersType
- 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.spaces.R2SpaceType
  - com.io7m.r2.spaces.R2SpaceClipType
  - com.io7m.r2.spaces.R2SpaceEyeType
  - com.io7m.r2.spaces.R2SpaceLightClipType
  - com.io7m.r2.spaces.R2SpaceLightEyeType
  - com.io7m.r2.spaces.R2SpaceNormalEyeType
  - com.io7m.r2.spaces.R2SpaceObjectType
  - com.io7m.r2.spaces.R2SpaceRGBAType
  - com.io7m.r2.spaces.R2SpaceRGBType
  - com.io7m.r2.spaces.R2SpaceTextureType
  - com.io7m.r2.spaces.R2SpaceWorldType
- com.io7m.r2.filters.R2SSAOKernelReadableType
  - com.io7m.r2.filters.R2SSAOKernelType (also extends com.io7m.r2.filters.R2SSAOKernelWritableType)
- com.io7m.r2.filters.R2SSAOKernelWritableType
  - com.io7m.r2.filters.R2SSAOKernelType (also extends com.io7m.r2.filters.R2SSAOKernelReadableType)
- com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicParametersValuesType
  - com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicParametersType
  - com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicReflectiveParametersType
  - com.io7m.r2.core.shaders.provided.R2SurfaceShaderBasicStippledParametersType
- com.io7m.r2.core.R2TransformContextType
- com.io7m.r2.core.R2TransformReadableType
  - com.io7m.r2.core.R2TransformNonOrthogonalReadableType
  - 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.R2TransformOTType (also extends com.io7m.r2.core.R2TransformOTReadableType, com.io7m.r2.core.R2TransformType)
  - com.io7m.r2.core.R2TransformOTReadableType
    - com.io7m.r2.core.R2TransformOTType (also extends com.io7m.r2.core.R2TransformType)
  - com.io7m.r2.core.R2TransformOTType (also extends com.io7m.r2.core.R2TransformOTReadableType, com.io7m.r2.core.R2TransformType)
  - 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.R2TransformOTType (also extends com.io7m.r2.core.R2TransformOTReadableType, com.io7m.r2.core.R2TransformType)
    - com.io7m.r2.core.R2TransformOTReadableType
      - com.io7m.r2.core.R2TransformOTType (also extends com.io7m.r2.core.R2TransformType)
    - com.io7m.r2.core.R2TransformOTType (also extends com.io7m.r2.core.R2TransformOTReadableType, com.io7m.r2.core.R2TransformType)
- com.io7m.r2.core.shaders.provided.R2TranslucentShaderBasicParametersType
- 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.cursors.R2VertexCursorProducerInfoType
- com.io7m.r2.core.cursors.R2VertexCursorProducerType<T>
- com.io7m.r2.core.cursors.R2VertexCursorType
- com.io7m.r2.core.R2ViewRaysReadableType
  - com.io7m.r2.core.R2ViewRaysType
- com.io7m.r2.core.R2WatchableType<T>
- java.lang.Runnable
  - com.io7m.r2.meshes.binary.R2MBReaderType

## 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
    - com.io7m.r2.filters.R2FilterFogProgression
    - com.io7m.r2.filters.R2FilterFXAAQuality
    - com.io7m.r2.meshes.tools.R2MeshToolLogLevel
    - com.io7m.r2.meshes.tools.R2MeshFileFormat

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