Syntax of the .ray File Format

For this project we define a rudimentary scene graph language. Each command begins with a "#"-sign and goes on until the next command or until the end of the file is reached. Commands may extend across new-line characters. All color values are floating point values between 0.0 and 1.0, and all other numeric expressions are assumed to be floating point, unless otherwise noted. Angles are given in radians. If "//" characters are read, the remainder of the line is ignored.
The ray file consists of three parts:

Within each part, individual commands can appear in order. In order to define triangles you must first define the vertices you will use and then index them in the triangle definition.