final double eval3 = function.eval(heightX << baseClipmapLevel, heightY - 1 << baseClipmapLevel, 0);
final double eval4 = function.eval(heightX << baseClipmapLevel, heightY + 1 << baseClipmapLevel, 0);
normal.setX((eval1 - eval2) / 2.);
normal.setY((eval3 - eval4) / 2.);
normal.normalizeLocal();
final int index = (x + y * tileSize) * 3;
data.put(index, (byte) (normal.getX() * 255));
data.put(index + 1, (byte) (normal.getY() * 255));
data.put(index + 2, (byte) (normal.getZ() * 255));