# Triangles of a mesh

I’m trying to do a siemple mesh triangle. What happens is if a change the order of the triangle vertices the mesh view change.

Here’s the code:

void Start ()
{
MeshFilter filter = GetComponent ();
Mesh mesh = filter.mesh;
mesh.Clear ();

``````		Vector3[] vertices=
{
new Vector3(0,0,0),
new Vector3(0,1,0),
new Vector3(1,0,0)
};
Vector3[] normals=
{
Vector3.forward,
Vector3.forward,
Vector3.forward
};
Vector2[] uVs=
{
new Vector2(0,0),
new Vector2(0,1),
new Vector2(1,0)
};
int[] triangles=
{
0,1,2                  // if I change this to: 1,0,2 or 2,0,1 for example the mesh is now viewed    //   from the oposite  perspective. It's like the normal of the triangle had changed  its direction to backwards.
};

mesh.vertices = vertices;
mesh.triangles = triangles;
mesh.uv = uVs;
mesh.normals = normals;

mesh.RecalculateBounds ();
mesh.Optimize ();
}
``````

I hope I had explained well.
Thanks.

That’s exactly what’s happening. The normal is calculated using clockwise winding order (unless that changed), so when you reverse the order of the vertices you’ll get a reversed normal.

When you hear about “backface culling”, this is how it’s done, and it’s why the vertex order is important so the proper face is culled.