## Uses of Interface
com.io7m.r2.core.R2LightProjectiveReadableType

- Packages that use R2LightProjectiveReadableType
  Package | Description
  --- | ---
  com.io7m.r2.core | Core types and functions.
  com.io7m.r2.core.shaders.provided | Default provided shaders.
  com.io7m.r2.core.shaders.types | Shader types.

- - ### Uses of R2LightProjectiveReadableType in com.io7m.r2.core

    Subinterfaces of R2LightProjectiveReadableType in com.io7m.r2.core
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `R2LightProjectiveType` The type of projective lights.
    `interface` | `R2LightProjectiveUsableType` The type of usable (readable/writable but not deletable) projective lights.
    `interface` | `R2LightProjectiveWithoutShadowReadableType` The type of readable projective lights that do not have shadows.
    `interface` | `R2LightProjectiveWithoutShadowType` The type of projective lights that do not have shadows.
    `interface` | `R2LightProjectiveWithShadowReadableType` The type of readable projective lights.
    `interface` | `R2LightProjectiveWithShadowType` The type of projective lights that have shadows.
    `interface` | `R2LightProjectiveWithShadowVarianceType` The type of projective lights with variance shadows.

    Classes in com.io7m.r2.core that implement R2LightProjectiveReadableType
    Modifier and Type | Class and Description
    --- | ---
    `class` | `R2LightProjectiveWithoutShadow` Parameters for simple projective lights that operate by rendering frustum meshes.
    `class` | `R2LightProjectiveWithShadowVariance` Parameters for simple projective lights that operate by rendering frustum meshes and that have variance shadows.

    Methods in com.io7m.r2.core with parameters of type R2LightProjectiveReadableType
    Modifier and Type | Method and Description
    --- | ---
    `<A,B> B` | R2MatricesObserverType.`withProjectiveLight(R2LightProjectiveReadableType t, A x, BiFunction<R2MatricesProjectiveLightType,A,B> f)` Evaluate matrices for a given projective light, relative to the current observer.

    Method parameters in com.io7m.r2.core with type arguments of type R2LightProjectiveReadableType
    Modifier and Type | Method and Description
    --- | ---
    `<A,B,E extends Throwable> B` | R2LightVolumeSingleReadableType.`matchLightVolumeSingleReadable(A context, com.io7m.jfunctional.PartialBiFunctionType<A,R2LightProjectiveReadableType,B,E> on_projective, com.io7m.jfunctional.PartialBiFunctionType<A,R2LightSphericalSingleReadableType,B,E> on_spherical)` Match on the type of volume light.
    `default <A,B,E extends Throwable> B` | R2LightSphericalSingleReadableType.`matchLightVolumeSingleReadable(A context, com.io7m.jfunctional.PartialBiFunctionType<A,R2LightProjectiveReadableType,B,E> on_projective, com.io7m.jfunctional.PartialBiFunctionType<A,R2LightSphericalSingleReadableType,B,E> on_spherical)`
    `default <A,B,E extends Throwable> B` | R2LightProjectiveReadableType.`matchLightVolumeSingleReadable(A context, com.io7m.jfunctional.PartialBiFunctionType<A,R2LightProjectiveReadableType,B,E> on_projective, com.io7m.jfunctional.PartialBiFunctionType<A,R2LightSphericalSingleReadableType,B,E> on_spherical)`

  - ### Uses of R2LightProjectiveReadableType in com.io7m.r2.core.shaders.provided

    Methods in com.io7m.r2.core.shaders.provided that return types with arguments of type R2LightProjectiveReadableType
    Modifier and Type | Method and Description
    --- | ---
    `static R2ShaderLightProjectiveType<R2LightProjectiveReadableType>` | R2LightShaderProjectiveLambertSingle.`newShader(com.io7m.jcanephora.core.api.JCGLShadersType in_shaders, R2ShaderPreprocessingEnvironmentReadableType in_shader_env, R2IDPoolType in_pool)` Construct a new shader.
    `static R2ShaderLightProjectiveType<R2LightProjectiveReadableType>` | R2LightShaderProjectiveLambertBlinnPhongSingle.`newShader(com.io7m.jcanephora.core.api.JCGLShadersType in_shaders, R2ShaderPreprocessingEnvironmentReadableType in_shader_env, R2IDPoolType in_pool)` Construct a new shader.
    `Class<R2LightProjectiveReadableType>` | R2LightShaderProjectiveLambertSingle.`shaderParametersType()`
    `Class<R2LightProjectiveReadableType>` | R2LightShaderProjectiveLambertBlinnPhongSingle.`shaderParametersType()`

    Method parameters in com.io7m.r2.core.shaders.provided with type arguments of type R2LightProjectiveReadableType
    Modifier and Type | Method and Description
    --- | ---
    `void` | R2LightShaderProjectiveLambertSingle.`onReceiveValues(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g, R2ShaderParametersLightType<R2LightProjectiveReadableType> light_parameters)`
    `void` | R2LightShaderProjectiveLambertBlinnPhongSingle.`onReceiveValues(com.io7m.jcanephora.core.api.JCGLInterfaceGL33Type g, R2ShaderParametersLightType<R2LightProjectiveReadableType> light_parameters)`

  - ### Uses of R2LightProjectiveReadableType in com.io7m.r2.core.shaders.types

    Classes in com.io7m.r2.core.shaders.types with type parameters of type R2LightProjectiveReadableType
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `R2ShaderLightProjectiveType<M extends R2LightProjectiveReadableType>` The type of single-instance projective light shaders.
    `interface` | `R2ShaderLightProjectiveUsableType<M extends R2LightProjectiveReadableType>` The type of usable single-instance projective light shaders.
    `class` | `R2ShaderLightProjectiveVerifier<M extends R2LightProjectiveReadableType>` A verifier for projective light shaders; a type that verifies that a renderer has called all of the required methods in the correct order.

    Methods in com.io7m.r2.core.shaders.types with type parameters of type R2LightProjectiveReadableType
    Modifier and Type | Method and Description
    --- | ---
    `static <M extends R2LightProjectiveReadableType> R2ShaderLightProjectiveType<M>` | R2ShaderLightProjectiveVerifier.`newVerifier(R2ShaderLightProjectiveType<M> s)` Construct a new verifier for the given shader.

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