用PBO上传OpenGL平铺纹理

用PBO上传OpenGL平铺纹理,opengl,textures,gpu,pbo,Opengl,Textures,Gpu,Pbo,我使用PBO的方式如下: glGenBuffersARB(1, &pboIds); glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, pboIds); glBufferDataARB(GL_PIXEL_UNPACK_BUFFER_ARB, FB_SIZE, 0, GL_DYNAMIC_DRAW_ARB); unsigned char* ptr = (unsigned char*)glMapBufferARB(GL_PIXEL_UNPACK_BUFFE

我使用PBO的方式如下:

glGenBuffersARB(1, &pboIds);
glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, pboIds);
glBufferDataARB(GL_PIXEL_UNPACK_BUFFER_ARB, FB_SIZE, 0, GL_DYNAMIC_DRAW_ARB);
unsigned char* ptr = (unsigned char*)glMapBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, GL_WRITE_ONLY_ARB);
memcpy(ptr, g_fb_addr, FB_SIZE);
glBindTexture(GL_TEXTURE_2D, textureId);
glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, FB_WIDTH, FB_HEIGHT, FB_FORMAT, GL_UNSIGNED_BYTE, 0);
glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, 0);
我使用textureId在屏幕上显示。顺便说一句,g_fb_addr,这是图像的源代码,具有平铺内存布局。因此,显示的图像在水平轴上分条


我的问题是,有没有办法将平铺图像上传到PBO中?

这个问题是什么意思?您可以将任意数据上载到PBO。没有理由不能将PBO与较大图像的平铺一起使用。