This would speed up small changes (for example a projection) inside a transformation chain if you need to change just a transformation parameter.
The problem: The update mechanism is bypassed then, since TransformationChain() can't control the changes made.
Solution ideas:
Use smart pointers to control this in the non-const overload (count references, if greater zero then permanently schedule for update)
Improve/redesign the lazy-update system
Manual ScheduleUpdate() function
Changes to be made:
All classes that use transformation chains shall now not replace the complete transformation, but only change the desired value.
This would speed up small changes (for example a projection) inside a transformation chain if you need to change just a transformation parameter. The problem: The update mechanism is bypassed then, since TransformationChain() can't control the changes made.
Solution ideas:
ScheduleUpdate()
functionChanges to be made: All classes that use transformation chains shall now not replace the complete transformation, but only change the desired value.