Seleccionando Buffers de Color Para Lectura y Escritura

3
Selecting Color Buffers for Writing and Reading El resultado de la operación dibujo o lectura pueden ir o provenir de alguno de los siguientes buffers de color: Frontal Fondo Frontal-Izquierdo Fondo-Izquierdo Frontal-Derecho Fondo-Derecho Cualquiera de los buffers auxiliares Se seleccionan glDrawBuffer() para seleccionar los buffers que se escribirán y glReadBuffer() para seleccionar el buffer como fuente paa glReadPixels(), glCopyPixels(), glCopyTexImage*() y glCopyTexSubImage*(). Si se esta usando buffer doble, se dibujara simplemente en la parte del fondo del buffer e intercambiar los buffers cundo se finaliza el dibujado. Selecciona los buffers de color activados para escribir o limpiar. Deshabilita los buffers activados por llamadas previas de este método. Más de un buffer puede ser activado al mismo tiempo. El valor del modo puede ser uno de los siguientes: GL_FRONT GL_FRONT_LEFT GL_AUXi GL_BACK GL_FRONT_RIGHT GL_FRONT_AND_BACK GL_LEFT GL_BACK_LEFT GL_NONE GL_RIGHT GL_BACK_RIGHT GL_COLOR_ATTACHMENTi void glDrawBuffer(Glenum mode); void glDrawBuffers(Glsizei n, const Glenum *buffers);

description

Archivo con las funciones y variables para el seleccionado de buffers y su respectiva lectura y escritura.

Transcript of Seleccionando Buffers de Color Para Lectura y Escritura

Selecting Color Buffers for Writing and Reading

El resultado de la operacin dibujo o lectura pueden ir o provenir de alguno de los siguientes buffers de color: Frontal Fondo Frontal-Izquierdo Fondo-Izquierdo Frontal-Derecho Fondo-Derecho Cualquiera de los buffers auxiliaresSe seleccionan glDrawBuffer() para seleccionar los buffers que se escribirn y glReadBuffer() para seleccionar el buffer como fuente paa glReadPixels(), glCopyPixels(), glCopyTexImage*() y glCopyTexSubImage*().

Si se esta usando buffer doble, se dibujara simplemente en la parte del fondo del buffer e intercambiar los buffers cundo se finaliza el dibujado.

Selecciona los buffers de color activados para escribir o limpiar. Deshabilita los buffers activados por llamadas previas de este mtodo. Ms de un buffer puede ser activado al mismo tiempo. El valor del modo puede ser uno de los siguientes:GL_FRONTGL_FRONT_LEFTGL_AUXi

GL_BACKGL_FRONT_RIGHTGL_FRONT_AND_BACK

GL_LEFTGL_BACK_LEFTGL_NONE

GL_RIGHTGL_BACK_RIGHTGL_COLOR_ATTACHMENTi

Los argumentos que omiten LEFT o RIGHT se refieren a ambos buffers; similar a esto, los argumentos que omiten FRONT y BACK se refieren a ambos.

Para el contexto del buffer simple por default es GL_FRONT y para buffer doble es GL_BACK.

Selecciona el color de buffer activado como la fuente para la lectura de pixeles, por consecuencia llama a glReadPixels(), glCopyPixels(), glCopyTexImage*(), and glCopyTexSubImage*(). Deshabilita buffers activados previamente por llamadas de glReadBuffer(). EL valor del modo puede ser alguna de las siguientes:

GL_FRONTGL_FRONT_LEFT

GL_BACKGL_FRONT_RIGHT

GL_LEFTGL_BACK_LEFT

GL_RIGHTGL_BACK_RIGHT

GL_AUXiGL_COLOR_ATTACHMENTi

Masking Buffers

Antes de que OpenGL escriba informacin en el color habilitado, profundidad o buffers de plantilla, una operacin de enmascaramiento es aplicado a la informacin, como se especifica con uno de los siguientes comandos:void glIndexMask (GLuint mask);

void glColorMask (GLboolean red, GLboolean green,

GLboolean blue, GLboolean alpha);

void glIndexMaski(GLuint buf, GLboolean red, GLboolean

green, GLboolean blue, GLboolean alpha);

void glDepthMask (GLboolean flag);

void glStencilMask (GLuint mask);

void glStencilMaskSeparate(GLenum face,GLuint mask);

glIndexMask() Solo aplica al modo de color ndice. Si mask se establece en 1 el bit correspondiente se escribe, si es 0 no se escribe. glColorMask() Afecta el dibujado en el modo RGBA glDepthMask() Se activa el buffer de profundidad. glStencilMask() Es utilizado por los datos de plantilla.Los valores por default para todas las mscaras GLboolean es GL_TRUE.El valor por default para las dos mascaras GLuint es 1.void glDrawBuffer(Glenum mode);void glDrawBuffers(Glsizei n, const Glenum *buffers);

void glReadBuffer(Glenum mode);