如何在lua中使用luaglut函数glReadPixels()?

如何在lua中使用luaglut函数glReadPixels()?,lua,ffi,luaglut,Lua,Ffi,Luaglut,我用lua做一些图形。我正在努力使用这个函数glReadPixels,尤其是它的最后一个输入参数GLvoid*pixels void glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels); pixels是指针类型,因此在lua中它属于lightuserdata类型。我设法在lua中获得了一个lightuserdata类型变量,比如说im

我用lua做一些图形。我正在努力使用这个函数
glReadPixels
,尤其是它的最后一个输入参数
GLvoid*pixels

void glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
pixels
是指针类型,因此在lua中它属于
lightuserdata
类型。我设法在lua中获得了一个
lightuserdata
类型变量,比如说
img
,根据;但是,在获得帧后,我想通过调用以下命令进入
img

glReadPixels(0, 0, 250, 250, GL_RGB, GL_UNSIGNED_BYTE, img)
我无法使用
img
。我尝试使用ffi在lua中创建相同的结构,并将这个
img
转换为一个类型,但速度太慢,因为我必须逐像素分配值

所以我在这里问,是否有更好的方法使用这个
glReadPixels
函数来获得
img
,而不是我所采取的这个麻烦的方法?
table
torch.Tensor
类型的
img
都可以。提前谢谢你