Python + OpenGL - ускоряет передачу граней в OpenGL

Я использую OpenGL с привязками Python. Я передаю свои лица в OpenGL со следующим кодом:

glBegin(GL_TRIANGLES)
for i in range(len(triangles)):
    glVertex3fv(triangles[i])
glEnd()

где triangles это список лиц.

Эта часть кода кажется довольно медленной, занимая порядка нескольких секунд для сетки из ~10000 граней. Есть ли простой способ ускорить его, возможно, проходя через все треугольники одновременно, вместо того, чтобы использовать это для цикла?

1 ответ

Вы ищете массивы вершин. В идеале вы должны объединить его с объектами буфера вершин, чтобы поместить данные геометрии в быструю память.

Вот учебник

http://ltslashgt.com/2007/08/31/vertex-buffer-object-pyopengl/

Другие вопросы по тегам