opengl - ¿GlBlitFramebuffer copia todos los archivos adjuntos de color si se especifica la máscara GL_COLOR_BUFFER_BIT?
(1)
No pude encontrar esto en ninguna parte de la documentación de OpenGL. Lo siento si ha sido respondido antes. Pero mi pregunta es si estoy copiando píxeles de un FBO a otro y cada uno de ellos tiene múltiples (no necesariamente el mismo número) de archivos adjuntos de color, y si mi máscara es GL_COLOR_BUFFER_BIT, qué archivos adjuntos de color (GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1, .... GL_COLOR_ATTACHMENTN) ¿se copia? ¿Todos ellos? En caso afirmativo, ¿qué pasa si estos FBO tienen una cantidad diferente de almacenamientos intermedios de color conectados a ellos?
Suponga que hay 2 FBO que están obligados de esta manera:
glBindFramebuffer(GL_READ_FRAMEBUFFER, fbo1);
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fbo2);
Tenga en cuenta que fbo1 tiene 2 archivos adjuntos de color y fbo2 tiene 4 archivos adjuntos de color.
Entonces, ¿cómo funciona el blitlitFrameBuffer blit adjuntos de color en este caso?
Una operación de borrado de color de framebuffer solo leerá del glReadBuffer
actual para GL_READ_FRAMEBUFFER
, y solo escribirá en los glDrawBuffers
especificados para GL_DRAW_FRAMEBUFFER
. Entonces no se trata de los archivos adjuntos; se trata de los búferes de lectura y dibujo de los dos framebuffers.