public static Sampleable sampleable(Renderable base) {
   BoundingBox bb = base.getBoundingBox();
   OverlayRaster or = new OverlayRaster(bb.intRight() + 1, bb.intBottom() + 1);
   base.render(or);
   return new AbstractSampleable(bb) {
     @Override
     public Color getColorAt(Point<Double> point) {
       return or.getColor(point.toIntegerPoint());
     }
   };
 }