]> git.sesse.net Git - nageru/blob - futatabi/vis.cpp
Set CEF autoplay policy to be more lenient.
[nageru] / futatabi / vis.cpp
1 // Visualize a .flo file.
2
3 #include "util.h"
4
5 #include <assert.h>
6 #include <memory>
7 #include <stdio.h>
8
9 using namespace std;
10
11 int main(int argc, char **argv)
12 {
13         if (argc != 3) {
14                 fprintf(stderr, "Usage: ./vis input.flo out.ppm\n");
15                 abort();
16         }
17
18         Flow flow = read_flow(argv[1]);
19
20         FILE *fp = fopen(argv[2], "wb");
21         fprintf(fp, "P6\n%d %d\n255\n", flow.width, flow.height);
22         for (unsigned y = 0; y < unsigned(flow.height); ++y) {
23                 for (unsigned x = 0; x < unsigned(flow.width); ++x) {
24                         float du = flow.flow[y * flow.width + x].du;
25                         float dv = flow.flow[y * flow.width + x].dv;
26
27                         uint8_t r, g, b;
28                         flow2rgb(du, dv, &r, &g, &b);
29                         putc(r, fp);
30                         putc(g, fp);
31                         putc(b, fp);
32                 }
33         }
34         fclose(fp);
35 }