I'm currently grabbing a screenshot of an OpenGL ES game using glReadPixels
. The screenshots are great however the call to glReadPixels
causes a small stutter in the game.
glCopyTexImage2D
has been suggested as a more efficient replacement for glReadPixels
. How does glCopyTexImage2D
work? For some context I'm using this Apple method.
I'm relatively new to OpenGL so any help is much appreciated :-)
The time delay is caused by transferring a large amount of memory between GPU and CPU. This can be solved by transferring in chunks, a little bit per frame. But if you read from the framebuffer over a series of frame, the image would be changing meanwhile.
So you make a copy, video RAM into video RAM (very fast), and then it won't change as you transfer it piecemeal.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With