如何在Pyglet中制作立方体

时间:2018-11-06 22:47:51

标签: python-3.x pyglet

我正在尝试学习pyglet,据我了解,它只是openGL的包装,带有一些额外的东西。我对如何制作多维数据集感到非常困惑,我研究了有关如何在纯openGL中执行此操作的教程,但未能将其转换为pyglet。任何帮助将不胜感激,尤其是如果有人可以向我解释为什么将z轴上的值更改为超出范围(1、0,-1)使其停止渲染的原因。

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

此外,您还可以在此项目中找到几个有趣的热门项目。当我开始学习3D渲染的pyglet时,它对我有帮助。