如何在pyglet中制作立方体

How to make a cube in pyglet

我正在尝试学习 pyglet,据我了解,它只是 openGL 的包装器,带有一些额外的装饰和位。我对如何制作立方体感到非常困惑,我已经研究了如何在纯 openGL 中这样做的教程,但未能将它们翻译成 pyglet。任何帮助将不胜感激,特别是如果有人可以向我解释为什么将 z 轴上的内容更改为超出范围 (1, 0, -1) 会使其停止渲染。

看看这个Code 您可以找到以下代码

def add_block(self,x,y,z):

    X, Y, Z = x+1, y+1, z+1

    tex_coords = ('t2f', (0, 0, 1, 0, 1, 1, 0, 1))

    self.batch.add(4, GL_QUADS, self.side,   ('v3f', (X, y, z,  x, y, z,  x, Y, z,  X, Y, z)), tex_coords) # back
    self.batch.add(4, GL_QUADS, self.side,   ('v3f', (x, y, Z,  X, y, Z,  X, Y, Z,  x, Y, Z)), tex_coords) # front

    self.batch.add(4, GL_QUADS, self.side,   ('v3f', (x, y, z,  x, y, Z,  x, Y, Z,  x, Y, z)), tex_coords)  # left
    self.batch.add(4, GL_QUADS, self.side,   ('v3f', (X, y, Z,  X, y, z,  X, Y, z,  X, Y, Z)), tex_coords)  # right

    self.batch.add(4, GL_QUADS, self.bottom, ('v3f', (x, y, z,  X, y, z,  X, y, Z,  x, y, Z)), tex_coords)  # bottom
    self.batch.add(4, GL_QUADS, self.top,    ('v3f', (x, Y, Z,  X, Y, Z,  X, Y, z,  x, Y, z)), tex_coords)  # top

你还可以在这个项目中找到几个有趣的hitns。当我开始使用 3D 渲染学习 pyglet 时,它帮助了我。