Пример #1
0
        private static void ComputeVertexNormals(VertexPositionNormal[] vertices, IEnumerable<IndexedTriangleWithNormal> triangles)
        {
            foreach (var triangle in triangles)
            {
                var floats = triangle.Normal.ToArray();
                vertices[triangle.A].Normal += new Vector3(floats);
                vertices[triangle.B].Normal += new Vector3(floats);
                vertices[triangle.C].Normal += new Vector3(floats);
            }

            foreach (var v in vertices)
            {
                v.Normal.Normalize();
            }
        }