Licensing

REDsdk can be operated in one of the three modes described below:

Note:

Whatever the licensing mode you choose, you need to enter your licensing information at the very beginning of your application source code. REDsdk licensing must be the first steps in using the REDsdk API and is detailed below.

Using the REDsdk framework

REDsdk can be freely experienced within the REDsdk tutorial framework. The RFK::TutorialApplication class is the main entry point that can be used for prototyping with REDsdk. A binary will require the REDsdk tutorial framework to run. It can't run standalone without it.

The maximal runtime length of an executable program built with the REDsdk tutorial framework is set to 1 hour. After this time period, the executable must be restarted to continue operating.

Using a seat license

REDsdk can be purchased on-line. Each purchased license unlocks one customer's REDsdk-based application. The licensing service is provided by Redway3d's servers and therefore requires and Internet connection.

task

Task: Setting up a REDsdk per-seat license

Customers who purchased REDsdk on-line have received a unique customer ID (after the on-line acceptance of the EULA). This customer ID is the only information needed to register their REDsdk-based application:

// Initial creation or access to the resource manager:
RED::Object* resmgr = RED::Factory::CreateInstance( CID_REDResourceManager );
if( !resmgr )
  exit( 1 );

// Assuming we have a customer ID.
unsigned int customer_id = 123456789;

// Supply licensing informations to REDsdk:
RED::ILicense* ilicense = resmgr->As< RED::ILicense >();
RC_TEST( ilicense->SetOnlineLicense( customer_id ) );

// Verify activation of the product:
bool is_activated;
RC_TEST( ilicense->IsProductActivated( is_activated, RED::PROD_REDSDK ) );
if( is_activated == false )
{
  // We're in trouble. Maybe '123456789' does not work ;-)
  exit( 1 );
}

The on-line licensing process can fail for several reasons. In such cases, the RED::ILicense::SetOnlineLicense returns a code describing the error. In rare situations, Redway3d's servers can be down. To check that the service is up and running, please go to Check REDsdk licensing server on-line.

Using a software vendor license

REDsdk can be deployed with no restrictions if you own a customer ID and an activation key. In this configuration, REDsdk can be authorized to run on any computer by supplying it the licensing informations you have received, directly in your source code:

task

Task: Setting up a REDsdk software vendor license

You must have received a customer ID and an activation key from REDWAY3D to follow the code procedure detailed below. These licensing informations uniquely identify yourself or your company for any REDsdk based application:

// Initial creation or access to the resource manager:
RED::Object* resmgr = RED::Factory::CreateInstance( CID_REDResourceManager );
if( !resmgr )
  exit( 1 );

// Assuming we have a customer ID and activation key:
unsigned int customer_id = 123456789;
const char* activation_key = "111122223333444555666777888";

// Supply licensing informations to REDsdk:
RED::ILicense* ilicense = resmgr->As< RED::ILicense >();
RC_TEST( ilicense->SetLicense( activation_key, customer_id ) );

// Verify activation of the product:
bool is_activated;
RC_TEST( ilicense->IsProductActivated( is_activated, RED::PROD_REDSDK ) );
if( is_activated == false )
{
  // We're in trouble. Maybe '123456789' does not work ;-)
  exit( 1 );
}