Decoupling rendering and colouring.
[maximus:book.git] / render.c
1 #include <complex.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4
5 #include "mandelbrot.h"
6
7 int main(int argc, char **argv) {
8   int width = 1280;
9   int height = 720;
10   complex long double center = 0;
11   long double radius = 2;
12   int maximum_iterations = 4096;
13   long double escape_radius = 2;
14   long double escape_radius2 = escape_radius * escape_radius;
15   int float_type = 1;
16   if (argc > 3) {
17     center = strtold(argv[1], 0) + I * strtold(argv[2], 0);
18     radius = strtold(argv[3], 0);
19   }
20   if (argc > 4) {
21     float_type = atoi(argv[4]);
22   }
23   switch (float_type) {
24     case 0:
25       renderf(width, height, center, radius, maximum_iterations, escape_radius2);
26       break;
27     case 1:
28       render (width, height, center, radius, maximum_iterations, escape_radius2);
29       break;
30     case 2:
31       renderl(width, height, center, radius, maximum_iterations, escape_radius2);
32       break;
33   }
34   return 0;
35 }