To enable adaptive sampling, the application must:

  1. Change the sampler in use on the resource manager.
  2. Set some adaptation threshold.
  3. Set some software anti-aliasing.
// Access the resource manager to set the sampler to the HM sampler:
RED::Object* resmgr = RED::Factory::CreateInstance( CID_REDResourceManager );
if( !resmgr )

RED::IResourceManager* iresmgr = resmgr->As< RED::IResourceManager >();
RED::IOptions* iresopt = resmgr->As< RED::IOptions >();

RC_TEST( iresopt->SetOptionValue( RED::OPTIONS_SAMPLER, 1, iresmgr->GetState() ) );

// Then, access to the scene viewpoint 'camera' and set the amount of adaptation to use:
RED::IOptions* icamopt = camera->As< RED::IOptions >();
RC_TEST( icamopt->SetOptionValue( RED::OPTIONS_RAY_ADAPTIVE_SAMPLING_THRESHOLD, 0.005, iresmgr->GetState() ) );

// Don't forget to have some anti-aliasing enabled on your 'vrl', otherwise, adaptation won't work:
RED::IViewpointRenderList* ivrl = vrl->As< RED::IViewpointRenderList >();
RC_TEST( ivrl->SetSoftAntiAlias( 4, iresmgr->GetState() ) );

Please refer to the page here for all details: Adaptive sampling.