【问题标题】:Combining Primitives in SFML Vertex Arrays在 SFML 顶点数组中组合基元
【发布时间】:2016-11-06 19:37:25
【问题描述】:
SFML 的documentation 声明您可以组合图元来创建顶点数组。我认为他们指的是多个Triangles 可以组合成TriangleFan 或TriangleStrip 的事实。
我想知道是否有一种方法可以将两个现有的原始类型组合在一个顶点数组中。例如,我可以将一堆顶点定义为 TriangleFan ,然后切换到 LineStrip 吗?或者这需要两个单独的数组吗?
【问题讨论】:
标签:
c++
sfml
vertex-array
【解决方案1】:
不,每个顶点数组只能使用一种原始类型。
使用以下绘制函数,理论上您可以使用一个数组/向量(不是sf::VertexArray,并提供不同的偏移量和大小来绘制具有不同基本类型的数组的不同部分,但这实际上与使用两个不同的数组相同因此,您需要问自己将这些顶点混合在一起有什么好处。
void draw(const Vertex *vertices, std::size_t vertexCount, PrimitiveType type, const RenderStates &states=RenderStates::Default)