I'm using luaglut to do some graphics in lua. And I am struggling with this function glReadPixels
, particularly with its last input argument GLvoid *pixels
.
void glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
pixels
is a pointer type so in lua it is of type lightuserdata
. I managed to get a lightuserdata
type variable let's say img
in lua, according to this post; however, after I get the frame I wanna grab into img
by calling:
glReadPixels(0, 0, 250, 250, GL_RGB, GL_UNSIGNED_BYTE, img)
I could do nothing with img
. I tried creating a same structure in lua using ffi and coverting this img
to a torch.Tensor type, but it is too slow since I have to assign the values pixel by pixel.
So I am asking here if there is better ways to use this glReadPixels
function to get img
than this troublesome approach that I took? Both table
and torch.Tensor
types of img
are OK. Thank you in advance!