Есть ли способ сделать несколько IndexedVertexLists ссылаться на одни и те же вершины, имея разные списки индексов - PullRequest
1 голос
/ 12 апреля 2020

Я хочу иметь два (или более) IndexedVertexLists, которые ссылаются на одни и те же вершины, имея разные списки индексов. Проблема, с которой я сталкиваюсь, заключается в том, что если бы я создал два (или более) IndexedVertexLists с одинаковыми вершинами, это заняло бы вдвое больше памяти GPU по сравнению с тем, что ему действительно нужно.

Что я значит:

import pyglet


vertices = [
        0, 0,
        0, 0.5,
        0.5, 0,
        0.5, 0.5
]

indices1 = [0, 1, 2]
indices2 = [0, 2, 3]

vertex_list_indexed_1 = pyglet.graphics.vertex_list_indexed(4, indices1, ('v2f', vertices))
vertex_list_indexed_2 = pyglet.graphics.vertex_list_indexed(4, indices2, ('v2f', vertices))

То, что я хочу, было бы примерно таким (это не работает, очевидно):

import pyglet


vertices = [
        0, 0,
        0, 0.5,
        0.5, 0,
        0.5, 0.5
]

indices1 = [0, 1, 2]
indices2 = [0, 2, 3]

vertex_list  = pyglet.graphics.vertex_list(4, ('v2f', vertices))

vertex_list_indexed_1 = pyglet.graphics.vertex_list_indexed(4, indices1, vertex_list)
vertex_list_indexed_2 = pyglet.graphics.vertex_list_indexed(4, indices2, vertex_list)

Я не смог найти ничего в документации pyglet это решило бы мою проблему.

...