Required Features

Post-Milestone

Extra Features and Commands

samples x
Antialiase by sending x^2 rays per pixel.

area c1.x c1.y c1.z c2.x c2.y c2.z c3.x c3.y c3.z r g b
Place area light at corner = c1, edge1 = c2-c1, edge2 c3-c1, color rgb (creates soft shadows)

glossiness a
Set max perturbed area to a^2 for reflection

reflection r g b
Set reflectivity of object (default is 0,0,0)

transmissive r g b
Set transmissive color of a dielectric (default value is 1,1,1)

refraction r
Set refraction index (for transparent or translucent objects)

lensRadius r
Radius of camera lens (default is pinhole model with r = 0)

focus z
Set the focal plane at depth z, parallel to the image plane

zNear z
zFar z
Allow cross-sectional view or clipping at plane depth = z

maxverttex n
Indicates max number of vertices with texture coordinates to be n

vt x y z u v
Adds a vertex (x, y, z) with texture coordinate (u, v) to the verttex array

tritex i j k
Makes a triangle with vertices and texcoords indexed at i, j, and k in the verttex array

texture f
Disables textures if command is “texture off”, else loads in the texture file specified by f as the current texture
(textures are implemented for triangles and spheres)

perlin f
Set the turbulence amount for Perlin noise (used with bump mapping)
(Default value is 0.1)

bump s
"bump perlin" uses Perlin noise to perturb the normals on the shape's surface (bump mapping is disabled by default)
"bump off" disables bump mapping
(NOT YET IMPLEMENTED) "bump textureFile" uses the given image file to bump map the surface

obj filename
Loads in an object from the specified file
(smooth shading by default)