OpenGL acceleration

konan

Registered
Is there any way (any way at all) to force an OpenGL program to run in software mode? I would like to have this option if the user's OpenGL video card is not working properly with my program.

On the PC version of my software, several OpenGl video cards crap out while they do not in software mode.

Konan
 
I can't say for certain, but as far us I understand OpenGL, its code that is designed to run on a GFX card - and there is no software mode. The whole point is that it runs on the GFX card, if you wanted software rendering, you would have to re-write with no OpenGL

-Dan
 
Um part of the OpenGL spec is that there be a software renderer imlemented for default use in the event that no hardware exists which can handle the OpenGL API calls itself. OpenGL was around before hardware to accelerate it, though it was IRIS GL then. The reason that OpenGL lends itself to being hardware augmented is because of the standard and simple graphics pipeline that it implements. It allows a great deal of access to the different stages of the pipeline, and almost all of them are able to be accelerated in hardware, the most recent stage to be accelerated by consumer hardware is the Transform and Clipping stage.

You'll notice in the "OpenGL Info" application which comes with the Dev tools that there is a "Generic" renderer in addition to any hardware renderer that might be available. That "Generic" renderer is the software renderer for OpenGL. You can even expand it's tree arrow and look at it's particular attributes and capabilities.

In so far as forcing your software to only use the software renderer I know it's possible. What kind of application is it? Are you building it as a Cocoa app with an NSOpenGLView, a Carbon application with the AGL framework, or a cross platform standard GLUT application?

The method to select the renderer on the system you want to use is different for each method.

-Nathan
 
Back
Top