gpt4 book ai didi

c++ - 我将如何定义组合顶点的自定义方式?

转载 作者:太空宇宙 更新时间:2023-11-04 14:07:11 25 4
gpt4 key购买 nike

我制作了一个自定义类来在 SFML 中绘制一个 9 面片,但我认为它可以进一步优化。

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

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

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

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

最佳答案

正如评论中已经指出的那样,没有可行的方法来实现带有分组四边形的“9 补丁”。

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

关于c++ - 我将如何定义组合顶点的自定义方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16408761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com