diff options
Diffstat (limited to 'main_headless.c')
-rw-r--r-- | main_headless.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/main_headless.c b/main_headless.c new file mode 100644 index 0000000..ef66058 --- /dev/null +++ b/main_headless.c @@ -0,0 +1,36 @@ +#include <stdio.h> +#include <stdlib.h> + +#include <sys/time.h> + +#include "ray.h" + +static const size_t kFramesToRender = 100; + +int +main(int argc, char** argv) { + const size_t kWidth = 1000; + const size_t kHeight = 1000; + + fprintf(stderr, "Rendering %zu frames\n", kFramesToRender); + + unsigned char* buffer = calloc(4, kWidth * kHeight); + + struct timeval start; + gettimeofday(&start, NULL); + + for (size_t i = 0; i < kFramesToRender; ++i) + trace_scene(i * 0.01f, kWidth, kHeight, buffer, 1); + + struct timeval end; + gettimeofday(&end, NULL); + + free(buffer); + + fprintf(stderr, "Average %.2f ms/frame\n", + (1.0e3 * (end.tv_sec - start.tv_sec) + + 1.0e-3 * (end.tv_usec - start.tv_usec)) / + kFramesToRender); + + return EXIT_SUCCESS; +} |