If the source of the download is still in use, like a render target, this forces a partial or full flush.īy allowing OpenGL to manage the memory used as the source or destination of pixel transfer operations, OpenGL is able to avoid explicit synchronization until the user accesses the buffer object. For downloading (pixel pack), this is much worse, as the entire download operation must take place immediately. For uploading (pixel unpack), this means that, at a minimum, the OpenGL implementation must copy the memory into an internal buffer in order to do an asynchronous DMA transfer. In standard pixel transfer operations, the pixel transfer functions are not permitted to return until the client-side memory is no longer in use. FBOs are about rendering to off-screen images PBOs are about pixel transfers to/from the user from/to images in OpenGL. Note the capitalization "framebuffer" is one word. PBOs have nothing to do with Framebuffer Objects. The storage for the image data remains with the texture. They are only used to perform pixel transfers the buffer objects used in this process do not become connected to the texture in any way. There are many misconceptions about what PBOs are.
0 Comments
Leave a Reply. |