summaryrefslogtreecommitdiff
path: root/main_headless.c
blob: ef660587931713649f936cad2b02e495c92de911 (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
34
35
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;
}