Interpolating GI for Flickering-Free Animations

Instead of supplying a single GI cache for rendering, you can pass as many caches as you want to enable GI interpolation:

// "win" is a pointer to a RED window.
// "viewpoint" is a pointer to a scene viewpoint.
RED::IWindow* iwin = win->As< RED::IWindow >();

RED::Object* vrl;
RC_TEST( iwin->GetDefaultVRL( vrl ) );

RED::IViewpointRenderList* ivrl = vrl->As< RED::IViewpointRenderList >();

// gi_caches is a RED vector of GI caches computed using RED::IWindow::FrameTracingGICache.
RC_TEST( ivrl->SetViewpointGICaches( gi_caches, viewpoint, iresmgr->GetState() ) );