Package icyllis.arc3d.vulkan

# Class VulkanRenderTarget

java.lang.Object
icyllis.arc3d.engine.Resource
icyllis.arc3d.engine.GpuSurface
icyllis.arc3d.engine.GpuRenderTarget
icyllis.arc3d.vulkan.VulkanRenderTarget

All Implemented Interfaces:
  `RefCounted`

public final class VulkanRenderTarget extends GpuRenderTarget

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class icyllis.arc3d.engine.GpuRenderTarget

  `GpuRenderTarget.ResourceKey`

- ## Field Summary

  ### Fields inherited from class icyllis.arc3d.engine.GpuRenderTarget

  `mSurfaceFlags`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `VulkanRenderTarget(Context context, int width, int height, int sampleCount, int numColorAttachments)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected boolean`
  `canAttachStencil()`
  `BackendFormat`
  `getBackendFormat()`
  Describes the backend format of color buffers.
  `BackendRenderTarget`
  `getBackendRenderTarget()`
  Describes the backend render target of this render target.
  `Image`
  `getColorAttachment()`
  `Image`
  `getColorAttachment(int index)`
  `protected Image[]`
  `getColorAttachments()`
  `int`
  `getDepthBits()`
  Get the number of implicit depth bits, or 0 if no depth.
  `Image`
  `getDepthStencilAttachment()`
  Get the dynamic or implicit stencil buffer, or null if no stencil.
  `Image`
  `getResolveAttachment()`
  `Image`
  `getResolveAttachment(int index)`
  `protected Image[]`
  `getResolveAttachments()`
  `int`
  `getStencilBits()`
  Get the number of implicit stencil bits, or 0 if no stencil.
  `boolean`
  `isProtected()`
  `protected void`
  `onRelease()`
  Subclass should override this method to free GPU resources in the backend API.

  ### Methods inherited from class icyllis.arc3d.engine.GpuRenderTarget

  `asImage, asRenderTarget, getHeight, getSampleCount, getSurfaceFlags, getWidth, numColorTargets`

  ### Methods inherited from class icyllis.arc3d.engine.Resource

  `getContext, getDevice, getKey, getLabel, getMemorySize, getUniqueID, hasAnyRefs, hasCacheRef, hasCommandBufferRef, hasUsageRef, isBudgeted, isDestroyed, isPurgeable, isWrapped, onSetLabel, ref, refCommandBuffer, setKey, setLabel, setNonCacheable, unref, unrefCommandBuffer`

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

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### VulkanRenderTarget

    protected VulkanRenderTarget(Context context, int width, int height, int sampleCount, int numColorAttachments)

- ## Method Details

  - ### getBackendFormat

    @Nonnull public BackendFormat getBackendFormat()
    Description copied from class: `GpuRenderTarget`
    Describes the backend format of color buffers.
    Specified by:
      `getBackendFormat` in class `GpuRenderTarget`

  - ### isProtected

    public boolean isProtected()
    Specified by:
      `isProtected` in class `GpuSurface`
    Returns:
      true if we are working with protected content

  - ### getBackendRenderTarget

    @Nonnull public BackendRenderTarget getBackendRenderTarget()
    Description copied from class: `GpuRenderTarget`
    Describes the backend render target of this render target.
    Specified by:
      `getBackendRenderTarget` in class `GpuRenderTarget`

  - ### getColorAttachment

    @Nullable public Image getColorAttachment()
    Specified by:
      `getColorAttachment` in class `GpuRenderTarget`

  - ### getColorAttachment

    @Nullable public Image getColorAttachment(int index)
    Specified by:
      `getColorAttachment` in class `GpuRenderTarget`

  - ### getColorAttachments

    @Nullable protected Image[] getColorAttachments()
    Specified by:
      `getColorAttachments` in class `GpuRenderTarget`

  - ### getResolveAttachment

    @Nullable public Image getResolveAttachment()
    Specified by:
      `getResolveAttachment` in class `GpuRenderTarget`

  - ### getResolveAttachment

    @Nullable public Image getResolveAttachment(int index)
    Specified by:
      `getResolveAttachment` in class `GpuRenderTarget`

  - ### getResolveAttachments

    @Nullable protected Image[] getResolveAttachments()
    Specified by:
      `getResolveAttachments` in class `GpuRenderTarget`

  - ### getDepthStencilAttachment

    @Nullable public Image getDepthStencilAttachment()
    Description copied from class: `GpuRenderTarget`
    Get the dynamic or implicit stencil buffer, or null if no stencil.
    Specified by:
      `getDepthStencilAttachment` in class `GpuRenderTarget`

  - ### getDepthBits

    public int getDepthBits()
    Description copied from class: `GpuRenderTarget`
    Get the number of implicit depth bits, or 0 if no depth.
    Specified by:
      `getDepthBits` in class `GpuRenderTarget`

  - ### getStencilBits

    public int getStencilBits()
    Description copied from class: `GpuRenderTarget`
    Get the number of implicit stencil bits, or 0 if no stencil.
    Specified by:
      `getStencilBits` in class `GpuRenderTarget`

  - ### canAttachStencil

    protected boolean canAttachStencil()
    Specified by:
      `canAttachStencil` in class `GpuRenderTarget`
    Returns:
      whether a stencil buffer can be attached to this render target.

  - ### onRelease

    protected void onRelease()
    Description copied from class: `Resource`
    Subclass should override this method to free GPU resources in the backend API.
    Specified by:
      `onRelease` in class `Resource`