Added a new TestScene3 for testing AABVH performance on large scenes.
Removed shadow calculation methods from Material.
Modified Sphere to now be a static object on configured instantiation.
Modified triangle to now be a static object on configured instantiation.
Added shadow helper methods to Light.
Removed shadow checks from existing materials.
Modified existing light implementations in preparation of the new programmable light interface
Added a parameter to PinholeCamera to enable/disable ray caching.
Increased the message threshold-before-pause in Logger to prevent aggressive sleeping of the main thread when the log queue is full.
Modified Cube to be a static object when instantiated.
Added a map registration method to StringParser.
Added a "dynamic" flag to CompositeSurface to allow subclasses to choose how to act when a surface is static or dynamic.
Added a convenience class Instance
Modified AABVHSurface to handle a corner-case on creation where all surfaces overlap so significantly that it is not possible to split the space.
Fixed a bug in bounding box calculation in MatrixTransformSurface
Modified test settings.
Added a ResourceManager for automatically loading files and generating instances of pre-loaded resources.
Fixed a compilation error.
Added a new material for simulating metals, FresnelMetalMaterial
Added a string parser for faces in .obj files.