Lesen Sie die Pixel Werte aus dem Frame Buffer Object (FBO) unter Verwendung der Pixel Buffer Object (PBO)

Kann ich Pixel Buffer Object (PBO) zum direkten Auslesen der Pixel-Werte (d.h. mit glReadPixels) aus der FBO (also während FBO ist noch angebracht)?

Wenn ja,

  1. Was sind die Vorteile und Nachteile der Verwendung von PBO mit FBO?
  2. Was ist das problem mit folgenden code

{

//DATA_SIZE = WIDTH * HEIGHT * 3 (BECAUSE I AM USING 3 CHANNELS ONLY)
//FBO and PBO status is good
.
.
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fboId);
//Draw the objects

Folgenden glReadPixels funktioniert

glReadPixels(0, 0, screenWidth, screenHeight, GL_BGR_EXT, GL_UNSIGNED_BYTE,  (uchar*)cvimg->imageData);

Folgenden glReadPixels FUNKTIONIERT NICHT 🙁

glBindBufferARB(GL_PIXEL_PACK_BUFFER_ARB, pboId);
//yes glWriteBuffer has also same target and I also checked with every possible values
glReadBuffer(GL_COLOR_ATTACHMENT0_EXT); 
glReadPixels(0, 0, screenWidth, screenHeight, GL_BGR_EXT, GL_UNSIGNED_BYTE, (uchar*)cvimg->imageData);
.
.
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); //back to window framebuffer

InformationsquelleAutor Rudi | 2011-05-26

Schreibe einen Kommentar