Class Type.AliasType

Enclosing class:
Type

public static final class Type.AliasType extends Type
  • Method Details

    • resolve

      @Nonnull public Type resolve()
      Description copied from class: Type
      If this is an alias, returns the underlying type, otherwise returns this.
      Overrides:
      resolve in class Type
    • getElementType

      @Nonnull public Type getElementType()
      Description copied from class: Type
      For arrays, returns the base type. For matrices, returns the column vector type. For vectors, returns the scalar type. For all other types, returns the type itself.
      Overrides:
      getElementType in class Type
    • getComponentType

      @Nonnull public Type getComponentType()
      Description copied from class: Type
      For matrices and vectors, returns the scalar type of individual cells (e.g. mat2 has a component type of Float). For textures, returns the sampled type (e.g. texture2D has a component type of Float). For arrays, returns the component type of their base type. For all other types, returns the type itself.
      Overrides:
      getComponentType in class Type
    • getScalarKind

      public byte getScalarKind()
      Description copied from class: Type
      Returns the ScalarKind of this type (always NonScalar for non-scalar values).
      Overrides:
      getScalarKind in class Type
    • getRank

      public int getRank()
      Description copied from class: Type
      Returns the "rank" of a numeric type, in order of float > half > int > short. When operating on two numeric types, the result is the higher-rank type.
      Overrides:
      getRank in class Type
    • getCols

      public int getCols()
      Description copied from class: Type
      For matrices, returns the number of columns (e.g. mat3x4 returns 3). For scalars and vectors, returns 1. For all other types, causes an assertion failure.
      Overrides:
      getCols in class Type
    • getRows

      public int getRows()
      Description copied from class: Type
      For matrices and vectors, returns the number of rows (e.g. mat3x4 return 4). For scalars, returns 1. For all other types, causes an assertion failure.
      Overrides:
      getRows in class Type
    • getComponents

      public int getComponents()
      Description copied from class: Type
      For type that contains scalars, returns the number of scalars. For all other types, causes an assertion failure.
      Overrides:
      getComponents in class Type
    • getArraySize

      public int getArraySize()
      Description copied from class: Type
      For arrays, returns either the size of the array (if known) or -1 (unsized). For all other types, causes an assertion failure.
      Overrides:
      getArraySize in class Type
    • getMinValue

      public double getMinValue()
      Description copied from class: Type
      Returns the minimum value that can fit in the type.
      Overrides:
      getMinValue in class Type
    • getMaxValue

      public double getMaxValue()
      Description copied from class: Type
      Returns the maximum value that can fit in the type.
      Overrides:
      getMaxValue in class Type
    • getMinWidth

      public int getMinWidth()
      Description copied from class: Type
      For scalars, returns the minimum size in bits of the type.
      Overrides:
      getMinWidth in class Type
    • getWidth

      public int getWidth()
      Description copied from class: Type
      For scalars, returns the size in bits of the type.
      Overrides:
      getWidth in class Type
    • getDimensions

      public int getDimensions()
      Description copied from class: Type
      For sampler/image types, returns the SpvDim. For all other types, causes an assertion failure.
      Overrides:
      getDimensions in class Type
    • isShadow

      public boolean isShadow()
      Description copied from class: Type
      True for samplers that sample a depth texture with comparison (e.g., samplerShadow, sampler2DShadow, HLSL SamplerComparisonState).
      Overrides:
      isShadow in class Type
    • isArrayed

      public boolean isArrayed()
      Description copied from class: Type
      True for arrayed texture.
      Overrides:
      isArrayed in class Type
    • isScalar

      public boolean isScalar()
      Overrides:
      isScalar in class Type
    • isVector

      public boolean isVector()
      Overrides:
      isVector in class Type
    • isMatrix

      public boolean isMatrix()
      Overrides:
      isMatrix in class Type
    • isArray

      public boolean isArray()
      Overrides:
      isArray in class Type
    • isUnsizedArray

      public boolean isUnsizedArray()
      Overrides:
      isUnsizedArray in class Type
    • isStruct

      public boolean isStruct()
      Overrides:
      isStruct in class Type
    • isInterfaceBlock

      public boolean isInterfaceBlock()
      Overrides:
      isInterfaceBlock in class Type
    • isMultiSampled

      public boolean isMultiSampled()
      Overrides:
      isMultiSampled in class Type
    • isSampled

      public boolean isSampled()
      Overrides:
      isSampled in class Type
    • isCombinedSampler

      public boolean isCombinedSampler()
      Overrides:
      isCombinedSampler in class Type
      Returns:
      true for texture with sampler
    • isSeparateSampler

      public boolean isSeparateSampler()
      Overrides:
      isSeparateSampler in class Type
      Returns:
      true for pure sampler
    • isStorageImage

      public boolean isStorageImage()
      Overrides:
      isStorageImage in class Type
      Returns:
      true for image, except subpass input
    • getCoercibleTypes

      @Nonnull public Type[] getCoercibleTypes()
      Description copied from class: Type
      For generic types, returns the types that this generic type can substitute for.
      Overrides:
      getCoercibleTypes in class Type
    • getFields

      @Nonnull public Type.Field[] getFields()
      Overrides:
      getFields in class Type