1

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

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

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

sf::Triangles将每三个顶点组合在一起。sf::Quads将每四个顶点组合在一起,并从每个组中制作两个三角形。sf::TrianglesFan将每两个顶点组合在一起以形成一个以中心点为中心的三角形。

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

4

1 回答 1

0

正如评论中已经指出的那样,没有可行的方法来实现具有分组 Quads 的“9-patch”。

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

于 2013-05-08T14:49:55.407 回答