1
我试图读取framebuffer异步但glReadPixels()生成一个INVALID_OPERATION错误。LWJGL使用PBO读取像素失败
我读过可能导致这个错误,但我没有找到我的代码中的任何问题:
int PBOHandle = glGenBuffers(); // PBOHandle != 0
int Width = Display.getDisplayMode().getWidth(); // 800
int Height = Display.getDisplayMode().getHeight();// 600
glReadBuffer(GL_FRONT);
glBindBuffer(GL_PIXEL_PACK_BUFFER, PBOHandle);
glReadPixels(0, 0, Width, Height, GL_RGBA, GL_UNSIGNED_BYTE, 0);
// GL_INVALID_OPERATION right here
glBindBuffer(GL_PIXEL_PACK_BUFFER, PBOHandle);
ByteBuffer Buffer = glMapBuffer(GL_PIXEL_PACK_BUFFER, GL_READ_WRITE, null);
/* stuff */
glUnmapBuffer(GL_PIXEL_PACK_BUFFER);
glBindBuffer(GL_PIXEL_PACK_BUFFER, 0);