mirror of
https://github.com/nigels-com/glew.git
synced 2024-11-22 13:55:07 +00:00
*** empty log message ***
git-svn-id: https://glew.svn.sourceforge.net/svnroot/glew/trunk/glew@219 783a27ee-832a-0410-bc00-9f386506c6dd
This commit is contained in:
parent
2b006727bd
commit
af4e79fedb
@ -12,14 +12,22 @@ int main (int argc, char** argv)
|
||||
|
||||
if (glewParseArgs(argc-1, argv+1, &display, &visual))
|
||||
{
|
||||
#ifdef _WIN32
|
||||
#if defined(_WIN32)
|
||||
fprintf(stderr, "Usage: glewinfo [-pf <id>]\n");
|
||||
#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
|
||||
fprintf(stderr, "Usage: glewinfo\n");
|
||||
#else
|
||||
fprintf(stderr, "Usage: glewinfo [-display <display>] [-visual <id>]\n");
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
#if defined(_WIN32)
|
||||
if (GL_TRUE == glewCreateContext(&visual))
|
||||
#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
|
||||
if (GL_TRUE == glewCreateContext())
|
||||
#else
|
||||
if (GL_TRUE == glewCreateContext(display, &visual))
|
||||
#endif
|
||||
{
|
||||
fprintf(stderr, "Error: glewCreateContext failed\n");
|
||||
glewDestroyContext();
|
||||
@ -33,7 +41,7 @@ int main (int argc, char** argv)
|
||||
glewDestroyContext();
|
||||
return 1;
|
||||
}
|
||||
#ifdef _WIN32
|
||||
#if defined(_WIN32)
|
||||
f = fopen("glewinfo.txt", "w");
|
||||
if (f == NULL) f = stdout;
|
||||
#else
|
||||
@ -43,9 +51,9 @@ int main (int argc, char** argv)
|
||||
fprintf(f, " GLEW Extension Info\n");
|
||||
fprintf(f, "---------------------------\n\n");
|
||||
fprintf(f, "GLEW version %s\n", glewGetString(GLEW_VERSION));
|
||||
#ifdef _WIN32
|
||||
#if defined(_WIN32)
|
||||
fprintf(f, "Reporting capabilities of pixelformat %d\n", visual);
|
||||
#else
|
||||
#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||
fprintf(f, "Reporting capabilities of display %s, visual 0x%x\n",
|
||||
display == NULL ? getenv("DISPLAY") : display, visual);
|
||||
#endif
|
||||
@ -53,9 +61,9 @@ int main (int argc, char** argv)
|
||||
glGetString(GL_RENDERER), glGetString(GL_VENDOR));
|
||||
fprintf(f, "OpenGL version %s is supported\n", glGetString(GL_VERSION));
|
||||
glewInfo();
|
||||
#ifdef _WIN32
|
||||
#if defined(_WIN32)
|
||||
wglewInfo();
|
||||
#else
|
||||
#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||
glxewInfo();
|
||||
#endif
|
||||
if (f != stdout) fclose(f);
|
||||
@ -70,27 +78,29 @@ GLboolean glewParseArgs (int argc, char** argv, char** display, int* visual)
|
||||
int p = 0;
|
||||
while (p < argc)
|
||||
{
|
||||
#ifdef _WIN32
|
||||
if (!strcmp(argv[p], "-pf"))
|
||||
{
|
||||
if (++p >= argc) return GL_TRUE;
|
||||
*visual = atoi(argv[p++]);
|
||||
}
|
||||
else
|
||||
return GL_TRUE;
|
||||
#else
|
||||
if (!strcmp(argv[p], "-display"))
|
||||
{
|
||||
if (++p >= argc) return GL_TRUE;
|
||||
*display = argv[p++];
|
||||
}
|
||||
else if (!strcmp(argv[p], "-visual") || !strcmp(argv[p], "-pf"))
|
||||
#if defined(_WIN32)
|
||||
if (!strcmp(argv[p], "-pf") || !strcmp(argv[p], "-pixelformat"))
|
||||
{
|
||||
if (++p >= argc) return GL_TRUE;
|
||||
*visual = strtol(argv[p++], NULL, 0);
|
||||
}
|
||||
else
|
||||
return GL_TRUE;
|
||||
#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||
if (!strcmp(argv[p], "-display"))
|
||||
{
|
||||
if (++p >= argc) return GL_TRUE;
|
||||
*display = argv[p++];
|
||||
}
|
||||
else if (!strcmp(argv[p], "-visual"))
|
||||
{
|
||||
if (++p >= argc) return GL_TRUE;
|
||||
*visual = strtol(argv[p++], NULL, 0);
|
||||
}
|
||||
else
|
||||
return GL_TRUE;
|
||||
#else
|
||||
return GL_TRUE;
|
||||
#endif
|
||||
}
|
||||
return GL_FALSE;
|
||||
@ -98,13 +108,13 @@ GLboolean glewParseArgs (int argc, char** argv, char** display, int* visual)
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
#ifdef _WIN32
|
||||
#if defined(_WIN32)
|
||||
|
||||
HWND wnd = NULL;
|
||||
HDC dc = NULL;
|
||||
HGLRC rc = NULL;
|
||||
|
||||
GLboolean glewCreateContext (int* visual)
|
||||
GLboolean glewCreateContext (int* pixelformat)
|
||||
{
|
||||
WNDCLASS wc;
|
||||
PIXELFORMATDESCRIPTOR pfd;
|
||||
@ -115,23 +125,24 @@ GLboolean glewCreateContext (int* visual)
|
||||
wc.lpszClassName = "GLEW";
|
||||
if (0 == RegisterClass(&wc)) return GL_TRUE;
|
||||
/* create window */
|
||||
wnd = CreateWindow("GLEW", "GLEW", 0, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, GetModuleHandle(NULL), NULL);
|
||||
wnd = CreateWindow("GLEW", "GLEW", 0, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
|
||||
CW_USEDEFAULT, NULL, NULL, GetModuleHandle(NULL), NULL);
|
||||
if (NULL == wnd) return GL_TRUE;
|
||||
/* get the device context */
|
||||
dc = GetDC(wnd);
|
||||
if (NULL == dc) return GL_TRUE;
|
||||
/* find pixel format */
|
||||
ZeroMemory(&pfd, sizeof(PIXELFORMATDESCRIPTOR));
|
||||
if (*visual == -1) /* find default */
|
||||
if (*pixelformat == -1) /* find default */
|
||||
{
|
||||
pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR);
|
||||
pfd.nVersion = 1;
|
||||
pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL;
|
||||
*visual = ChoosePixelFormat(dc, &pfd);
|
||||
if (*visual == 0) return GL_TRUE;
|
||||
*pixelformat = ChoosePixelFormat(dc, &pfd);
|
||||
if (*pixelformat == 0) return GL_TRUE;
|
||||
}
|
||||
/* set the pixel format for the dc */
|
||||
if (FALSE == SetPixelFormat(dc, *visual, &pfd)) return GL_TRUE;
|
||||
if (FALSE == SetPixelFormat(dc, *pixelformat, &pfd)) return GL_TRUE;
|
||||
/* create rendering context */
|
||||
rc = wglCreateContext(dc);
|
||||
if (NULL == rc) return GL_TRUE;
|
||||
@ -148,11 +159,9 @@ void glewDestroyContext ()
|
||||
UnregisterClass("GLEW", GetModuleHandle(NULL));
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
# if defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
|
||||
#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
|
||||
|
||||
#include <AGL/agl.h>
|
||||
|
||||
@ -162,16 +171,16 @@ GLboolean glewCreateContext ()
|
||||
{
|
||||
int attrib[] = { AGL_RGBA, AGL_NONE };
|
||||
AGLPixelFormat pf;
|
||||
//int major, minor;
|
||||
//SetPortWindowPort(wnd);
|
||||
//aglGetVersion(&major, &minor);
|
||||
//fprintf(stderr, "GL %d.%d\n", major, minor);
|
||||
/*int major, minor;
|
||||
SetPortWindowPort(wnd);
|
||||
aglGetVersion(&major, &minor);
|
||||
fprintf(stderr, "GL %d.%d\n", major, minor);*/
|
||||
pf = aglChoosePixelFormat(NULL, 0, attrib);
|
||||
if (NULL == pf) return GL_TRUE;
|
||||
ctx = aglCreateContext(pf, NULL);
|
||||
if (NULL == ctx || AGL_NO_ERROR != aglGetError()) return GL_TRUE;
|
||||
aglDestroyPixelFormat(pf);
|
||||
//aglSetDrawable(ctx, GetWindowPort(wnd));
|
||||
/*aglSetDrawable(ctx, GetWindowPort(wnd));*/
|
||||
octx = aglGetCurrentContext();
|
||||
if (NULL == aglSetCurrentContext(ctx)) return GL_TRUE;
|
||||
return GL_FALSE;
|
||||
@ -183,10 +192,10 @@ void glewDestroyContext ()
|
||||
if (NULL != ctx) aglDestroyContext(ctx);
|
||||
}
|
||||
|
||||
# else /* __linux || __sgi || (__APPLE__ && GLEW_APPLE_GLX) */
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
|
||||
#else /* __UNIX || (__APPLE__ && GLEW_APPLE_GLX) */
|
||||
|
||||
Display* dpy = NULL;
|
||||
XVisualInfo* vi = NULL;
|
||||
XVisualInfo* vis = NULL;
|
||||
@ -230,7 +239,9 @@ GLboolean glewCreateContext (const char* display, int* visual)
|
||||
cmap = XCreateColormap(dpy, RootWindow(dpy, vi->screen), vi->visual, AllocNone);
|
||||
swa.border_pixel = 0;
|
||||
swa.colormap = cmap;
|
||||
wnd = XCreateWindow(dpy, RootWindow(dpy, vi->screen), 0, 0, 256, 256, 0, vi->depth, InputOutput, vi->visual, CWBorderPixel | CWColormap, &swa);
|
||||
wnd = XCreateWindow(dpy, RootWindow(dpy, vi->screen),
|
||||
0, 0, 1, 1, 0, vi->depth, InputOutput, vi->visual,
|
||||
CWBorderPixel | CWColormap, &swa);
|
||||
/* make context current */
|
||||
if (!glXMakeCurrent(dpy, wnd, ctx)) return GL_TRUE;
|
||||
return GL_FALSE;
|
||||
@ -248,6 +259,4 @@ void glewDestroyContext ()
|
||||
if (NULL != dpy) XCloseDisplay(dpy);
|
||||
}
|
||||
|
||||
# endif /* __linux || __sgi */
|
||||
|
||||
#endif
|
||||
#endif /* __UNIX || (__APPLE__ && GLEW_APPLE_GLX) */
|
||||
|
@ -41,7 +41,14 @@
|
||||
|
||||
static FILE* f;
|
||||
|
||||
#if defined(_WIN32)
|
||||
GLboolean glewCreateContext (int* pixelformat);
|
||||
#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||
GLboolean glewCreateContext (const char* display, int* visual);
|
||||
#else
|
||||
GLboolean glewCreateContext ();
|
||||
#endif
|
||||
|
||||
GLboolean glewParseArgs (int argc, char** argv, char** display, int* visual);
|
||||
void glewDestroyContext ();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user