Class VulkanRenderPassBeginInfo

java.lang.Object
com.io7m.jcoronado.api.VulkanRenderPassBeginInfo
All Implemented Interfaces:
VulkanRenderPassBeginInfoType

public final class VulkanRenderPassBeginInfo extends Object implements VulkanRenderPassBeginInfoType
Structure specifying how to begin a render pass.
See Also:
  • "VkRenderPassBeginInfo"
  • Method Details

    • renderPass

      public VulkanRenderPassType renderPass()
      Specified by:
      renderPass in interface VulkanRenderPassBeginInfoType
      Returns:
      The render pass
    • framebuffer

      public VulkanFramebufferType framebuffer()
      Specified by:
      framebuffer in interface VulkanRenderPassBeginInfoType
      Returns:
      The render pass framebuffer
    • renderArea

      public VulkanRectangle2D renderArea()
      Specified by:
      renderArea in interface VulkanRenderPassBeginInfoType
      Returns:
      The area to which rendering will occur
    • clearValues

      public List<VulkanClearValueType> clearValues()
      Specified by:
      clearValues in interface VulkanRenderPassBeginInfoType
      Returns:
      The clear values for each attachment
    • withRenderPass

      public final VulkanRenderPassBeginInfo withRenderPass(VulkanRenderPassType value)
      Copy the current immutable object by setting a value for the renderPass attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for renderPass
      Returns:
      A modified copy of the this object
    • withFramebuffer

      public final VulkanRenderPassBeginInfo withFramebuffer(VulkanFramebufferType value)
      Copy the current immutable object by setting a value for the framebuffer attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for framebuffer
      Returns:
      A modified copy of the this object
    • withRenderArea

      public final VulkanRenderPassBeginInfo withRenderArea(VulkanRectangle2D value)
      Copy the current immutable object by setting a value for the renderArea attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for renderArea
      Returns:
      A modified copy of the this object
    • withClearValues

      public final VulkanRenderPassBeginInfo withClearValues(VulkanClearValueType... elements)
      Copy the current immutable object with elements that replace the content of clearValues.
      Parameters:
      elements - The elements to set
      Returns:
      A modified copy of this object
    • withClearValues

      public final VulkanRenderPassBeginInfo withClearValues(Iterable<? extends VulkanClearValueType> elements)
      Copy the current immutable object with elements that replace the content of clearValues. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      elements - An iterable of clearValues elements to set
      Returns:
      A modified copy of this object
    • equals

      public boolean equals(Object another)
      This instance is equal to all instances of VulkanRenderPassBeginInfo 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: renderPass, framebuffer, renderArea, clearValues.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

      public String toString()
      Prints the immutable value VulkanRenderPassBeginInfo with attribute values.
      Overrides:
      toString in class Object
      Returns:
      A string representation of the value
    • of

      public static VulkanRenderPassBeginInfo of(VulkanRenderPassType renderPass, VulkanFramebufferType framebuffer, VulkanRectangle2D renderArea, List<VulkanClearValueType> clearValues)
      Construct a new immutable VulkanRenderPassBeginInfo instance.
      Parameters:
      renderPass - The value for the renderPass attribute
      framebuffer - The value for the framebuffer attribute
      renderArea - The value for the renderArea attribute
      clearValues - The value for the clearValues attribute
      Returns:
      An immutable VulkanRenderPassBeginInfo instance
    • of

      public static VulkanRenderPassBeginInfo of(VulkanRenderPassType renderPass, VulkanFramebufferType framebuffer, VulkanRectangle2D renderArea, Iterable<? extends VulkanClearValueType> clearValues)
      Construct a new immutable VulkanRenderPassBeginInfo instance.
      Parameters:
      renderPass - The value for the renderPass attribute
      framebuffer - The value for the framebuffer attribute
      renderArea - The value for the renderArea attribute
      clearValues - The value for the clearValues attribute
      Returns:
      An immutable VulkanRenderPassBeginInfo instance
    • copyOf

      Creates an immutable copy of a VulkanRenderPassBeginInfoType 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 VulkanRenderPassBeginInfo instance
    • builder

      public static VulkanRenderPassBeginInfo.Builder builder()
      Creates a builder for VulkanRenderPassBeginInfo.
       VulkanRenderPassBeginInfo.builder()
          .setRenderPass(com.io7m.jcoronado.api.VulkanRenderPassType) // required renderPass
          .setFramebuffer(com.io7m.jcoronado.api.VulkanFramebufferType) // required framebuffer
          .setRenderArea(com.io7m.jcoronado.api.VulkanRectangle2D) // required renderArea
          .addClearValues|addAllClearValues(com.io7m.jcoronado.api.VulkanClearValueType) // clearValues elements
          .build();
       
      Returns:
      A new VulkanRenderPassBeginInfo builder