summaryrefslogtreecommitdiff
path: root/test/raytracer/eval.h
blob: 88facfea203b5f9b23555b3e99631c9eb3d78a8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* Evaluator for GML */

struct closure {
  struct array * code;
  struct array * env;
};

struct surface_characteristics {
  flt x, y, z;
  flt kd;
  flt ks;
  flt phong;
};

void execute_program(struct array * toklist);

void surface_function(struct closure clos, int face, flt u, flt v,
                      /*out*/ struct surface_characteristics * sc);