Software Rendering

Does OpenGL contain software rendering libraries which will get automatically invoked in absence of hardware accelerator? What is the extent of functionalities which can be simulated in software this way? OR are there any third party libraries have to be used instead?

OpenGL is just the API specification. Implementations are done by hardware vendors (of course they don’t provide a full software stack) or OS vendors (Mesa has some software functionality, not sure how mature that is and Apple has a full 3.2 core software renderer).

For GL 2.1 the software pipe is complete. For 3.0 I’m not sure either and for 3.1+ there isn’t any. :slight_smile: Mesa and connected drivers lag behind quite severely.

OpenGL itself specifies absolutely nothing about what is or is not hardware accelerated. Hardware vendors implement the OpenGL specification in their drivers and they decide.

Software replacement of OpenGL functionality is something that comes up fairly often, and it’s a definite case of “be careful what you wish for”. Your GPU plays a far greater role in this than I suspect people asking for it realise (remember: OpenGL itself does not actually draw anything - all it does is tell your driver to pass commands on to your GPU, which is where all the work really happens). OpenGL is not software and it is not a software library, and software replacement of rendering functionality may run as slow as less than 1 frame per second.

That’s what the Wiki is for

Read the first 4 sections.

In windows Vista/7 if there is no opengl ICD, opengl gets wrapped to direct x 9, up to something like opengl 1.4
I think the same happens in XP but maybe to only opengl 1.1

No it doesn’t. Vista supports 1.1 and Windows 7 probably also is 1.1.
I am running Vista and look at the screenshot.