gpt4 book ai didi

c++ - 知道我的顶点是否(以及如何)被重新排序

转载 作者:太空宇宙 更新时间:2023-11-04 13:38:26 24 4
gpt4 key购买 nike

C++、Box2d 2.3 游戏开发在这里进行。

TL;DR:只需阅读粗体文本即可。

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

现在,我使用形状中的顶点渲染灯具。我目前正在实现 UV 贴图;我有一个 UV 点 vector ,仅按顺序与原始顶点 vector 对应。如果顶点重新排序,UV vector 将不匹配,并且会出现渲染错误。 我如何知道顶点是否已重新排序以及如何重新排序,以便我可以以相同的方式重新排序我的 UV 点?

为澄清起见,我所指的结果顺序是从 b2PolygonShape.GetVertex() 中检索到的顺序。

最佳答案

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

关于c++ - 知道我的顶点是否(以及如何)被重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28728028/

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