public void UpdateWindow(Point2 offset, Vector3 worldTranslation, Point2 windowSize)
 {
     entities.ForEach((e, p) =>
     {
         var v = world.GetVoxel(p + new Point2(offset));
         if (v == null)
         {
             e.Visible = false;
             return;
         }
         e.Mesh        = getMesh(v);
         e.WorldMatrix = Matrix.Scaling(new Vector3(world.VoxelSize.X)) *
                         Matrix.Translation(world.GetBoundingBox(p).GetCenter() + worldTranslation);
         e.Visible = e.Mesh != null;
     });
 }