private Vector3 GetNormalQ(List<VertexPositionColorNormalNormal> verts, params int[] indexes)
{
Vector3 a = verts[indexes[2]].Position - verts[indexes[1]].Position;
Vector3 b = verts[indexes[2]].Position - verts[indexes[0]].Position;
Vector3 c = Vector3.Cross(a, b);
if (indexes.Length == 6)
{
a = verts[indexes[5]].Position - verts[indexes[4]].Position;
b = verts[indexes[5]].Position - verts[indexes[3]].Position;
Vector3 d = Vector3.Cross(a, b);
//c.Normalize();
if (float.IsNaN(c.X))
c = Vector3.Zero;
if (float.IsNaN(d.X))
d = Vector3.Zero;
c += d;
c /= 2.0f;
}
c.Normalize();
return -c;
}