Package icyllis.arc3d.core

# Class SLDataType

java.lang.Object
icyllis.arc3d.core.SLDataType

public final class SLDataType extends Object
Types of shader-language-specific boxed variables we can create, shared constants.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final byte`
  `kBool`
  `static final byte`
  `kBool2`
  `static final byte`
  `kBool3`
  `static final byte`
  `kBool4`
  `static final byte`
  `kFloat`
  `static final byte`
  `kFloat2`
  `static final byte`
  `kFloat2x2`
  `static final byte`
  `kFloat3`
  `static final byte`
  `kFloat3x3`
  `static final byte`
  `kFloat4`
  `static final byte`
  `kFloat4x4`
  `static final byte`
  `kHalf`
  `static final byte`
  `kHalf2`
  `static final byte`
  `kHalf2x2`
  `static final byte`
  `kHalf3`
  `static final byte`
  `kHalf3x3`
  `static final byte`
  `kHalf4`
  `static final byte`
  `kHalf4x4`
  `static final byte`
  `kInt`
  `static final byte`
  `kInt2`
  `static final byte`
  `kInt3`
  `static final byte`
  `kInt4`
  `static final byte`
  `kLast`
  `static final byte`
  `kSampler`
  `static final byte`
  `kSampler2D`
  `static final byte`
  `kShort`
  `static final byte`
  `kShort2`
  `static final byte`
  `kShort3`
  `static final byte`
  `kShort4`
  `static final byte`
  `kSubpassInput`
  `static final byte`
  `kTexture2D`
  `static final byte`
  `kUInt`
  `static final byte`
  `kUInt2`
  `static final byte`
  `kUInt3`
  `static final byte`
  `kUInt4`
  `static final byte`
  `kUShort`
  `static final byte`
  `kUShort2`
  `static final byte`
  `kUShort3`
  `static final byte`
  `kUShort4`
  `static final byte`
  `kVoid`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SLDataType()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static boolean`
  `canBeUniformValue(byte type)`
  Is the shading language type supported as a uniform block member.
  `static boolean`
  `checkSLType(byte type)`
  `static boolean`
  `isBooleanType(byte type)`
  Is the shading language type boolean (including vectors)?
  `static boolean`
  `isCombinedSamplerType(byte type)`
  `static boolean`
  `isFloatType(byte type)`
  Is the shading language type float (including vectors/matrices)?
  `static boolean`
  `isIntegralType(byte type)`
  Is the shading language type integral (including vectors)?
  `static boolean`
  `isMatrixType(byte type)`
  `static int`
  `locations(byte type)`
  Returns the number of locations take up by a given SLType.
  `static int`
  `matrixOrder(byte type)`
  If the type represents a square matrix, return its order; otherwise, -1.
  `static String`
  `typeString(byte type)`
  `static int`
  `vectorDim(byte type)`
  If the type represents a single value or vector return the number of components, else -1.

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

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

