begin to introduce an object hierarchy so that scene objects can be associated with transforms. e.g. SceneObject is a container for a transform. SceneLight is a SceneObject (which has a transform) that has a Light.
manipulators can operate on those transforms
fix several bugs with the rotation tool
split large files into separate files per class (AreaLightTool, MoveTool, RotateTool etc)
fix one floating-point shading bug on Windows in the gui shader
Area lights are currently manipulated by rotation of their direction vector only (as seen in SceneLight::updateTransform)
This code change accomplishes the following:
SceneObject
is a container for a transform.SceneLight
is aSceneObject
(which has a transform) that has a Light.SceneLight::updateTransform
)