Kopiert glBlitFramebuffer alle Farbanhänge, wenn die GL_COLOR_BUFFER_BIT Maske angegeben ist

9

Ich konnte das nirgends in der OpenGL-Dokumentation finden. Es tut uns leid, wenn es zuvor beantwortet wurde. Aber meine Frage ist, wenn ich Pixel von einem FBO zu einem anderen kopiere und jeder von ihnen mehrere (nicht die gleiche Anzahl) von Farbanhängen hat, und wenn meine Maske GL_COLOR_BUFFER_BIT ist, welche Farbanhänge (GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1, .... GL_COLOR_ATTACHMENTN) Kopiert es? Alle von ihnen? Wenn ja, was ist, wenn diese FBOs eine unterschiedliche Anzahl von Farbpuffern haben?

Angenommen, es gibt zwei FBOs, die auf diese Weise gebunden sind:

%Vor%

Beachten Sie, dass fbo1 über zwei Farbanhänge verfügt und fbo2 über vier Farbanhänge verfügt.

Wie also blobiert der glBlitFrameBuffer in diesem Fall Anhänge?

    
viktorzeid 17.07.2013, 05:20
quelle

1 Antwort

13

Ein Framebuffer-Farbblitzvorgang wird nur von aktuell glReadBuffer für GL_READ_FRAMEBUFFER , und es wird nur in der glDrawBuffers , der für GL_DRAW_FRAMEBUFFER angegeben wurde. Es geht also nicht um die Eigensinne; es geht um die Lese- und Zeichenpuffer der beiden Framebuffer.

    
Nicol Bolas 17.07.2013 05:31
quelle

Tags und Links