Just wondering, in double-buffered OpenGL (or general BlitzMax) rendering, you draw to the backbuffer usually. When you do a Flip to see the backbuffer, does it:
a) Give the graphics hardware a new pointer to somewhere in video memory so that the previously hidden image shows and is used to draw the image on the physical screen?
b) The backbuffer image is copied, pixel by pixel (more or less) to another buffer (ie front buffer), whereby only the front buffer is actually viewable, and there is never really any swapping going on, just copying from backbuffer to front?
c) Back and front buffers, or reference to them, are both swapped so that the old front buffer becomes the new backbuffer? And if so, does this involve copying all the pixels?
For example, in window mode, how would it double-buffer unless perhaps it has two buffers hidden in videoram and it copies to a portion of a third buffer - the desktop?
I'm just trying to figure what the options are for double buffering and which is faster or more appropriate in given situations, and also whether I could do my own `flip` in a different way. Like maybe I could only ever draw to the backbuffer, and to see it, do a CopyPixels to the front buffer... and just keep doing that all the time - ie the backbuffer is never seen and it isn't swapped, it's just copied?
a) Give the graphics hardware a new pointer to somewhere in video memory so that the previously hidden image shows and is used to draw the image on the physical screen?
b) The backbuffer image is copied, pixel by pixel (more or less) to another buffer (ie front buffer), whereby only the front buffer is actually viewable, and there is never really any swapping going on, just copying from backbuffer to front?
c) Back and front buffers, or reference to them, are both swapped so that the old front buffer becomes the new backbuffer? And if so, does this involve copying all the pixels?
For example, in window mode, how would it double-buffer unless perhaps it has two buffers hidden in videoram and it copies to a portion of a third buffer - the desktop?
I'm just trying to figure what the options are for double buffering and which is faster or more appropriate in given situations, and also whether I could do my own `flip` in a different way. Like maybe I could only ever draw to the backbuffer, and to see it, do a CopyPixels to the front buffer... and just keep doing that all the time - ie the backbuffer is never seen and it isn't swapped, it's just copied?