在 SFML 顶点数组中组合基元
Combining Primitives in SFML Vertex Arrays
SFML 的 documentation 声明您可以组合图元来创建顶点数组。我认为他们指的是多个 Triangles
可以分组为 TriangleFan
或 TriangleStrip
。
我想知道是否有办法将两个现有的基元类型合并到一个顶点数组中。例如,我可以将一堆顶点定义为 TriangleFan
然后切换到 LineStrip
吗?或者这需要两个单独的数组吗?
不可以,每个顶点数组只能使用一种基元类型。
使用以下绘图函数,理论上您可以使用一个 array/vector(而不是 sf::VertexArray
,并提供不同的偏移量和大小,以使用不同的原始类型绘制数组的不同部分,但这实际上是相同的就像使用两个不同的数组一样,因此您需要问自己将这些顶点混合在一起有什么好处。
void draw(const Vertex *vertices, std::size_t vertexCount, PrimitiveType type, const RenderStates &states=RenderStates::Default)
SFML 的 documentation 声明您可以组合图元来创建顶点数组。我认为他们指的是多个 Triangles
可以分组为 TriangleFan
或 TriangleStrip
。
我想知道是否有办法将两个现有的基元类型合并到一个顶点数组中。例如,我可以将一堆顶点定义为 TriangleFan
然后切换到 LineStrip
吗?或者这需要两个单独的数组吗?
不可以,每个顶点数组只能使用一种基元类型。
使用以下绘图函数,理论上您可以使用一个 array/vector(而不是 sf::VertexArray
,并提供不同的偏移量和大小,以使用不同的原始类型绘制数组的不同部分,但这实际上是相同的就像使用两个不同的数组一样,因此您需要问自己将这些顶点混合在一起有什么好处。
void draw(const Vertex *vertices, std::size_t vertexCount, PrimitiveType type, const RenderStates &states=RenderStates::Default)