在SFML顶点数组中组合原语

Combining Primitives in SFML Vertex Arrays

本文关键字:组合 原语 数组 SFML 顶点      更新时间:2023-10-16

SFML的文档说明您可以组合原语来创建顶点数组。我认为他们指的是这样一个事实,即多个Triangles可以归为一个TriangleFanTriangleStrip

我想知道是否有一种方法来组合两个现有的基本类型在一个单一的顶点数组。例如,我可以定义一堆顶点作为TriangleFan,然后切换到LineStrip ?还是需要两个单独的数组?

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

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

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