有效地将子图像从主机复制到opengl像素缓冲区对象

时间:2015-05-15 11:30:34

标签: c++ opengl pbo

我正在将数据从CPU主机移动到OpenGL内存,我使用像素缓冲区对象来做到这一点。我可以像这样复制整个图像:

glBindBuffer(GL_PIXEL_UNPACK_BUFFER, buffer);
GLubyte * data = (GLubyte *)glMapBuffer(GL_PIXEL_UNPACK_BUFFER, 
                  GL_READ_WRITE);

// copying 4 channel 8 unsigned char data
memcpy(data, cpu_data, rows * cols * 4);

这实际上非常快。但是,现在我需要复制数据的矩形子图像。所以,从本质上讲,我需要做多个memcpy才能做到这一点,因为我将不得不逐行复制内容。我想知道是否有更快的方法来执行此操作。

0 个答案:

没有答案
相关问题