0
我正在使用LWJGL向渲染缓冲区的屏幕外帧缓冲区渲染三角形。渲染场景后,我使用glReadPixels
将渲染缓冲区中的数据读出到RAM中。前几帧很好,但程序崩溃了(SEGFAULT,或SIGABRT,...)。几帧后,LWJGL在glReadPixels上崩溃
我在这里做错了什么?
//Create memory buffer in RAM to copy frame from GPU to.
ByteBuffer buf = BufferUtils.createByteBuffer(3*width*height);
while(true){
// Set framebuffer, clear screen, render objects, wait for render to finish, ...
...
//Read frame from GPU to RAM
glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, buf);
//Move cursor in buffer back to the begin and copy the contents to the java image
buf.position(0);
buf.get(imgBackingByteArray);
//Use buffer
...
}