- ## Field Details

  - ### kVoid

    public static final byte kVoid
    See Also:
      - Constant Field Values

  - ### kBool

    public static final byte kBool
    See Also:
      - Constant Field Values

  - ### kBool2

    public static final byte kBool2
    See Also:
      - Constant Field Values

  - ### kBool3

    public static final byte kBool3
    See Also:
      - Constant Field Values

  - ### kBool4

    public static final byte kBool4
    See Also:
      - Constant Field Values

  - ### kShort

    public static final byte kShort
    See Also:
      - Constant Field Values

  - ### kShort2

    public static final byte kShort2
    See Also:
      - Constant Field Values

  - ### kShort3

    public static final byte kShort3
    See Also:
      - Constant Field Values

  - ### kShort4

    public static final byte kShort4
    See Also:
      - Constant Field Values

  - ### kUShort

    public static final byte kUShort
    See Also:
      - Constant Field Values

  - ### kUShort2

    public static final byte kUShort2
    See Also:
      - Constant Field Values

  - ### kUShort3

    public static final byte kUShort3
    See Also:
      - Constant Field Values

  - ### kUShort4

    public static final byte kUShort4
    See Also:
      - Constant Field Values

  - ### kFloat

    public static final byte kFloat
    See Also:
      - Constant Field Values

  - ### kFloat2

    public static final byte kFloat2
    See Also:
      - Constant Field Values

  - ### kFloat3

    public static final byte kFloat3
    See Also:
      - Constant Field Values

  - ### kFloat4

    public static final byte kFloat4
    See Also:
      - Constant Field Values

  - ### kFloat2x2

    public static final byte kFloat2x2
    See Also:
      - Constant Field Values

  - ### kFloat3x3

    public static final byte kFloat3x3
    See Also:
      - Constant Field Values

  - ### kFloat4x4

    public static final byte kFloat4x4
    See Also:
      - Constant Field Values

  - ### kHalf

    public static final byte kHalf
    See Also:
      - Constant Field Values

  - ### kHalf2

    public static final byte kHalf2
    See Also:
      - Constant Field Values

  - ### kHalf3

    public static final byte kHalf3
    See Also:
      - Constant Field Values

  - ### kHalf4

    public static final byte kHalf4
    See Also:
      - Constant Field Values

  - ### kHalf2x2

    public static final byte kHalf2x2
    See Also:
      - Constant Field Values

  - ### kHalf3x3

    public static final byte kHalf3x3
    See Also:
      - Constant Field Values

  - ### kHalf4x4

    public static final byte kHalf4x4
    See Also:
      - Constant Field Values

  - ### kInt

    public static final byte kInt
    See Also:
      - Constant Field Values

  - ### kInt2

    public static final byte kInt2
    See Also:
      - Constant Field Values

  - ### kInt3

    public static final byte kInt3
    See Also:
      - Constant Field Values

  - ### kInt4

    public static final byte kInt4
    See Also:
      - Constant Field Values

  - ### kUInt

    public static final byte kUInt
    See Also:
      - Constant Field Values

  - ### kUInt2

    public static final byte kUInt2
    See Also:
      - Constant Field Values

  - ### kUInt3

    public static final byte kUInt3
    See Also:
      - Constant Field Values

  - ### kUInt4

    public static final byte kUInt4
    See Also:
      - Constant Field Values

  - ### kSampler2D

    public static final byte kSampler2D
    See Also:
      - Constant Field Values

  - ### kTexture2D

    public static final byte kTexture2D
    See Also:
      - Constant Field Values

  - ### kSampler

    public static final byte kSampler
    See Also:
      - Constant Field Values

  - ### kSubpassInput

    public static final byte kSubpassInput
    See Also:
      - Constant Field Values

  - ### kLast

    public static final byte kLast
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### SLDataType

    public SLDataType()

- ## Method Details

  - ### checkSLType

    public static boolean checkSLType(byte type)

  - ### isFloatType

    public static boolean isFloatType(byte type)
    Is the shading language type float (including vectors/matrices)?

  - ### isIntegralType

    public static boolean isIntegralType(byte type)
    Is the shading language type integral (including vectors)?

  - ### isBooleanType

    public static boolean isBooleanType(byte type)
    Is the shading language type boolean (including vectors)?

  - ### canBeUniformValue

    public static boolean canBeUniformValue(byte type)
    Is the shading language type supported as a uniform block member.

  - ### vectorDim

    public static int vectorDim(byte type)
    If the type represents a single value or vector return the number of components, else -1.

  - ### matrixOrder

    public static int matrixOrder(byte type)
    If the type represents a square matrix, return its order; otherwise, -1.

  - ### isCombinedSamplerType

    public static boolean isCombinedSamplerType(byte type)

  - ### isMatrixType

    public static boolean isMatrixType(byte type)

  - ### locations

    public static int locations(byte type)
    Returns the number of locations take up by a given SLType.

    16-bit scalar and vector types, and 32-bit scalar and vector types consume a single location.

    n x m 16- or 32-bit matrix types consume n consecutive locations.

    Returns 0 for opaque types.

  - ### typeString

    @Nonnull public static String typeString(byte type)