com.io7m.r2.filters

## Class R2ShaderSSAOParameters

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

- All Implemented Interfaces:
    R2ShaderSSAOParametersType

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

  Parameters for the SSAO shader.

- - ### Nested Class Summary

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

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static R2ShaderSSAOParameters.Builder` | `builder()` Creates a builder for `R2ShaderSSAOParameters`.
    `static R2ShaderSSAOParameters` | `copyOf(R2ShaderSSAOParametersType instance)` Creates an immutable copy of a `R2ShaderSSAOParametersType` value.
    `boolean` | `equals(Object another)` This instance is equal to all instances of `R2ShaderSSAOParameters` that have equal attribute values.
    `float` | `exponent()` The exponent that will be used to modify the generated SSAO term.
    `R2GeometryBufferUsableType` | `geometryBuffer()`
    `int` | `hashCode()` Computes a hash code from attributes: `exponent`, `sampleRadius`, `kernel`, `noiseTexture`, `viewport`, `viewMatrices`, `geometryBuffer`.
    `R2SSAOKernelType` | `kernel()` The kernel that will be used for sampling.
    `R2Texture2DUsableType` | `noiseTexture()` The noise texture that will be used to rotate the sampling hemisphere randomly at each pixel.
    `static R2ShaderSSAOParameters` | `of(float exponent, float sampleRadius, R2SSAOKernelType kernel, R2Texture2DUsableType noiseTexture, com.io7m.jareas.core.AreaInclusiveUnsignedLType viewport, R2MatricesObserverValuesType viewMatrices, R2GeometryBufferUsableType geometryBuffer)` Construct a new immutable `R2ShaderSSAOParameters` instance.
    `float` | `sampleRadius()` The eye-space radius around the sampling point that will be searched for occluding surfaces.
    `String` | `toString()` Prints the immutable value `R2ShaderSSAOParameters` with attribute values.
    `R2MatricesObserverValuesType` | `viewMatrices()`
    `com.io7m.jareas.core.AreaInclusiveUnsignedLType` | `viewport()` The viewport of the ambient occlusion buffer to which occlusion terms are written.
    `R2ShaderSSAOParameters` | `withExponent(float value)` Copy the current immutable object by setting a value for the `exponent` attribute.
    `R2ShaderSSAOParameters` | `withGeometryBuffer(R2GeometryBufferUsableType value)` Copy the current immutable object by setting a value for the `geometryBuffer` attribute.
    `R2ShaderSSAOParameters` | `withKernel(R2SSAOKernelType value)` Copy the current immutable object by setting a value for the `kernel` attribute.
    `R2ShaderSSAOParameters` | `withNoiseTexture(R2Texture2DUsableType value)` Copy the current immutable object by setting a value for the `noiseTexture` attribute.
    `R2ShaderSSAOParameters` | `withSampleRadius(float value)` Copy the current immutable object by setting a value for the `sampleRadius` attribute.
    `R2ShaderSSAOParameters` | `withViewMatrices(R2MatricesObserverValuesType value)` Copy the current immutable object by setting a value for the `viewMatrices` attribute.
    `R2ShaderSSAOParameters` | `withViewport(com.io7m.jareas.core.AreaInclusiveUnsignedLType value)` Copy the current immutable object by setting a value for the `viewport` attribute.

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

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

- - ### Method Detail

    - #### exponent

          public float exponent()

      The exponent that will be used to modify the generated SSAO term. Higher exponents create occlusion with higher contrast.
      Specified by:
        `exponent` in interface `R2ShaderSSAOParametersType`
      Returns:
        The SSAO exponent

    - #### sampleRadius

          public float sampleRadius()

      The eye-space radius around the sampling point that will be searched for occluding surfaces. Larger radii will produce softer, more gradual ambient occlusion.
      Specified by:
        `sampleRadius` in interface `R2ShaderSSAOParametersType`
      Returns:
        The SSAO exponent

    - #### kernel

          public R2SSAOKernelType kernel()

      The kernel that will be used for sampling. Larger kernels produce more accurate occlusion terms but increase the cost of processing.
      Specified by:
        `kernel` in interface `R2ShaderSSAOParametersType`
      Returns:
        The sampling kernel

    - #### noiseTexture

          public R2Texture2DUsableType noiseTexture()

      The noise texture that will be used to rotate the sampling hemisphere randomly at each pixel.
      Specified by:
        `noiseTexture` in interface `R2ShaderSSAOParametersType`
      Returns:
        The noise texture

    - #### viewport

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

      The viewport of the ambient occlusion buffer to which occlusion terms are written.
      Specified by:
        `viewport` in interface `R2ShaderSSAOParametersType`
      Returns:
        The framebuffer viewport

    - #### viewMatrices

          public R2MatricesObserverValuesType viewMatrices()

      Specified by:
        `viewMatrices` in interface `R2ShaderSSAOParametersType`
      Returns:
        The matrices for the current view

    - #### geometryBuffer

          public R2GeometryBufferUsableType geometryBuffer()

      Specified by:
        `geometryBuffer` in interface `R2ShaderSSAOParametersType`
      Returns:
        The geometry buffer that will be sampled

    - #### withExponent

          public final R2ShaderSSAOParameters withExponent(float value)

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

    - #### withSampleRadius

          public final R2ShaderSSAOParameters withSampleRadius(float value)

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

    - #### withKernel

          public final R2ShaderSSAOParameters withKernel(R2SSAOKernelType value)

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

    - #### withNoiseTexture

          public final R2ShaderSSAOParameters withNoiseTexture(R2Texture2DUsableType value)

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

    - #### withViewport

          public final R2ShaderSSAOParameters withViewport(com.io7m.jareas.core.AreaInclusiveUnsignedLType value)

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

    - #### withViewMatrices

          public final R2ShaderSSAOParameters withViewMatrices(R2MatricesObserverValuesType value)

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

    - #### withGeometryBuffer

          public final R2ShaderSSAOParameters withGeometryBuffer(R2GeometryBufferUsableType value)

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

    - #### equals

          public boolean equals(Object another)

      This instance is equal to all instances of `R2ShaderSSAOParameters` 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: `exponent`, `sampleRadius`, `kernel`, `noiseTexture`, `viewport`, `viewMatrices`, `geometryBuffer`.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        hashCode value

    - #### toString

          public String toString()

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

    - #### of

          public static R2ShaderSSAOParameters of(float exponent,
                                                  float sampleRadius,
                                                  R2SSAOKernelType kernel,
                                                  R2Texture2DUsableType noiseTexture,
                                                  com.io7m.jareas.core.AreaInclusiveUnsignedLType viewport,
                                                  R2MatricesObserverValuesType viewMatrices,
                                                  R2GeometryBufferUsableType geometryBuffer)

      Construct a new immutable `R2ShaderSSAOParameters` instance.
      Parameters:
        `exponent` - The value for the `exponent` attribute
        `sampleRadius` - The value for the `sampleRadius` attribute
        `kernel` - The value for the `kernel` attribute
        `noiseTexture` - The value for the `noiseTexture` attribute
        `viewport` - The value for the `viewport` attribute
        `viewMatrices` - The value for the `viewMatrices` attribute
        `geometryBuffer` - The value for the `geometryBuffer` attribute
      Returns:
        An immutable R2ShaderSSAOParameters instance

    - #### copyOf

          public static R2ShaderSSAOParameters copyOf(R2ShaderSSAOParametersType instance)

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

    - #### builder

          public static R2ShaderSSAOParameters.Builder builder()

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

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