/// <summary> /// Creates a System.Delegate that can be used to call a GLU function, core or extension. /// </summary> /// <param name="name">The name of the GLU function (eg. "gluBuild2DMipmaps")</param> /// <param name="signature">The signature of the GLU function.</param> /// <returns> /// A System.Delegate that can be used to call this GLU function, or null if the specified /// function name did not correspond to an GLU function. /// </returns> private static Delegate LoadDelegate(string name, Type signature) { MethodInfo m = importsClass.GetMethod(name.Substring(3), BindingFlags.Static | BindingFlags.NonPublic); return (GL.GetExtensionDelegate(name, signature) ?? (m != null ? Delegate.CreateDelegate(signature, m) : null)); }