Some games have both 2D and 3D graphics, with the 2D graphics usually being some kind of status display. This is no problem for either software rendering or OpenGL-in-a-window rendering on a 2D/3D card.
However, some cards do not support OpenGL in a window, such as the older 3dfx ones, and I'm asking what might be the best way to get the 2D graphics displayed.
One way to draw the 2D parts in an offscreen buffer and then blit them to the screen with glDrawPixels(). This could be made smarter by only blitting the updated parts.
How well does that solution work in practice? I'm especially interested in considering that as a source-code improvement for Bungie's Marathon engine (http://source.bungie.org).