glGenTextures 的图像格式
Image format for glGenTextures
我已经使用
在 python 中转换了一张图片
from PIL import Image
img = Image.open('myPixelArt.bmp')
那我打电话给
im = glGenTextures(1,img)
但事实证明im = 0
以及许多其他功能
我已经尝试了几乎所有的方法来显示这个图像,我想知道我在这个函数中加入了什么。
glGenTextures 中第二个参数的格式是什么(不是 .bmp or.png 而是矩阵大小,数字范围是从 0 到 1 还是最多 255 等)?
如何在python中找到img的格式?
glGenTextures 是否应该 return 0?
您误解了 glGenTextures
的作用。此函数仅为 OpenGL 纹理创建处理程序。您正在使用 c
语言签名,它仅在 python 文档中提供信息。
此函数 returns n
整数将用作纹理的名称,c 中的正确语法是:
void glGenTextures(GLsizei n, GLuint * textures);
但是你没有使用c,所以对于python,你必须使用正确的签名:
textures = glGenTextures ( n )
其中纹理必须是一个数组,用于保存函数返回的名称。
您可以为单个纹理设置 n=1:
texture = glGenTextures(1)
要为您的新纹理配置和设置数据,您必须使用 glBindTexture
将名称绑定到上下文,使用 glTexImage2D
设置纹理的像素数据,您还可以设置一些glTexParameter
.
参数
有关完整示例,请参阅 here.
我已经使用
在 python 中转换了一张图片from PIL import Image
img = Image.open('myPixelArt.bmp')
那我打电话给
im = glGenTextures(1,img)
但事实证明im = 0
以及许多其他功能
我已经尝试了几乎所有的方法来显示这个图像,我想知道我在这个函数中加入了什么。
glGenTextures 中第二个参数的格式是什么(不是 .bmp or.png 而是矩阵大小,数字范围是从 0 到 1 还是最多 255 等)?
如何在python中找到img的格式?
glGenTextures 是否应该 return 0?
您误解了 glGenTextures
的作用。此函数仅为 OpenGL 纹理创建处理程序。您正在使用 c
语言签名,它仅在 python 文档中提供信息。
此函数 returns n
整数将用作纹理的名称,c 中的正确语法是:
void glGenTextures(GLsizei n, GLuint * textures);
但是你没有使用c,所以对于python,你必须使用正确的签名:
textures = glGenTextures ( n )
其中纹理必须是一个数组,用于保存函数返回的名称。
您可以为单个纹理设置 n=1:
texture = glGenTextures(1)
要为您的新纹理配置和设置数据,您必须使用 glBindTexture
将名称绑定到上下文,使用 glTexImage2D
设置纹理的像素数据,您还可以设置一些glTexParameter
.
有关完整示例,请参阅 here.