diff options
author | Martin StensgÄrd <mastensg@users.noreply.github.com> | 2016-11-02 02:22:42 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-02 02:22:42 +0100 |
commit | 73da8a3ac056cb1c442fc3a24b0148037b180392 (patch) | |
tree | 45ffc7233b8bc234d876cab68b20b0664de35694 /main_headless.c | |
parent | 706da965d3c7892ef09b83bdf6120f104faa2ede (diff) | |
parent | c1a4ed37fe2a1e069a9b827d0012cab38984ee8f (diff) |
Merge pull request #1 from mortehu/master
Make a headless entry point for benchmarking purposes
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; +} |