Optix 6.5 error

So your CUDA file containing the function SceneLaunch contains an “rtCallableProgram” line for “ExternalTrace”?
So the error message sounds like you didn’t assign an actual “Program” object to variable in your host code.

If you have a look at the “optixCallablePrograms” example in the OptiX SDK 6.5.0, you can find such an assignment of a callable program variable “shade_normal” in the “createScene()” function in optixCallablePrograms.cpp:

  ptx = sutil::getPtxString( SAMPLE_NAME, "optixCallablePrograms.cu" );
  Program closest_hit_prog = context->createProgramFromPTXString( ptx, "closest_hit_radiance" );
  Program shade_prog       = context->createProgramFromPTXString( ptx, "shade_from_normal" );
  Material material = context->createMaterial();
  material->setClosestHitProgram( 0, closest_hit_prog );
  material[ "shade_normal" ]->set( shade_prog );

Hope that helps
Moritz