com.io7m.r2.core.shaders.provided

## Class R2TranslucentShaderBasicParameters

- java.lang.Object
- - com.io7m.r2.core.shaders.provided.R2TranslucentShaderBasicParameters

- All Implemented Interfaces:
    R2TranslucentShaderBasicParametersType

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

  The type of parameters for the basic translucent shader.

- - ### Nested Class Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `com.io7m.jtensors.parameterized.PVectorI4F<R2SpaceRGBAType>` | `albedoColor()`
    `R2Texture2DUsableType` | `albedoTexture()` An albedo map which is used primarily used to determine the opacity of the shaded surface.
    `static R2TranslucentShaderBasicParameters.Builder` | `builder()` Creates a builder for `R2TranslucentShaderBasicParameters`.
    `static R2TranslucentShaderBasicParameters` | `copyOf(R2TranslucentShaderBasicParametersType instance)` Creates an immutable copy of a `R2TranslucentShaderBasicParametersType` value.
    `boolean` | `equals(Object another)` This instance is equal to all instances of `R2TranslucentShaderBasicParameters` that have equal attribute values.
    `float` | `fadeZFar()` A specification of the distance at which instances will be fully faded in.
    `float` | `fadeZNear()` A specification of the distance at which to begin fading in instances.
    `int` | `hashCode()` Computes a hash code from attributes: `textureDefaults`, `albedoTexture`, `albedoColor`, `fadeZNear`, `fadeZFar`.
    `static R2TranslucentShaderBasicParameters` | `of(R2TextureDefaultsType textureDefaults, R2Texture2DUsableType albedoTexture, com.io7m.jtensors.parameterized.PVectorI4F<R2SpaceRGBAType> albedoColor, float fadeZNear, float fadeZFar)` Construct a new immutable `R2TranslucentShaderBasicParameters` instance.
    `R2TextureDefaultsType` | `textureDefaults()`
    `String` | `toString()` Prints the immutable value `R2TranslucentShaderBasicParameters` with attribute values.
    `R2TranslucentShaderBasicParameters` | `withAlbedoColor(com.io7m.jtensors.parameterized.PVectorI4F<R2SpaceRGBAType> value)` Copy the current immutable object by setting a value for the `albedoColor` attribute.
    `R2TranslucentShaderBasicParameters` | `withAlbedoTexture(R2Texture2DUsableType value)` Copy the current immutable object by setting a value for the `albedoTexture` attribute.
    `R2TranslucentShaderBasicParameters` | `withFadeZFar(float value)` Copy the current immutable object by setting a value for the `fadeZFar` attribute.
    `R2TranslucentShaderBasicParameters` | `withFadeZNear(float value)` Copy the current immutable object by setting a value for the `fadeZNear` attribute.
    `R2TranslucentShaderBasicParameters` | `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 `R2TranslucentShaderBasicParametersType`
      Returns:
        A reference to the default textures

    - #### albedoTexture

          public R2Texture2DUsableType albedoTexture()

      An albedo map which is used primarily used to determine the opacity of the shaded surface.

      Specified by:
        `albedoTexture` in interface `R2TranslucentShaderBasicParametersType`
      Returns:
        The albedo texture for the surface

    - #### albedoColor

          public com.io7m.jtensors.parameterized.PVectorI4F<R2SpaceRGBAType> albedoColor()

      Specified by:
        `albedoColor` in interface `R2TranslucentShaderBasicParametersType`
      Returns:
        A color value by which to multiply the final refracted image

    - #### fadeZNear

          public float fadeZNear()

      A specification of the distance at which to begin fading in instances. This allows instances to quickly fade out when they get too close to the view plane.

      Specified by:
        `fadeZNear` in interface `R2TranslucentShaderBasicParametersType`
      Returns:
        The positive eye-space Z distance at which to start fading in instances
      See Also:
        `fadeZFar()`

    - #### fadeZFar

          public float fadeZFar()

      A specification of the distance at which instances will be fully faded in.
      Specified by:
        `fadeZFar` in interface `R2TranslucentShaderBasicParametersType`
      Returns:
        The positive eye-space Z distance at which instances are fully faded in
      See Also:
        `fadeZNear()`

    - #### withTextureDefaults

          public final R2TranslucentShaderBasicParameters 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

    - #### withAlbedoTexture

          public final R2TranslucentShaderBasicParameters withAlbedoTexture(R2Texture2DUsableType value)

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

    - #### withAlbedoColor

          public final R2TranslucentShaderBasicParameters withAlbedoColor(com.io7m.jtensors.parameterized.PVectorI4F<R2SpaceRGBAType> value)

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

    - #### withFadeZNear

          public final R2TranslucentShaderBasicParameters withFadeZNear(float value)

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

    - #### withFadeZFar

          public final R2TranslucentShaderBasicParameters withFadeZFar(float value)

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

    - #### equals

          public boolean equals(Object another)

      This instance is equal to all instances of `R2TranslucentShaderBasicParameters` 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`, `albedoTexture`, `albedoColor`, `fadeZNear`, `fadeZFar`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        hashCode value

    - #### toString

          public String toString()

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

    - #### of

          public static R2TranslucentShaderBasicParameters of(R2TextureDefaultsType textureDefaults,
                                                              R2Texture2DUsableType albedoTexture,
                                                              com.io7m.jtensors.parameterized.PVectorI4F<R2SpaceRGBAType> albedoColor,
                                                              float fadeZNear,
                                                              float fadeZFar)

      Construct a new immutable `R2TranslucentShaderBasicParameters` instance.
      Parameters:
        `textureDefaults` - The value for the `textureDefaults` attribute
        `albedoTexture` - The value for the `albedoTexture` attribute
        `albedoColor` - The value for the `albedoColor` attribute
        `fadeZNear` - The value for the `fadeZNear` attribute
        `fadeZFar` - The value for the `fadeZFar` attribute
      Returns:
        An immutable R2TranslucentShaderBasicParameters instance

    - #### copyOf

          public static R2TranslucentShaderBasicParameters copyOf(R2TranslucentShaderBasicParametersType instance)

      Creates an immutable copy of a `R2TranslucentShaderBasicParametersType` 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 R2TranslucentShaderBasicParameters instance

    - #### builder

          public static R2TranslucentShaderBasicParameters.Builder builder()

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

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