如何定义组合顶点的自定义方式?

时间:2013-05-06 23:12:47

标签: c++ sfml

我创建了一个自定义类来在SFML中绘制一个9补丁,但我认为它可以进行更多优化。

目前,我计算了制作9个矩形所需的所有顶点,然后我使用一些循环将它们添加到使用sf::VertexArray的9个单独的四边形,使用sf::Quads作为PrimitiveType

总共有4 x 9 = 36个顶点,而应该只有4 x 4 = 16个顶点,如果它'可以定义自定义方式来链接'顶点。

sf::Triangles将每三个顶点组合在一起。 sf::Quads将每四个顶点组合在一起,并在每个组中生成两个三角形。 sf::TrianglesFan将每两个顶点组合在一起,形成一个带中心点的三角形。

我的问题是,我可以定义一种将顶点组合在一起的自定义方式,所以我只需要存储16个顶点吗? 此外,它实际上是否值得优化,或者差异是不明显的?

1 个答案:

答案 0 :(得分:0)

正如评论中已经说明的那样,没有可行的方法来实现具有分组四元组的“9补丁”。

对于纹理化的形状,分组四边形只对在行或列中绘制无缝(可重复)纹理有意义。为此,可以使用sf::TriangleStrip