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 Details

  • 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)