PDA

View Full Version : GLX Questions from a Windows Coder



Asgard
07-08-2002, 04:09 AM
Hello,

I'm usually a Windows coder, but am starting to do some development under Linux too (simply because I like open source stuff).
There are a couple of things, however, that are a bit unclear to me when using GLX (especially when compared to WGL).
I have an NVIDIA card and therefore use the NVIDIA Linux driver and the GLX extension.
When using the NVIDIA GLX extension, does that mean that I'll only get FBConfigs supported by the NVIDIA driver, when querying for them via glXGetFBConfigs? Or is there some kind of software reference implementation as there is under Windows. Under Windows, when querying the available pixel formats, some are pixel formats of the generic MS OpenGL 1.1 software implementation, and others are pixel formats of the NVIDIA ICD OpenGL driver.
So my real question is: Is there a concept of ICD drivers under Linux as there is under Windows?

Another question, that is probably more X related: What exactly is a GLXFBConfig? When calling glXGetFBConfigs from two different processes, will they get the same list of FBConfigs with the same values?

Thanks for any help,
Regards,
Asgard

07-08-2002, 07:27 PM
NVidia is replacing the whole OpenGL library under linux so it is not just a driver. Their implementation of GLX is 1.2 but the FBConfigs are new in 1.3. Standard GLX 1.2 is using (GLX extended) visuals instead. My man pages for GLX describes 1.2 so you can type "man glXIntro" and compare with this for 1.3 http://techpubs.sgi.com/library/tpl/cgi-...z&srch=glXIntro (http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=man&fname=/usr/share/catman/g_man/cat3/OpenGL/glxintro.z&srch=glXIntro)

NVidia has the SGIX_fbconfig extension so you can use FBConfigs. You will find a description of the extension starting at the middle of the page here http://techpubs.sgi.com/library/tpl/cgi-...l&srch=FBConfig (http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll=0650&db=bks&fname=/SGI_Developer/books/OpenGLonSGI/sgi_html/ch06.html&srch=FBConfig)

In my opinion is it easier to use glXChooseVisual() but you have to use FBConfigs for pbuffers. You can read the GLX specification for more details. You will find them and other documentation here http://toolbox.sgi.com/linux/Guide/Picks/