Hi Paul,

GL3 requires a new entry point to create a GL3 context. As Microsoft has certainly not bothered to update their SDK to GL3, the only way to get access to the new context creation interface is to query for the extension and then call wglGetProcAddress. But of course this requires a current context first, so that the underlying device driver (which ultimately supports the new GL3 interface) is loaded and can be queried. So it's a chicken and egg problem.

When I ported FreeGLUT to GL3 on Windows 7 months ago, I did just as I described above: I created a regular GL1 context, made it current to an invisible window, and then queried for the GL3 context extension. Once I created the new context, I deleted the old one, along with the invisible Window, then carried on as usual with the rest of setup.

I'm inclined to implement this same mechanism in OSG unless someone has a better idea. Input welcome.

Currently Windows GL context is created in similar way. Have a look at GraphicsWindowWin32::setPixelFormat and Win32WindowingSystem::getSampleOpenGLContext. I believe you may use second method instead of first part of your plan.

Cheers,
Wojtek


_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to