Я, наверное, все об этом ошибаюсь, но эй.
Я отрисовываю большое количество сегментов стены (ради аргумента, скажем, 200).Каждый сегмент высотой в одну единицу, ровный и прямой, без диагоналей.Все изменения в направлении - это изменение на 90 градусов.
Я представляю каждого из них как четырехконечный веер, AKA - четырехугольник.С каждой вершиной связана трехмерная текстурная координата, например, 0,0,0, 0,1,7 или 10,1129.
Все это прекрасно работает, но я не могу не думать об этомможет быть намного лучше.Например, каждая точка дублируется, по крайней мере, дважды (каждая стена представляет собой непрерывную линию сегментов и имеется несколько трех- и четырехсторонних пересечений), и исходные координаты текстуры угла (0,0, X и 0,1, X) собираютсядублироваться для каждой стены с номером текстуры X на ней.Это можно еще больше сжать, переместив координату O в третий атрибут и индексировав координаты S и T по отдельности.
Проблема в том, что я не могу понять, как это сделать.Кажется, VAO допускают только один индекс, и, взятые как единое целое, каждая позиция и координата текстуры образуют уникальную снежинку, которая никогда не будет повторяться.(Следует признать, что это может быть не так в некоторых поворотах, но это очень сложный случай)
Возможно ли то, что я хочу сделать, или мне придется придерживаться (по общему признанию хорошего) метода, который я сейчасиспользовать?