summaryrefslogtreecommitdiff
path: root/test/raytracer/eval.h
blob: 610b5d96734bd49a7b2647e0f3c0985aa20b9a92 (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);