在SFML顶点阵列中组合基元

时间:2016-11-06 19:37:26

标签: c++ sfml vertex-array

SFML的documentation声明您可以组合基元来创建顶点数组。我认为他们所指的是多个Triangles可以分为TriangleFanTriangleStrip这一事实。

我想知道是否有办法在单个顶点数组中组合两个现有的基本类型。例如,我可以将一堆顶点定义为TriangleFan,然后切换到LineStrip吗?或者这需要两个独立的阵列?

1 个答案:

答案 0 :(得分:2)

不,每个顶点数组只能使用一种基本类型。

使用下面的绘制函数,理论上你可以使用一个数组/向量(不是sf::VertexArray并提供不同的偏移和大小来绘制具有不同基元类型的数组的不同部分,但它们实际上是相同的因为使用两个不同的数组,因此你需要问自己将这些顶点混合在一起的收益是什么。

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