我有一个系统,每当redraw()完成执行时,我会在分配的内存中缓存每个窗口的后台缓冲区。后缓冲区存储为unsigned long数组,内容读入如下,并使用glDrawPixels()调用内容;
{
unsigned long *buffer;
buffer = ( unsigned long * )malloc( imgW * imgH );
redraw();
glFinish();
glReadPixels( 0, 0, imgW, imgH, GL_RGBA, GL_UNSIGNED_BYTE, buffer );
}
我希望优化这个过程。据我所知,通过用纹理四边形替换glDrawPixels(),在大多数系统上,该过程应该更快。然而,我的窗口并不总是在POT中。经过简短的研究,人们似乎使用了这三种方法。
我的问题是这些。