| file | ::= | camera background group |
| camera | ::= | orthographicCamera |
| orthographicCamera | ::= |
OrthographicCamera { center Vec3f direction Vec3f up Vec3f size float } |
| background | ::= |
Background { color Vec3f } |
| group | ::= |
Group { num_objects int (object3D | material object3D) ^ num_objects } |
| object3D | ::= | group | sphere |
| sphere | ::= |
Sphere { center Vec3f radius float } |
| material | ::= |
Material { diffuse_color Vec3f } |
| Vec3f | ::= | float float float |
| | | means "OR" |
| ^ n | means "exactly n elements" |