summaryrefslogtreecommitdiff
path: root/main_headless.c
blob: 8fd1dcf9c569df8c21fc935f62b76280c4bf2af8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#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) {
    fprintf(stderr, "Rendering %zu frames\n", kFramesToRender);
  
    unsigned char* buffer = calloc(4, WIDTH * HEIGHT);
  
    struct timeval start;
    gettimeofday(&start, NULL);
  
    for (size_t i = 0; i < kFramesToRender; ++i)
        trace_scene(i * 0.01f, buffer, 0);
  
    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;
}