Suppose you want to view the scene from different viewpoints
Think of this as translating, rotating, etc. the scene as a whole
Do this by multiplying all triangle instancing transformations,
T1, T2, etc., by a “viewing
transformation” V
V T1
V T2
etc.
Or, more usefully, since the instance transformations are
probably stored as the inverse transformations, multiply on
the right by the inverse of the viewing transformation, to
create something that maps rays in a how-you-want-to-see-it
coordinate system to ones in the world coordinate system to
ones in a canonical coordinate system
T1-1 V-1
etc.
Next
Ray-object intersections for spheres, planes, etc.