com.io7m.r2.core

## Interface R2ShadowType

- All Known Subinterfaces:
    R2ShadowDepthVarianceType
  All Known Implementing Classes:
    R2ShadowDepthVariance

      public interface R2ShadowType

  The type of shadows.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `<A,B,E extends Throwable> B` | `matchShadow(A context, com.io7m.jfunctional.PartialBiFunctionType<A,R2ShadowDepthVarianceType,B,E> on_variance)` Match on the type of light.
    `default float` | `minimumFactor()` The level to which the shadow is allowed to attenuate light.
    `long` | `shadowID()`

- - ### Method Detail

    - #### shadowID

          long shadowID()

      Returns:
        The unique shadow ID

    - #### minimumFactor

          default float minimumFactor()

      The level to which the shadow is allowed to attenuate light. A value of `n` means that if a point is in shadow, the light intensity will be attenuated down to `n`.
      Returns:
        The minimum shadow factor

    - #### matchShadow

          <A,B,E extends Throwable> B matchShadow(A context,
                                                  com.io7m.jfunctional.PartialBiFunctionType<A,R2ShadowDepthVarianceType,B,E> on_variance)
                                           throws E extends Throwable

      Match on the type of light.
      Type Parameters:
        `A` - The type of context values
        `B` - The type of returned values
        `E` - The type of raised exceptions
      Parameters:
        `context` - A context value
        `on_variance` - Evaluated for variance shadows
      Returns:
        A value of type `B`
      Throws:
        `E` - If any of the given functions raise `E`
        `E extends Throwable`

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