com.io7m.r2.filters

## Class R2FilterEmissionParameters

- java.lang.Object
- - com.io7m.r2.filters.R2FilterEmissionParameters

- All Implemented Interfaces:
    R2FilterEmissionParametersType

      @Generated(value={"Immutables.generator","R2FilterEmissionParametersType"})
      public final class R2FilterEmissionParameters
      extends Object
      implements R2FilterEmissionParametersType

  The type of parameters for emission filters.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `R2FilterEmissionParameters.Builder` Builds instances of type `R2FilterEmissionParameters`.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `R2Texture2DUsableType` | `albedoEmissionMap()`
    `Optional<R2BlurParameters>` | `blurParameters()`
    `static R2FilterEmissionParameters.Builder` | `builder()` Creates a builder for `R2FilterEmissionParameters`.
    `static R2FilterEmissionParameters` | `copyOf(R2FilterEmissionParametersType instance)` Creates an immutable copy of a `R2FilterEmissionParametersType` value.
    `float` | `emissionIntensity()` A specification of an intensity value by which values sampled from the `albedoEmissionMap()` are multiplied.
    `boolean` | `equals(Object another)` This instance is equal to all instances of `R2FilterEmissionParameters` that have equal attribute values.
    `float` | `glowIntensity()` A specification of an intensity value by which values sampled from any produced glow maps are multiplied.
    `int` | `hashCode()` Computes a hash code from attributes: `textureDefaults`, `outputFramebuffer`, `outputViewport`, `albedoEmissionMap`, `emissionIntensity`, `glowIntensity`, `blurParameters`, `scale`.
    `static R2FilterEmissionParameters` | `of(R2TextureDefaultsType textureDefaults, Optional<com.io7m.jcanephora.core.JCGLFramebufferUsableType> outputFramebuffer, com.io7m.jareas.core.AreaInclusiveUnsignedLType outputViewport, R2Texture2DUsableType albedoEmissionMap, float emissionIntensity, float glowIntensity, Optional<R2BlurParameters> blurParameters, float scale)` Construct a new immutable `R2FilterEmissionParameters` instance.
    `Optional<com.io7m.jcanephora.core.JCGLFramebufferUsableType>` | `outputFramebuffer()`
    `com.io7m.jareas.core.AreaInclusiveUnsignedLType` | `outputViewport()`
    `float` | `scale()` If blurring is to be used, the value returned here specifies the scale at which the intermediate emissive step is rendered.
    `R2TextureDefaultsType` | `textureDefaults()`
    `String` | `toString()` Prints the immutable value `R2FilterEmissionParameters` with attribute values.
    `R2FilterEmissionParameters` | `withAlbedoEmissionMap(R2Texture2DUsableType value)` Copy the current immutable object by setting a value for the `albedoEmissionMap` attribute.
    `R2FilterEmissionParameters` | `withBlurParameters(Optional<R2BlurParameters> optional)` Copy the current immutable object by setting an optional value for the `blurParameters` attribute.
    `R2FilterEmissionParameters` | `withBlurParameters(R2BlurParameters value)` Copy the current immutable object by setting a present value for the optional `blurParameters` attribute.
    `R2FilterEmissionParameters` | `withEmissionIntensity(float value)` Copy the current immutable object by setting a value for the `emissionIntensity` attribute.
    `R2FilterEmissionParameters` | `withGlowIntensity(float value)` Copy the current immutable object by setting a value for the `glowIntensity` attribute.
    `R2FilterEmissionParameters` | `withOutputFramebuffer(com.io7m.jcanephora.core.JCGLFramebufferUsableType value)` Copy the current immutable object by setting a present value for the optional `outputFramebuffer` attribute.
    `R2FilterEmissionParameters` | `withOutputFramebuffer(Optional<com.io7m.jcanephora.core.JCGLFramebufferUsableType> optional)` Copy the current immutable object by setting an optional value for the `outputFramebuffer` attribute.
    `R2FilterEmissionParameters` | `withOutputViewport(com.io7m.jareas.core.AreaInclusiveUnsignedLType value)` Copy the current immutable object by setting a value for the `outputViewport` attribute.
    `R2FilterEmissionParameters` | `withScale(float value)` Copy the current immutable object by setting a value for the `scale` attribute.
    `R2FilterEmissionParameters` | `withTextureDefaults(R2TextureDefaultsType value)` Copy the current immutable object by setting a value for the `textureDefaults` attribute.

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### textureDefaults

          public R2TextureDefaultsType textureDefaults()

      Specified by:
        `textureDefaults` in interface `R2FilterEmissionParametersType`
      Returns:
        A reference to the default textures

    - #### outputFramebuffer

          public Optional<com.io7m.jcanephora.core.JCGLFramebufferUsableType> outputFramebuffer()

      Specified by:
        `outputFramebuffer` in interface `R2FilterEmissionParametersType`
      Returns:
        The framebuffer to which the output will be written. If no framebuffer is specified, the output will go to the default framebuffer.

    - #### outputViewport

          public com.io7m.jareas.core.AreaInclusiveUnsignedLType outputViewport()

      Specified by:
        `outputViewport` in interface `R2FilterEmissionParametersType`
      Returns:
        The viewport for the output framebuffer

    - #### albedoEmissionMap

          public R2Texture2DUsableType albedoEmissionMap()

      Specified by:
        `albedoEmissionMap` in interface `R2FilterEmissionParametersType`
      Returns:
        A texture with the surface albedo in the `(r, g, b)` components and the emission level in the alpha component.

    - #### emissionIntensity

          public float emissionIntensity()

      A specification of an intensity value by which values sampled from the `albedoEmissionMap()` are multiplied. This effectively allows control over the intensity of the emission effect in the final image.
      Specified by:
        `emissionIntensity` in interface `R2FilterEmissionParametersType`
      Returns:
        The intensity of the emissive sections of the image

    - #### glowIntensity

          public float glowIntensity()

      A specification of an intensity value by which values sampled from any produced glow maps are multiplied. This effectively allows control over the intensity of the glow effect in the final image.
      Specified by:
        `glowIntensity` in interface `R2FilterEmissionParametersType`
      Returns:
        The intensity of the glow sections of the image

    - #### blurParameters

          public Optional<R2BlurParameters> blurParameters()

      Specified by:
        `blurParameters` in interface `R2FilterEmissionParametersType`
      Returns:
        The blur parameters, if blurring is to be used

    - #### scale

          public float scale()

      If blurring is to be used, the value returned here specifies the scale at which the intermediate emissive step is rendered. If blurring is not going to be used, the emission image is simply blended into the existing framebuffer without any intermediate framebuffers, and therefore the scale value given here is ignored.
      Specified by:
        `scale` in interface `R2FilterEmissionParametersType`
      Returns:
        The scale to use for unblurred intermediate framebuffers

    - #### withTextureDefaults

          public final R2FilterEmissionParameters withTextureDefaults(R2TextureDefaultsType value)

      Copy the current immutable object by setting a value for the `textureDefaults` attribute. A shallow reference equality check is used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for textureDefaults
      Returns:
        A modified copy of the `this` object

    - #### withOutputFramebuffer

          public final R2FilterEmissionParameters withOutputFramebuffer(com.io7m.jcanephora.core.JCGLFramebufferUsableType value)

      Copy the current immutable object by setting a present value for the optional `outputFramebuffer` attribute.
      Parameters:
        `value` - The value for outputFramebuffer
      Returns:
        A modified copy of `this` object

    - #### withOutputFramebuffer

          public final R2FilterEmissionParameters withOutputFramebuffer(Optional<com.io7m.jcanephora.core.JCGLFramebufferUsableType> optional)

      Copy the current immutable object by setting an optional value for the `outputFramebuffer` attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning `this`.
      Parameters:
        `optional` - A value for outputFramebuffer
      Returns:
        A modified copy of `this` object

    - #### withOutputViewport

          public final R2FilterEmissionParameters withOutputViewport(com.io7m.jareas.core.AreaInclusiveUnsignedLType value)

      Copy the current immutable object by setting a value for the `outputViewport` attribute. A shallow reference equality check is used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for outputViewport
      Returns:
        A modified copy of the `this` object

    - #### withAlbedoEmissionMap

          public final R2FilterEmissionParameters withAlbedoEmissionMap(R2Texture2DUsableType value)

      Copy the current immutable object by setting a value for the `albedoEmissionMap` attribute. A shallow reference equality check is used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for albedoEmissionMap
      Returns:
        A modified copy of the `this` object

    - #### withEmissionIntensity

          public final R2FilterEmissionParameters withEmissionIntensity(float value)

      Copy the current immutable object by setting a value for the `emissionIntensity` attribute. A value strict bits equality used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for emissionIntensity
      Returns:
        A modified copy of the `this` object

    - #### withGlowIntensity

          public final R2FilterEmissionParameters withGlowIntensity(float value)

      Copy the current immutable object by setting a value for the `glowIntensity` attribute. A value strict bits equality used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for glowIntensity
      Returns:
        A modified copy of the `this` object

    - #### withBlurParameters

          public final R2FilterEmissionParameters withBlurParameters(R2BlurParameters value)

      Copy the current immutable object by setting a present value for the optional `blurParameters` attribute.
      Parameters:
        `value` - The value for blurParameters
      Returns:
        A modified copy of `this` object

    - #### withBlurParameters

          public final R2FilterEmissionParameters withBlurParameters(Optional<R2BlurParameters> optional)

      Copy the current immutable object by setting an optional value for the `blurParameters` attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning `this`.
      Parameters:
        `optional` - A value for blurParameters
      Returns:
        A modified copy of `this` object

    - #### withScale

          public final R2FilterEmissionParameters withScale(float value)

      Copy the current immutable object by setting a value for the `scale` attribute. A value strict bits equality used to prevent copying of the same value by returning `this`.
      Parameters:
        `value` - A new value for scale
      Returns:
        A modified copy of the `this` object

    - #### equals

          public boolean equals(Object another)

      This instance is equal to all instances of `R2FilterEmissionParameters` that have equal attribute values.
      Overrides:
        `equals` in class `Object`
      Returns:
        `true` if `this` is equal to `another` instance

    - #### hashCode

          public int hashCode()

      Computes a hash code from attributes: `textureDefaults`, `outputFramebuffer`, `outputViewport`, `albedoEmissionMap`, `emissionIntensity`, `glowIntensity`, `blurParameters`, `scale`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        hashCode value

    - #### toString

          public String toString()

      Prints the immutable value `R2FilterEmissionParameters` with attribute values.
      Overrides:
        `toString` in class `Object`
      Returns:
        A string representation of the value

    - #### of

          public static R2FilterEmissionParameters of(R2TextureDefaultsType textureDefaults,
                                                      Optional<com.io7m.jcanephora.core.JCGLFramebufferUsableType> outputFramebuffer,
                                                      com.io7m.jareas.core.AreaInclusiveUnsignedLType outputViewport,
                                                      R2Texture2DUsableType albedoEmissionMap,
                                                      float emissionIntensity,
                                                      float glowIntensity,
                                                      Optional<R2BlurParameters> blurParameters,
                                                      float scale)

      Construct a new immutable `R2FilterEmissionParameters` instance.
      Parameters:
        `textureDefaults` - The value for the `textureDefaults` attribute
        `outputFramebuffer` - The value for the `outputFramebuffer` attribute
        `outputViewport` - The value for the `outputViewport` attribute
        `albedoEmissionMap` - The value for the `albedoEmissionMap` attribute
        `emissionIntensity` - The value for the `emissionIntensity` attribute
        `glowIntensity` - The value for the `glowIntensity` attribute
        `blurParameters` - The value for the `blurParameters` attribute
        `scale` - The value for the `scale` attribute
      Returns:
        An immutable R2FilterEmissionParameters instance

    - #### copyOf

          public static R2FilterEmissionParameters copyOf(R2FilterEmissionParametersType instance)

      Creates an immutable copy of a `R2FilterEmissionParametersType` value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
      Parameters:
        `instance` - The instance to copy
      Returns:
        A copied immutable R2FilterEmissionParameters instance

    - #### builder

          public static R2FilterEmissionParameters.Builder builder()

      Creates a builder for `R2FilterEmissionParameters`.
      Returns:
        A new R2FilterEmissionParameters builder

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