Class VulkanSamplerCreateInfo.Builder

java.lang.Object
com.io7m.jcoronado.api.VulkanSamplerCreateInfo.Builder
Enclosing class:
VulkanSamplerCreateInfo

public static final class VulkanSamplerCreateInfo.Builder extends Object
Builds instances of type VulkanSamplerCreateInfo. Initialize attributes and then invoke the build() method to create an immutable instance.

Builder is not thread-safe and generally should not be stored in a field or collection, but instead used immediately to create instances.

  • Method Details

    • from

      Fill a builder with attribute values from the provided VulkanSamplerCreateInfoType instance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values. Collection elements and entries will be added, not replaced.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • addFlags

      Adds one element to flags set.
      Parameters:
      element - A flags element
      Returns:
      this builder for use in a chained invocation
    • addFlags

      public final VulkanSamplerCreateInfo.Builder addFlags(VulkanSamplerCreateFlag... elements)
      Adds elements to flags set.
      Parameters:
      elements - An array of flags elements
      Returns:
      this builder for use in a chained invocation
    • setFlags

      Sets or replaces all elements for flags set.
      Parameters:
      elements - An iterable of flags elements
      Returns:
      this builder for use in a chained invocation
    • addAllFlags

      Adds elements to flags set.
      Parameters:
      elements - An iterable of flags elements
      Returns:
      this builder for use in a chained invocation
    • setMagFilter

      public final VulkanSamplerCreateInfo.Builder setMagFilter(VulkanFilter magFilter)
      Initializes the value for the magFilter attribute.

      If not set, this attribute will have a default value as returned by the initializer of magFilter.

      Parameters:
      magFilter - The value for magFilter
      Returns:
      this builder for use in a chained invocation
    • setMinFilter

      public final VulkanSamplerCreateInfo.Builder setMinFilter(VulkanFilter minFilter)
      Initializes the value for the minFilter attribute.

      If not set, this attribute will have a default value as returned by the initializer of minFilter.

      Parameters:
      minFilter - The value for minFilter
      Returns:
      this builder for use in a chained invocation
    • setMipmapMode

      public final VulkanSamplerCreateInfo.Builder setMipmapMode(VulkanSamplerMipmapMode mipmapMode)
      Initializes the value for the mipmapMode attribute.

      If not set, this attribute will have a default value as returned by the initializer of mipmapMode.

      Parameters:
      mipmapMode - The value for mipmapMode
      Returns:
      this builder for use in a chained invocation
    • setAddressModeU

      public final VulkanSamplerCreateInfo.Builder setAddressModeU(VulkanSamplerAddressMode addressModeU)
      Initializes the value for the addressModeU attribute.

      If not set, this attribute will have a default value as returned by the initializer of addressModeU.

      Parameters:
      addressModeU - The value for addressModeU
      Returns:
      this builder for use in a chained invocation
    • setAddressModeV

      public final VulkanSamplerCreateInfo.Builder setAddressModeV(VulkanSamplerAddressMode addressModeV)
      Initializes the value for the addressModeV attribute.

      If not set, this attribute will have a default value as returned by the initializer of addressModeV.

      Parameters:
      addressModeV - The value for addressModeV
      Returns:
      this builder for use in a chained invocation
    • setAddressModeW

      public final VulkanSamplerCreateInfo.Builder setAddressModeW(VulkanSamplerAddressMode addressModeW)
      Initializes the value for the addressModeW attribute.

      If not set, this attribute will have a default value as returned by the initializer of addressModeW.

      Parameters:
      addressModeW - The value for addressModeW
      Returns:
      this builder for use in a chained invocation
    • setMipLodBias

      public final VulkanSamplerCreateInfo.Builder setMipLodBias(float mipLodBias)
      Initializes the value for the mipLodBias attribute.

      If not set, this attribute will have a default value as returned by the initializer of mipLodBias.

      Parameters:
      mipLodBias - The value for mipLodBias
      Returns:
      this builder for use in a chained invocation
    • setMaxAnisotropy

      public final VulkanSamplerCreateInfo.Builder setMaxAnisotropy(double maxAnisotropy)
      Initializes the optional value maxAnisotropy to maxAnisotropy.
      Parameters:
      maxAnisotropy - The value for maxAnisotropy
      Returns:
      this builder for chained invocation
    • setMaxAnisotropy

      public final VulkanSamplerCreateInfo.Builder setMaxAnisotropy(OptionalDouble maxAnisotropy)
      Initializes the optional value maxAnisotropy to maxAnisotropy.
      Parameters:
      maxAnisotropy - The value for maxAnisotropy
      Returns:
      this builder for use in a chained invocation
    • setCompareOp

      public final VulkanSamplerCreateInfo.Builder setCompareOp(VulkanCompareOp compareOp)
      Initializes the optional value compareOp to compareOp.
      Parameters:
      compareOp - The value for compareOp
      Returns:
      this builder for chained invocation
    • setCompareOp

      public final VulkanSamplerCreateInfo.Builder setCompareOp(Optional<? extends VulkanCompareOp> compareOp)
      Initializes the optional value compareOp to compareOp.
      Parameters:
      compareOp - The value for compareOp
      Returns:
      this builder for use in a chained invocation
    • setMinLod

      public final VulkanSamplerCreateInfo.Builder setMinLod(float minLod)
      Initializes the value for the minLod attribute.

      If not set, this attribute will have a default value as returned by the initializer of minLod.

      Parameters:
      minLod - The value for minLod
      Returns:
      this builder for use in a chained invocation
    • setMaxLod

      public final VulkanSamplerCreateInfo.Builder setMaxLod(float maxLod)
      Initializes the value for the maxLod attribute.

      If not set, this attribute will have a default value as returned by the initializer of maxLod.

      Parameters:
      maxLod - The value for maxLod
      Returns:
      this builder for use in a chained invocation
    • setBorderColor

      public final VulkanSamplerCreateInfo.Builder setBorderColor(VulkanBorderColor borderColor)
      Initializes the value for the borderColor attribute.

      If not set, this attribute will have a default value as returned by the initializer of borderColor.

      Parameters:
      borderColor - The value for borderColor
      Returns:
      this builder for use in a chained invocation
    • setUnnormalizedCoordinates

      public final VulkanSamplerCreateInfo.Builder setUnnormalizedCoordinates(boolean unnormalizedCoordinates)
      Initializes the value for the unnormalizedCoordinates attribute.

      If not set, this attribute will have a default value as returned by the initializer of unnormalizedCoordinates.

      Parameters:
      unnormalizedCoordinates - The value for unnormalizedCoordinates
      Returns:
      this builder for use in a chained invocation
    • build

      public VulkanSamplerCreateInfo build()
      Returns:
      An immutable instance of VulkanSamplerCreateInfo
      Throws:
      IllegalStateException - if any required attributes are missing