繁体   English   中英

如何定义自定义方式来合并顶点?

[英]How would I define a custom way to combine vertices?

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

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

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

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

我的问题是,我可以定义一种将顶点合并在一起的自定义方式,以便只存储16个顶点吗?
另外,实际上值得进行这么多的优化,还是差异不明显?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM