- return SGSearchExtensionsString((char *)glGetString(GL_EXTENSIONS),
-extName);
-}
-
-#ifdef __APPLE__
-
-#include <CoreFoundation/CoreFoundation.h>
-
-void* macosxGetGLProcAddress(const char *func) {
-
- /* We may want to cache the bundleRef at some point */
- static CFBundleRef bundle = 0;
-
- if (!bundle) {
-
- CFURLRef bundleURL = CFURLCreateWithFileSystemPath (kCFAllocatorDefault,
- CFSTR("/System/Library/Frameworks/OpenGL.framework"), kCFURLPOSIXPathStyle, true);
-
- bundle = CFBundleCreate (kCFAllocatorDefault, bundleURL);
- CFRelease (bundleURL);
- }
-
- if (!bundle)
- return 0;
-
- CFStringRef functionName = CFStringCreateWithCString
- (kCFAllocatorDefault, func, kCFStringEncodingASCII);
-
- void *function;
-
- function = CFBundleGetFunctionPointerForName (bundle, functionName);
-
- CFRelease (functionName);
-
- return function;
-}
-
-#else if !defined( WIN32 )
-
-void *SGGetGLProcAddress(const char *func) {
- static void *libHandle = NULL;
- void (*fptr)() = NULL;
-
- /*
- * Clear the error buffer
- */
- dlerror();
-
- if (libHandle == NULL)
- libHandle = dlopen("libGL.so", RTLD_LAZY);
-
- if (libHandle != NULL) {
- fptr = (void (*)()) dlsym(libHandle, func);
-
- char *error = dlerror();
- if (error)
- SG_LOG(SG_GENERAL, SG_INFO, error);
- }
-
- return fptr;