документация для SFML говорится, что вы можете комбинировать примитивы для создания массивов вершин. Я думаю, что они имеют в виду тот факт, что несколько Triangles
можно сгруппировать в TriangleFan
или же TriangleStrip
,
Мне интересно, есть ли способ объединить два существующих примитивных типа в одном массиве вершин. Например, могу ли я определить группу вершин как TriangleFan
а затем переключиться на LineStrip
? Или это потребует двух отдельных массивов?
Нет, вы можете использовать только один примитивный тип для каждого массива вершин.
С помощью следующей функции рисования вы можете теоретически использовать один массив / вектор (не sf::VertexArray
и предоставить разные смещения и размеры для рисования разных частей массива с разными примитивными типами, но это фактически то же самое, что и использование двух разных массивов, и, таким образом, вам нужно будет спросить себя, каково преимущество смешивания этих вершин вместе.
void draw(const Vertex *vertices, std::size_t vertexCount, PrimitiveType type, const RenderStates &states=RenderStates::Default)
Других решений пока нет …