void render(FILE *out) { int n = width * height * 3; unsigned char *buf = new unsigned char[n]; unsigned char *ptr = buf; for (int j = 0; j < height; j++) { for (int i = 0; i < width; ++i) { RGB rgb = color(pixel(c(i, j))); *(ptr++) = rgb.rgb[0]; *(ptr++) = rgb.rgb[1]; *(ptr++) = rgb.rgb[2]; } } fwrite(buf, 1, n, out); delete [] buf; }