if (bumpSource != BUMPS_FROM_BEVEL) {
// Complicated and slower method
// Calculate four normals using the gradients in +/- X/Y directions
int count = 0;
normal.x = normal.y = normal.z = 0;
float m0 = width45*bump.evaluate(nx, ny);
float m1 = x > 0 ? width45*bump.evaluate(nx - 1.0f, ny)-m0 : -2;
float m2 = y > 0 ? width45*bump.evaluate(nx, ny - 1.0f)-m0 : -2;
float m3 = x < width-1 ? width45*bump.evaluate(nx + 1.0f, ny)-m0 : -2;
float m4 = y < height-1 ? width45*bump.evaluate(nx, ny + 1.0f)-m0 : -2;