Beispiel #1
0
        public void Render(Device device, Mesh mesh, Matrix transformMatrix)
        {
            foreach ( var vertex in mesh.Vertices)
            {
                var pointA = device.Project( vertex, transformMatrix);

                device.DrawPoint(pointA, new Color4(1,0,0,1));
            }
        }
Beispiel #2
0
        public void Render(Device device, Mesh mesh, Matrix transformMatrix)
        {
            m_device = device;

            Parallel.For(0, mesh.Faces.Length, faceIndex =>
            {
                var face = mesh.Faces[faceIndex];
                var pointA = m_device.Project(mesh.Vertices[face.A], transformMatrix);
                var pointB = m_device.Project(mesh.Vertices[face.B], transformMatrix);
                var pointC = m_device.Project(mesh.Vertices[face.C], transformMatrix);

                var color = 0.25f + (faceIndex % mesh.Faces.Length) * 0.75f / mesh.Faces.Length;
                DrawTriangle(pointA, pointB, pointC, new Color4(color, color, color, 1));
            });
        }