Every attribute has a unique attribute type. QuickDraw 3D defines a large number of attribute types, and your application can define additional attribute types. Attribute types are defined by constants. Attribute type values greater than 0 are reserved for use by QuickDraw 3D. Your custom attribute types must have attribute type values that are less than 0. Here are the attribute types currently defined by QuickDraw 3D.
typedef enum TQ3AttributeTypes {
kQ3AttributeTypeNone = 0,
kQ3AttributeTypeSurfaceUV = 1,
kQ3AttributeTypeShadingUV = 2,
kQ3AttributeTypeNormal = 3,
kQ3AttributeTypeAmbientCoefficient = 4,
kQ3AttributeTypeDiffuseColor = 5,
kQ3AttributeTypeSpecularColor = 6,
kQ3AttributeTypeSpecularControl = 7,
kQ3AttributeTypeTransparencyColor = 8,
kQ3AttributeTypeSurfaceTangent = 9,
kQ3AttributeTypeHighlightState = 10,
kQ3AttributeTypeSurfaceShader = 11,
kQ3AttributeTypeNumTypes
} TQ3AttributeTypes;