private void LoadMotion(ref Motion motion, Viewport3D viewport, string data) { motion = new Motion(); motion = Loader.LoadFromBvh(data); List <Point3D> uniquePoints = new List <Point3D>(200); motion.Skeleton.StartPointWorld.X = motion.Skeleton.Offset.X; motion.Skeleton.StartPointWorld.Y = motion.Skeleton.Offset.Y; motion.Skeleton.StartPointWorld.Z = motion.Skeleton.Offset.Z; AddSkeleton(viewport, motion.Skeleton, uniquePoints); // !!! TODO: use unique points avoid duplicate computations viewport.Render(); _lastTimeRendered1 = DateTime.Now; _lastTimeRendered2 = DateTime.Now; }