static double blend2D(double val, double val2, double val3, double val4,
  double xFrac, double yFrac) {
  double upper = blend(val, val2, xFrac);
  double lower = blend(val3, val4, xFrac);
  ret blend(upper, lower, yFrac);
}