Package icyllis.arc3d.engine

# Interface Engine

All Known Implementing Classes:
  `Device`, `GLDevice`, `VulkanDevice`

public interface Engine
Shared constants, enums and utilities for Arc3D Engine.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static interface`
  `Engine.BackendApi`
  Possible 3D APIs that may be used by Arc3D Engine.
  `static interface`
  `Engine.BudgetType`
  Budget types.
  `static interface`
  `Engine.BufferUsageFlags`
  Describes the intended usage (type + access) a GPU buffer.
  `static interface`
  `Engine.DepthStencilFlags`
  Indicates whether depth buffer or stencil buffer or both will be used.
  `static interface`
  `Engine.GLBackendState`
  A Context's cache of backend context state can be partially invalidated.
  `static interface`
  `Engine.ImageCreateFlags`
  `static interface`
  `Engine.ImageType`
  Describes image view type.
  `static interface`
  `Engine.IndexType`
  Types used to describe format of indices in arrays.
  `static interface`
  `Engine.IOType`
  Indicates the type of pending IO operations that can be recorded for GPU resources.
  `static interface`
  `Engine.LoadOp`
  Load ops.
  `static interface`
  `Engine.LoadStoreOps`
  Combination of load ops and store ops.
  `static interface`
  `Engine.PrimitiveType`
  Geometric primitives used for drawing.
  `static interface`
  `Engine.ShaderFlags`
  Shader stage flags.
  `static interface`
  `Engine.StoreOp`
  Store ops.
  `static interface`
  `Engine.SurfaceOrigin`
  Image and Surfaces can be stored such that (0, 0) in texture space may correspond to either the upper-left or lower-left content pixel.
  `static interface`
  `Engine.VertexAttribType`
  Types used to describe format of vertices in arrays.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `CLAMP_TYPE_AUTO`
  Some pixel configs are inherently clamped to [0,1], some are allowed to go outside that range, and some are FP but manually clamped in the XP.
  `static final int`
  `CLAMP_TYPE_MANUAL`
  Some pixel configs are inherently clamped to [0,1], some are allowed to go outside that range, and some are FP but manually clamped in the XP.
  `static final int`
  `CLAMP_TYPE_NONE`
  Some pixel configs are inherently clamped to [0,1], some are allowed to go outside that range, and some are FP but manually clamped in the XP.
  `static final int`
  `COLOR_ENCODING_FLOAT`
  Describes the encoding of channel data in a ColorType.
  `static final int`
  `COLOR_ENCODING_UNORM`
  Describes the encoding of channel data in a ColorType.
  `static final int`
  `COLOR_ENCODING_UNORM_PACK16`
  Describes the encoding of channel data in a ColorType.
  `static final int`
  `COLOR_ENCODING_UNORM_PACK32`
  Describes the encoding of channel data in a ColorType.
  `static final int`
  `COLOR_ENCODING_UNORM_SRGB`
  Describes the encoding of channel data in a ColorType.
  `static final int`
  `INVALID_RESOURCE_HANDLE`
  ResourceHandle is an opaque handle to a resource, actually a table index.
  `static final int`
  `LAST_MASK_FORMAT`
  `static final int`
  `MASK_FORMAT_A565`
  Mask formats.
  `static final int`
  `MASK_FORMAT_A8`
  Mask formats.
  `static final int`
  `MASK_FORMAT_ARGB`
  Mask formats.
  `static final int`
  `MASK_FORMAT_COUNT`
  `static final boolean`
  `Ownership_Borrowed`
  Specifies if the holder owns the backend, OpenGL or Vulkan, object.
  `static final boolean`
  `Ownership_Owned`
  Specifies if the holder owns the backend, OpenGL or Vulkan, object.

- ## Method Summary

  Static Methods
  Modifier and Type
  Method
  Description
  `static int`
  `colorTypeClampType(int ct)`
  `static int`
  `colorTypeEncoding(int ct)`
  `static int`
  `colorTypeToPublic(int ct)`
  Block engine-private values.
  `static int`
  `maskFormatBytesPerPixel(int maskFormat)`
  Return the number of bytes-per-pixel for the specified mask format.
  `static int`
  `maskFormatToColorType(int maskFormat)`
  Return an appropriate color type for the specified mask format.

- ## Field Details

  - ### COLOR_ENCODING_UNORM

    static final int COLOR_ENCODING_UNORM
    Describes the encoding of channel data in a ColorType.
    See Also:
      - `colorTypeEncoding(int)`
      - Constant Field Values

  - ### COLOR_ENCODING_UNORM_PACK16

    static final int COLOR_ENCODING_UNORM_PACK16
    Describes the encoding of channel data in a ColorType.
    See Also:
      - `colorTypeEncoding(int)`
      - Constant Field Values

  - ### COLOR_ENCODING_UNORM_PACK32

    static final int COLOR_ENCODING_UNORM_PACK32
    Describes the encoding of channel data in a ColorType.
    See Also:
      - `colorTypeEncoding(int)`
      - Constant Field Values

  - ### COLOR_ENCODING_UNORM_SRGB

    static final int COLOR_ENCODING_UNORM_SRGB
    Describes the encoding of channel data in a ColorType.
    See Also:
      - `colorTypeEncoding(int)`
      - Constant Field Values

  - ### COLOR_ENCODING_FLOAT

    static final int COLOR_ENCODING_FLOAT
    Describes the encoding of channel data in a ColorType.
    See Also:
      - `colorTypeEncoding(int)`
      - Constant Field Values

  - ### CLAMP_TYPE_AUTO

    static final int CLAMP_TYPE_AUTO
    Some pixel configs are inherently clamped to [0,1], some are allowed to go outside that range, and some are FP but manually clamped in the XP.
    See Also:
      - `colorTypeClampType(int)`
      - Constant Field Values

  - ### CLAMP_TYPE_MANUAL

    static final int CLAMP_TYPE_MANUAL
    Some pixel configs are inherently clamped to [0,1], some are allowed to go outside that range, and some are FP but manually clamped in the XP.
    See Also:
      - `colorTypeClampType(int)`
      - Constant Field Values

  - ### CLAMP_TYPE_NONE

    static final int CLAMP_TYPE_NONE
    Some pixel configs are inherently clamped to [0,1], some are allowed to go outside that range, and some are FP but manually clamped in the XP.
    See Also:
      - `colorTypeClampType(int)`
      - Constant Field Values

  - ### MASK_FORMAT_A8

    static final int MASK_FORMAT_A8
    Mask formats. Used by the font atlas. Important that these are 0-based.

    Using `maskFormatBytesPerPixel(int)` to get the number of bytes-per-pixel for the specified mask format.

    See Also:
      - Constant Field Values

  - ### MASK_FORMAT_A565

    static final int MASK_FORMAT_A565
    Mask formats. Used by the font atlas. Important that these are 0-based.

    Using `maskFormatBytesPerPixel(int)` to get the number of bytes-per-pixel for the specified mask format.

    See Also:
      - Constant Field Values

  - ### MASK_FORMAT_ARGB

    static final int MASK_FORMAT_ARGB
    Mask formats. Used by the font atlas. Important that these are 0-based.

    Using `maskFormatBytesPerPixel(int)` to get the number of bytes-per-pixel for the specified mask format.

    See Also:
      - Constant Field Values

  - ### LAST_MASK_FORMAT

    static final int LAST_MASK_FORMAT
    See Also:
      - Constant Field Values

  - ### MASK_FORMAT_COUNT

    static final int MASK_FORMAT_COUNT
    See Also:
      - Constant Field Values

  - ### Ownership_Borrowed

    static final boolean Ownership_Borrowed
    Specifies if the holder owns the backend, OpenGL or Vulkan, object.
    See Also:
      - Constant Field Values

  - ### Ownership_Owned

    static final boolean Ownership_Owned
    Specifies if the holder owns the backend, OpenGL or Vulkan, object.
    See Also:
      - Constant Field Values

  - ### INVALID_RESOURCE_HANDLE

    static final int INVALID_RESOURCE_HANDLE
    ResourceHandle is an opaque handle to a resource, actually a table index.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### colorTypeToPublic

    static int colorTypeToPublic(int ct)
    Block engine-private values.

  - ### colorTypeEncoding

    static int colorTypeEncoding(int ct)

  - ### colorTypeClampType

    static int colorTypeClampType(int ct)

  - ### maskFormatBytesPerPixel

    static int maskFormatBytesPerPixel(int maskFormat)
    Return the number of bytes-per-pixel for the specified mask format.

  - ### maskFormatToColorType

    static int maskFormatToColorType(int maskFormat)
    Return an appropriate color type for the specified mask format.