知道我的顶点是否(和如何)被重新排序

时间:2015-02-25 19:35:42

标签: c++ box2d

C ++,Box2d 2.3游戏开发发生在这里。

TL; DR:只读粗体文字。

创建 b2PolygonShape 后,我可以使用 Set()函数设置形状的顶点,该函数采用{{ 1}}对象和计数。 In the documentation of that function有一个警告说顶点可以重新排序,即使它们形成凸多边形。

现在,我使用形状中的顶点渲染灯具。我目前正在实施UV贴图;我有一个UV点的矢量,只能通过与原始顶点矢量的顺序相对应。如果顶点被重新排序,则UV的矢量将不匹配,并且将存在渲染错误。 如何知道顶点是否以及如何重新排序,以便我可以以相同的方式重新排列我的UV点?

为了澄清,我引用的结果顺序是从b2Vec2检索到的顺序。

1 个答案:

答案 0 :(得分:0)

似乎没有任何官方方法可以做到这一点,因此,如果不修改源代码,唯一的选择似乎是自己存储顶点并从您自己的列表中呈现,而不是在渲染时查询Box2D。请注意,这也为您提供了更多的艺术自由;你可以用一种不必完全按照物理模拟的方式渲染一个装置(例如,一个你不想参与其中的角或尾巴的角色)。