我已经使用PyOpenGL在GLES2和EGL中编写了一些代码,我需要使用glReadPixels函数,除了最后一个参数必须是ctypes unsigned char缓冲区,我不知道如何创建它
下面是C代码:
unsigned char* buffer = malloc(width * height * 4);
glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
等效的Python代码是什么
我使用的是GLES2而不是GL,因此,buffer = glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE)
不起作用
当我尝试buffer = glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE)
时,我得到以下错误:
buffer = glReadPixels(0, 0, width, height, GL_RGBA, GL_UNSIGNED_BYTE)
File "/home/fa/berryconda3/lib/python3.6/site-packages/OpenGL/platform/baseplatform.py", line 415, in __call__
return self( *args, **named )
TypeError: this function takes at least 7 arguments (6 given)
创建具有适当大小的字节缓冲区:
将缓冲区传递到以下像素:
这与使用
ctypes.c_byte
相同:或创建具有适当大小的numpy缓冲区:
传递缓冲区
glReadPixels
:相关问题 更多 >
编程相关推荐