PDA

View Full Version : Software Rendering GL_EXTENSIONS windows 7



Geetha Priya
12-01-2016, 03:42 AM
Hi All,

We switch between hardware and software rendering by setting the pixel format as mentioned in "https://www.opengl.org/archives/resources/faq/technical/mswindows.htm" (5.030)

When we enable software rendering, glGetString(GL_VERSION) returns 1.1.0. Because of which when i query glGetString( GL_EXTENSIONS ), only few GL_WIN_swap_hint GL_EXT_bgra GL_EXT_paletted_texture are returned.

As, GL_EXT_framebuffer_object is not found, wglGetProcAddress("glBindRenderbufferEXT") returns NULL. (though openGL wiki tells 1.1 is sufficient for GL_EXT_framebuffer_object)
[Note: GL context is created and made current.]

When we enable hardware rendering, version is 4.1.0 and glGetString( GL_EXTENSIONS ) returns all the supported extensions and wglGetProcAddress succeeds.

Graphics Card used - NVIDIA Quadro 600

Thanks and Regards,
Geetha

GClements
12-01-2016, 07:04 AM
As, GL_EXT_framebuffer_object is not found, wglGetProcAddress("glBindRenderbufferEXT") returns NULL. (though openGL wiki tells 1.1 is sufficient for GL_EXT_framebuffer_object)

That just means that the extension is written against OpenGL 1.1, and could theoretically be provided by an implementation which otherwise only implements OpenGL 1.1. It isn't implemented by the Windows software driver and almost certainly never will be.

mhagain
12-01-2016, 01:56 PM
We switch between hardware and software rendering by setting the pixel format as mentioned in "https://www.opengl.org/archives/resources/faq/technical/mswindows.htm" (5.030)

The FAQ is misleading; this is actually not a method for switching between software and hardware rendering; what it is is a method for selecting which OpenGL implementation to use.

If you select a pixel format that is not hardware accelerated you will get Microsoft's generic software implementation.

If you select a pixel format that is hardware accelerated you will get your GPU vendor's driver.

So two different GL implementations, hence the fact that they report different versions and extensions.

Geetha Priya
12-01-2016, 08:27 PM
That just means that the extension is written against OpenGL 1.1, and could theoretically be provided by an implementation which otherwise only implements OpenGL 1.1. It isn't implemented by the Windows software driver and almost certainly never will be.

Thanks for the info. Is there a alternative way to use EXT_framebuffer_object in GDI generic.?
Or can GDI generic version can be upgraded from 1.1?

GClements
12-01-2016, 09:36 PM
Thanks for the info. Is there a alternative way to use EXT_framebuffer_object in GDI generic.?
Or can GDI generic version can be upgraded from 1.1?
No, on both counts.

If you want additional features, you need to either get a video card which supports them, or use Mesa.