summaryrefslogtreecommitdiff
path: root/main_headless.c
diff options
context:
space:
mode:
authorMartin StensgÄrd <mastensg@users.noreply.github.com>2016-11-02 02:22:42 +0100
committerGitHub <noreply@github.com>2016-11-02 02:22:42 +0100
commit73da8a3ac056cb1c442fc3a24b0148037b180392 (patch)
tree45ffc7233b8bc234d876cab68b20b0664de35694 /main_headless.c
parent706da965d3c7892ef09b83bdf6120f104faa2ede (diff)
parentc1a4ed37fe2a1e069a9b827d0012cab38984ee8f (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.c36
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;
+}