В настоящее время я программирую игру с PyOpenGL с PyGame, и при использовании Vertex Buffers возникают графические сбои. К сбоям относятся линии, которые рисуются между каждой моделью, хотя этого не должно быть. Я обнаружил, что переключение между Ground () и GroundVBO () в большинстве случаев не вызывает графических сбоев. Что мне не хватает?
global vbo
vbo = 0
def Ground():
glBegin(GL_LINES)
for edge in ground_edges:
for vertex in edge:
glVertex3fv(ground_verticies[vertex])
glEnd()
def GroundVBO():
for edge in ground_edges:
for vertex in edge:
ground_noot = glVertex3fv(ground_verticies[vertex])
vbo = glGenBuffers(1)
glBindBuffer (GL_ARRAY_BUFFER, vbo)
glBufferData (GL_ARRAY_BUFFER, len(ground_verticies)*4, ground_noot, GL_STATIC_DRAW)
glVertexPointer (3, GL_FLOAT, 0, None)
glDrawArrays(GL_LINES, 0, 300)