# AttributeDescription

Interface · category: Other

Source: https://github.com/playcanvas/engine/blob/970d89f6d3bc6667f4e1f88153abd6e7e82ed52c/src/platform/graphics/vertex-format.js#L71

## Properties

### asInt

```ts
asInt?: boolean
```

If true, vertex attribute data will be accessible
as integer numbers in shader code. Defaults to false, which means that vertex attribute data
will be accessible as floating point numbers. Can be only used with INT and UINT data types.

### components

```ts
components: number
```

The number of components of the vertex attribute.
Can be 1, 2, 3 or 4.

### normalize

```ts
normalize?: boolean
```

If true, vertex attribute data will be mapped
from a 0 to 255 range down to 0 to 1 when fed to a shader. If false, vertex attribute data
is left unchanged. If this property is unspecified, false is assumed. This property is
ignored when asInt is true.

### semantic

```ts
semantic: string
```

The meaning of the vertex element. This is used to
link the vertex data to a shader input. Can be:

- [SEMANTIC_POSITION](https://api.playcanvas.com/engine/variables/SEMANTIC_POSITION.md)
- [SEMANTIC_NORMAL](https://api.playcanvas.com/engine/variables/SEMANTIC_NORMAL.md)
- [SEMANTIC_TANGENT](https://api.playcanvas.com/engine/variables/SEMANTIC_TANGENT.md)
- [SEMANTIC_BLENDWEIGHT](https://api.playcanvas.com/engine/variables/SEMANTIC_BLENDWEIGHT.md)
- [SEMANTIC_BLENDINDICES](https://api.playcanvas.com/engine/variables/SEMANTIC_BLENDINDICES.md)
- [SEMANTIC_COLOR](https://api.playcanvas.com/engine/variables/SEMANTIC_COLOR.md)
- [SEMANTIC_TEXCOORD0](https://api.playcanvas.com/engine/variables/SEMANTIC_TEXCOORD0.md)
- [SEMANTIC_TEXCOORD1](https://api.playcanvas.com/engine/variables/SEMANTIC_TEXCOORD1.md)
- [SEMANTIC_TEXCOORD2](https://api.playcanvas.com/engine/variables/SEMANTIC_TEXCOORD2.md)
- [SEMANTIC_TEXCOORD3](https://api.playcanvas.com/engine/variables/SEMANTIC_TEXCOORD3.md)
- [SEMANTIC_TEXCOORD4](https://api.playcanvas.com/engine/variables/SEMANTIC_TEXCOORD4.md)
- [SEMANTIC_TEXCOORD5](https://api.playcanvas.com/engine/variables/SEMANTIC_TEXCOORD5.md)
- [SEMANTIC_TEXCOORD6](https://api.playcanvas.com/engine/variables/SEMANTIC_TEXCOORD6.md)
- [SEMANTIC_TEXCOORD7](https://api.playcanvas.com/engine/variables/SEMANTIC_TEXCOORD7.md)

If vertex data has a meaning other that one of those listed above, use the user-defined
semantics: [SEMANTIC_ATTR0](https://api.playcanvas.com/engine/variables/SEMANTIC_ATTR0.md) to [SEMANTIC_ATTR15](https://api.playcanvas.com/engine/variables/SEMANTIC_ATTR15.md).

### type

```ts
type: number
```

The data type of the attribute. Can be:

- [TYPE_INT8](https://api.playcanvas.com/engine/variables/TYPE_INT8.md)
- [TYPE_UINT8](https://api.playcanvas.com/engine/variables/TYPE_UINT8.md)
- [TYPE_INT16](https://api.playcanvas.com/engine/variables/TYPE_INT16.md)
- [TYPE_UINT16](https://api.playcanvas.com/engine/variables/TYPE_UINT16.md)
- [TYPE_INT32](https://api.playcanvas.com/engine/variables/TYPE_INT32.md)
- [TYPE_UINT32](https://api.playcanvas.com/engine/variables/TYPE_UINT32.md)
- [TYPE_FLOAT16](https://api.playcanvas.com/engine/variables/TYPE_FLOAT16.md)
- [TYPE_FLOAT32](https://api.playcanvas.com/engine/variables/TYPE_FLOAT32.md)
