protected override Resource _create( string name, ulong handle, string group, bool isManual, IManualResourceLoader loader, GpuProgramType type, string syntaxCode )
{
// if there is none, this syntax code must not be supported
// just return the base GL program since it won't be doing anything anyway
if ( factories[ syntaxCode ] == null )
{
return new GLGpuProgram( this, name, handle, group, isManual, loader );
}
// get a reference to the factory for this syntax code
IOpenGLGpuProgramFactory factory = (IOpenGLGpuProgramFactory)factories[ syntaxCode ];
// create the gpu program
return factory.Create( this, name, handle, group, isManual, loader, type, syntaxCode );
}