移动 3D 自定义几何体:最佳方法

发布于 2024-10-25 00:56:44 字数 165 浏览 1 评论 0原文

我正在使用 XNA 构建一个类,该类封装以任意方式定义的自定义几何图形。我想要这个几何移动,现在最好的方法是什么? 使用 Vector3.Translate 方法引入所有坐标顶点并将它们与平移矩阵相乘是否足够?或者将几何图形分配给效果(例如BasicEffect)然后操纵世界矩阵是否更有效?

谢谢!

I'm building with XNA a class that encapsulate a custom geometry defined in a arbitrary way. I want to this geometry moves, now, what is the best way to do it?
Is it enough bring all coordinates vertices and multiply them with the translate matrix using Vector3.Translate method? Or is it more efficient assign a geometry to an Effect (say BasicEffect) and then manipulate the world matrix?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

厌倦 2024-11-01 00:56:44

我现在对 xna 的了解还不是很深,但一般来说,谈到 3D 编程,您应该转换世界矩阵以“移动”对象的原点。这比将所有顶点更新到新坐标要快得多(因为计算可以卸载到显卡上,所以快得多)。你永远不应该仅仅为了移动东西而修改/更新几何数据。这对于复杂的动画可能没问题,但(在我看来)不适用于单一翻译。

I'm not that deep into xna right now, but speaking of 3D programming in general you should transform the world matrix to "move" the object's origin. This will be a lot faster than updating all vertices to their new coordinates (a LOT faster as the calculation can be offloaded to the graphics card). You should never modify/update geometry data just to move stuff around. This might be okay for complex animations, but (in my opinion) not for single translations.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文