*
*/
-#include <string.h>
#include "extensions.hxx"
-#include <simgear/debug/logstream.hxx>
+
+#include <cstring>
+#include <osg/GL> // for glGetString
bool SGSearchExtensionsString(const char *extString, const char *extName) {
// Returns GL_TRUE if the *extName string appears in the *extString string,
return GL_FALSE;
}
-bool SGIsOpenGLExtensionSupported(char *extName) {
+bool SGIsOpenGLExtensionSupported(const char *extName) {
// Returns GL_TRUE if the OpenGL Extension whose name is *extName
// is supported by the system, or GL_FALSE otherwise.
//
return SGSearchExtensionsString((const 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;
-}
-
-#elif !defined( WIN32 )
-
-void *SGGetGLProcAddress(const char *func) {
- static void *libHandle = NULL;
- void *fptr = NULL;
-
- /*
- * Clear the error buffer
- */
- dlerror();
-
- /*
- * Since libGL must be linked to the binary we run on, this is the
- * right handle. That 'current binary' handle also avoids conflicts which
- * arise from linking with a different libGL at link time an than later
- * use the standard libGL at runtime ...
- */
- if (libHandle == NULL)
- libHandle = dlopen(NULL, RTLD_LAZY);
-
- if (libHandle != NULL) {
- fptr = dlsym(libHandle, func);
-
-#if defined (__FreeBSD__)
- const char *error = dlerror();
-#else
- char *error = dlerror();
-#endif
- if (error)
- SG_LOG(SG_GENERAL, SG_INFO, error);
- }
-
- return fptr;
-}
-
-#endif
-