pyopengl纹理_使用PyOpenGL渲染带纹理的矩形

本文档描述了在PyOpenGL项目中遇到的一个问题:尝试绘制带有纹理的二维矩形,但结果只得到黑色屏幕。作者检查了代码,认为可能缺少某些初始化或启用步骤。代码中定义了一个`ClassThing`类,包含加载纹理和绘制函数。在`draw`方法中,作者尝试绑定纹理并绘制矩形,但遇到了困难。作者询问了如何在不使用已弃用的`glVertexPointer`的情况下处理顶点数据,并希望找到解决方案。
摘要由CSDN通过智能技术生成

我正在使用PyOpenGL进行一个项目,目前我正试图让OpenGL呈现一种启动屏幕。我决定画一个有纹理的二维矩形。不幸的是,不管我做什么,什么都画不出来,我只是得到了一个黑色的屏幕(所以我想有些东西是画出来的,否则它会是一个透明的窗口,但绝对不是我想要的)。这是我们班的相关代码:class ClassThing:

def __init__(self):

self.Splash = True

glutInit(sys.argv)

def TexFromPNG(self, filename):

img = Image.open(filename)

img_data = numpy.array(list(img.getdata()), numpy.uint8)

texture = glGenTextures(1)

glPixelStorei(GL_UNPACK_ALIGNMENT,1)

glBindTexture(GL_TEXTURE_2D, texture)

glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP)

glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP)

glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR)

glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR)

glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, img.size[0], img.size[1], 0, GL_RGB, GL_UNSIGNED_BY

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值