Package icyllis.arc3d.engine

# Class VertexInputLayout.AttributeSet

java.lang.Object
icyllis.arc3d.engine.VertexInputLayout.AttributeSet

All Implemented Interfaces:
  `Iterable<VertexInputLayout.Attribute>`

Enclosing class:
  `VertexInputLayout`

@Immutable public static class VertexInputLayout.AttributeSet extends Object implements Iterable<VertexInputLayout.Attribute>
A set of attributes that can iterated.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Iterator<VertexInputLayout.Attribute>`
  `iterator()`
  `static VertexInputLayout.AttributeSet`
  `makeExplicit(int stride, int inputRate, VertexInputLayout.Attribute... attrs)`
  Create an attribute set with an explicit stride.
  `static VertexInputLayout.AttributeSet`
  `makeImplicit(int inputRate, VertexInputLayout.Attribute... attrs)`
  Create an attribute set with an implicit stride.

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

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

  ### Methods inherited from interface java.lang.Iterable

  `forEach, spliterator`

- ## Method Details

  - ### makeImplicit

    @Nonnull public static VertexInputLayout.AttributeSet makeImplicit(int inputRate, @Nonnull VertexInputLayout.Attribute... attrs)
    Create an attribute set with an implicit stride. Each attribute can either have an implicit offset or an explicit offset aligned to 4 bytes. No attribute can cross stride boundaries.

    Note: GPU does not reorder vertex attributes, so when a vertex attribute has an explicit offset, the subsequent implicit offsets will start from there.

  - ### makeExplicit

    @Nonnull public static VertexInputLayout.AttributeSet makeExplicit(int stride, int inputRate, @Nonnull VertexInputLayout.Attribute... attrs)
    Create an attribute set with an explicit stride. Each attribute can either have an implicit offset or an explicit offset aligned to 4 bytes. No attribute can cross stride boundaries.

    Note: GPU does not reorder vertex attributes, so when a vertex attribute has an explicit offset, the subsequent implicit offsets will start from there.

  - ### iterator

    @Nonnull public Iterator<VertexInputLayout.Attribute> iterator()
    Specified by:
      `iterator` in interface `Iterable<VertexInputLayout.Attribute>`