Python 如何在pyglet中创建面上有图像的立方体

Python 如何在pyglet中创建面上有图像的立方体,python,pyglet,Python,Pyglet,我正在制作一个3d游戏,我需要将图像粘贴到一个立方体上,但我找不到正面/背面/顶部/底部/左侧/右侧纹理应该放在哪里 我刚开始使用pyglet,所以我对它不是很熟悉。我已经翻转立方体的纹理部分好几天了,它还是一团乱。下面是我的多维数据集函数代码: def长方体(自身、x1、y1、z1、x2、y2、z2、tex): ''' 从x1、y1、z1到x2、y2、z2绘制一个长方体,并用tex覆盖每一侧\n tex格式:\n (前、后、左、右、上、下) 面向-z方向 ''' 前=特克斯[0] 背面=特克斯

我正在制作一个3d游戏,我需要将图像粘贴到一个立方体上,但我找不到
正面
/
背面
/
顶部
/
底部
/
左侧
/
右侧
纹理应该放在哪里

我刚开始使用pyglet,所以我对它不是很熟悉。我已经翻转立方体的纹理部分好几天了,它还是一团乱。下面是我的多维数据集函数代码:

def长方体(自身、x1、y1、z1、x2、y2、z2、tex): ''' 从x1、y1、z1到x2、y2、z2绘制一个长方体,并用tex覆盖每一侧\n tex格式:\n (前、后、左、右、上、下) 面向-z方向 ''' 前=特克斯[0] 背面=特克斯[1] 左=特克斯[2] 右=特克斯[3] 顶部=特克斯[4] 底部=特克斯[5] 特克斯坐标=(“t2f”,(0,0,1,0,1,1,0,1)) 自我批处理添加(4个,GL_四边形,背面,('v3f',(x1,y1,z1,x1,y1,z2,x1,y2,z2,x1,y2,z1),tex_坐标) 自我批处理添加(4,四元,右,('v3f',(x2,y1,z2,x2,y1,z1,x2,y2,z1,x2,y2,z2,)),特克斯坐标) 自批添加(4个,四方形,顶部,('v3f',(x1,y1,z1,x2,y1,z1,x2,y1,z2,x1,y1,z2,)),特克斯坐标) 自批添加(4个,四方形,正面,('v3f',(x1,y2,z2,x2,y2,z2,x2,y2,z1,x1,y2,z1,)),特克斯坐标) 自批添加(4,GL_四边形,底部,('v3f',(x2,y1,z1,x1,y1,z1,x1,y2,z1,x2,y2,z1,)),tex_坐标) 自我批处理添加(4,GL_四边形,左,('v3f',(x1,y1,z2,x2,y1,z2,x2,y2,z2,x1,y2,z2),tex_坐标)
我无法显示我所期望的内容,因为我没有工作的3d渲染程序。

我假设坐标(
x1
y1
z1
)是立方体的最小值,坐标是最大值(
x1
y1
z1
)。e、 g:

self.cuboid(0,0,0,1,1,1,self.tex)
如果立方体是在视图空间中绘制的,则:

x轴指向左侧。必须将
左侧
纹理放置在所有顶点的x坐标为
x1
的位置,将
右侧
纹理放置在x坐标为
x2
的位置:

self.batch.add(4,GL_QUADS,right,('v3f',(x1,y1,z1,x1,y1,z2,x1,y2,z2,x1,y2,z1)),tex_坐标)
自批添加(4,GL_四边形,左,('v3f',(x2,y1,z2,x2,y1,z1,x2,y2,z1,x2,y2,z2)),特克斯坐标)
y轴指向上。因此
底部
是y坐标为
y1
的位置,顶部是y坐标为
y2

self.batch.add(4,GL_四边形,底部,('v3f',(x1,y1,z1,x2,y1,z1,x2,y1,z2)),tex_坐标)
自行批处理添加(4个四角体,顶部,('v3f',(x1,y2,z2,x2,y2,z2,x2,y2,z1,x1,y2,z1)),特克斯坐标)
在系统中,z轴指向视图外。z轴是x轴和y轴的轴。
这导致必须将
front
放置在z坐标为
z2
的位置,将
back
放置在z坐标为
z1
的位置:

self.batch.add(4,GL_QUADS,back,('v3f',(x2,y1,z1,x1,y1,z1,x1,y2,z1),tex_坐标)
自批添加(4个,四方形,正面,('v3f',(x1,y1,z2,x2,y1,z2,x2,y2,z2,x1,y2,z2)),特克斯坐标)
方法
长方体

def长方体(自身、x1、y1、z1、x2、y2、z2、tex): ''' 从x1、y1、z1到x2、y2、z2绘制一个长方体,并用tex覆盖每一侧\n tex格式:\n (前、后、左、右、上、下) 面向-z方向 ''' 前=特克斯[0] 背面=特克斯[1] 左=特克斯[2] 右=特克斯[3] 顶部=特克斯[4] 底部=特克斯[5] 特克斯坐标=(“t2f”,(0,0,1,0,1,1,0,1)) 自批添加(4,GL四元,右,('v3f',(x1,y1,z1,x1,y1,z2,x1,y2,z2,x1,y2,z1)),特克斯坐标) 自批添加(4,GL_四边形,左,('v3f',(x2,y1,z2,x2,y1,z1,x2,y2,z1,x2,y2,z2)),特克斯坐标) 自批添加(4,GL_四边形,底部,('v3f',(x1,y1,z1,x2,y1,z1,x2,y1,z2,x1,y1,z2)),特克斯坐标) 自行批处理添加(4个四角体,顶部,('v3f',(x1,y2,z2,x2,y2,z2,x2,y2,z1,x1,y2,z1)),特克斯坐标) 自批添加(4,GL四元,背面,('v3f',(x2,y1,z1,x1,y1,z1,x1,y2,z1,x2,y2,z1)),特克斯坐标) 自批添加(4个,四方形,正面,('v3f',(x1,y1,z2,x2,y1,z2,x2,y2,z2,x1,y2,z2)),特克斯坐标)
我想我的电脑可能有问题,我尝试的一切都不起作用。