Búferes frontal, atrás y otros
OpenGL almacena y manipula los datos de píxeles en un framebuffer. El framebuffer consta de un conjunto de búferes lógicos: búferes de color, profundidad, acumulación y galería de símbolos. El propio búfer de colores consta de un conjunto de búferes lógicos; este conjunto puede incluir un front-left, un front-right, un back-left, un back-right y un cierto número de búferes auxiliares. Es posible que un formato de píxel determinado o una implementación de OpenGL no proporcionen todos estos búferes. Por ejemplo, la versión actual de la implementación de OpenGL de Microsoft en Windows no admite imágenes estereoscópicas, por lo que un formato de píxel no puede tener búferes de color izquierdo y derecho. Además, la versión actual no admite búferes auxiliares. Para obtener más información sobre los búferes de OpenGL y las funciones de OpenGL que funcionan en ellos, consulte el manual de referencia de OpenGL y la Guía de programación de OpenGL.
La implementación de Microsoft de OpenGL en Windows admite el doble almacenamiento en búfer de imágenes. Se trata de una técnica en la que una aplicación dibuja píxeles en un búfer fuera de pantalla y, a continuación, cuando esa imagen está lista para mostrarse, copia el contenido del búfer fuera de pantalla en un búfer en pantalla. El almacenamiento en búfer doble permite cambios de imagen suaves, que son especialmente importantes para las imágenes animadas.
Hay dos búferes de color disponibles para las aplicaciones que usan el almacenamiento en búfer doble: un búfer frontal y un búfer de reserva. De forma predeterminada, los comandos de dibujo se dirigen al búfer atrás (el búfer fuera de pantalla), mientras que el búfer frontal se muestra en la pantalla. Cuando el búfer fuera de pantalla está listo para mostrarse, llama a SwapBuffersy Windows copia el contenido del búfer fuera de pantalla en el búfer en pantalla.
La implementación genérica usa un mapa de bits independiente del dispositivo (DIB) como búfer de reserva y la pantalla como búfer frontal. Los dispositivos de hardware y sus controladores pueden usar diferentes enfoques.
El almacenamiento en búfer doble es una propiedad de formato de píxel. Para solicitar el almacenamiento en búfer doble para un formato de píxel, establezca la marca de PFD_DOUBLEBUFFER en el PIXELFORMATDESCRIPTOR estructura de datos en una llamada a ChoosePixelFormat.
La función principal openGL, glDrawBuffer, selecciona búferes para escribir y borrar.
Temas relacionados