Объединение примитивов в массивы вершин SFML

В документации для SFML указано, что вы можете комбинировать примитивы для создания массивов вершин. Я думаю, что они имеют в виду тот факт, что несколько Triangles могут быть сгруппированы в TriangleFan или TriangleStrip.

Мне интересно, есть ли способ объединить два существующих примитивных типа в один массив вершин. Например, могу ли я определить группу вершин как TriangleFan, а затем переключиться на LineStrip? Или для этого потребуются два отдельных массива?


person Larry Turtis    schedule 06.11.2016    source источник


Ответы (1)


Нет, вы можете использовать только один примитивный тип для каждого массива вершин.

С помощью следующей функции рисования вы теоретически можете использовать один массив/вектор (не sf::VertexArray и предоставлять разные смещения и размеры для рисования разных частей массива с разными типами примитивов, но это фактически то же самое, что и использование двух разных массивов, и, таким образом, вы будете нужно спросить себя, какой выигрыш дает смешивание этих вершин вместе.

void draw(const Vertex *vertices, std::size_t vertexCount, PrimitiveType type, const RenderStates &states=RenderStates::Default)

person Lukas    schedule 07.11.2016