1    type Triangle = struct
2        up_left : Vector3
3        down_left : Vector3
4        down_right : Vector3
5        uv_up_left : Vector2
6        uv_down_left : Vector2
7        uv_down_right : Vector2
8        color : Vector3
9    
10       def get_normal = down_left - down_right
11                        |> cross (up_left - down_left)
12                        |> normalized
13   
14   object Triangle =
15       val indices = [0, 1, 2]<u32>
16   
17       def create (up_left : Vector3
18                   down_left : Vector3
19                   down_right : Vector3
20                   color : Vector3) =
21           Triangle up_left down_left down_right
22                    (Vector2 0 1) (Vector2 0 0) (Vector2 1 0)
23                    color
24