Class Attribute

java.lang.Object
com.badlogic.gdx.graphics.g3d.Attribute
All Implemented Interfaces:
Comparable<Attribute>
Direct Known Subclasses:
BlendingAttribute, ColorAttribute, CubemapAttribute, DepthTestAttribute, DirectionalLightsAttribute, FloatAttribute, IntAttribute, PointLightsAttribute, SpotLightsAttribute, TextureAttribute

public abstract class Attribute extends Object implements Comparable<Attribute>
Extend this class to implement a material attribute. Register the attribute type by statically calling the register(String) method, whose return value should be used to instantiate the attribute. A class can implement multiple types
  • Field Details

    • type

      public final long type
      The type of this attribute
  • Constructor Details

    • Attribute

      protected Attribute(long type)
  • Method Details

    • getAttributeType

      public static final long getAttributeType(String alias)
      Returns:
      The ID of the specified attribute type, or zero if not available
    • getAttributeAlias

      public static final String getAttributeAlias(long type)
      Returns:
      The alias of the specified attribute type, or null if not available.
    • register

      protected static final long register(String alias)
      Call this method to register a custom attribute type, see the wiki for an example. If the alias already exists, then that ID will be reused. The alias should be unambiguously and will by default be returned by the call to toString(). A maximum of 64 attributes can be registered as a long bitmask can only hold 64 bits.
      Parameters:
      alias - The alias of the type to register, must be different for each direct type, will be used for debugging
      Returns:
      the ID of the newly registered type, or the ID of the existing type if the alias was already registered
      Throws:
      GdxRuntimeException - if maximum attribute count reached
    • copy

      public abstract Attribute copy()
      Returns:
      An exact copy of this attribute
    • equals

      protected boolean equals(Attribute other)
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object