Как сделать сетку (состоящую из треугольников), где каждый треугольник имеет тот же цвет, не указав этот цвет 3 раза за треугольник в массивах вершин.Как визуализировать сетку, состоящую из треугольников, где каждый треугольник имеет один и тот же цвет, не указав этот цвет 3 раза на треугольник
Предположим, я хочу нарисовать 2 треугольника. Треугольник 1:
Vertex 1, position:(x1,y1) , color: (r1,g1,b1,a1)
Vertex 2, position:(x2,y2) , color: (r1,g1,b1,a1)
Vertex 3, position:(x3,y3) , color: (r1,g1,b1,a1)
Треугольник 2:
Vertex 4, position:(x4,y4) , color: (r2,g2,b2,a2)
Vertex 5, position:(x5,y5) , color: (r2,g2,b2,a2)
Vertex 6, position:(x6,y6) , color: (r2,g2,b2,a2)
Я знаю, что это может быть сделано путем создания 2 вершинных буферов:
Vertex Buffer 1:
[x1, y1]
[x2, y2]
[x3, y3]
[x4, y4]
[x5, y5]
[x6, y6]
Vertex Buffer 2:
[r1, g1, b1, a1]
[r1, g1, b1, a1]
[r1, g1, b1, a1]
[r2, g2, b2, a2]
[r2, g2, b2, a2]
[r2, g2, b2, a2]
теперь я могу связать их с разными местами атрибутов и сделайте обычный призыв к розыгрышу.
Vertex buffer 1 отлично, потому что все данные уникальны, но мой вопрос: isnt vertex buffer 2 такая пустая трата пространства !? Что, если у меня есть тысячи треугольников, и при таком подходе я дублирую цвет дважды на каждый треугольник. Должен быть более умный способ хранения избыточных атрибутов. Я не знаю об этом. Кто-нибудь может рассказать?
Спасибо. Я, вероятно, просто дублирую данные, но хорошо знать, что я не пропускаю какую-либо функцию, так как вариантов не так много. – viktorzeid