# UmbraMesh struct

3D triangle mesh

The mesh consists of a set of vertices with optional attributes, and a set of triangles refering to the vertices. For some configurations, meshes should be one sided with consistent triangle winding (see Parameters). Mesh topology is generally irrelevant to the results of Umbra.

## Public variables

- const UmbraFloat3* vertices
- Vertex positions.
- const UmbraFloat3* normals
- Vertex normals (optional), either null or the same size as vertices.
- const UmbraFloat3* tangents
- Vertex tangents (optional), either null or the same size as vertices.
- const UmbraFloat2* texCoords
- Vertex texture coordinates, required when used with texturing but otherwise optional.
- const UmbraFloat4* colors
- Vertex colors as RGBA values (optional), either null or the same size as vertices.
- const UmbraInt3* triangles
- Triangle list, triplets of indices to vertex arrays.
- const UmbraTriangleFlags* triangleFlags
- Per-triangle optional flags.
- uint32_t vertexCount
- Size of vertices array.
- uint32_t triangleCount
- Size of triangles array.

## Variable details

###
const UmbraFloat2* UmbraMesh::texCoords

Vertex texture coordinates, required when used with texturing but otherwise optional.

Either null or the same size as vertices.