XNA,在运行时减去2个网格?

时间:2010-06-09 22:16:11

标签: c# xna

我想知道如何在运行时在XNA中编辑3d模型的顶点,我做了类似于3d max减法功能的东西,你将2个模型放在一起并删除其中1个的交叉顶点,更像是雕刻一个网格和另一个。

如果我不清楚,请参阅this

无论如何,所以任何有关如何在运行时或任何帮助下编辑顶点的指针都非常受欢迎。

感谢

1 个答案:

答案 0 :(得分:2)

你做不到。

AFAIK,OpenGL,DirectX和XNA在三角网格上没有用于布尔运算的效用函数(如果有这些函数,我们会在市场上的每个游戏中看到完全可破坏的环境)。如果你想这样做,你将不得不自己实现布尔运算。这将是非常困难的(特别是处理拓扑),我的意思是它(尝试这样做,有一天会实现它们(作为练习),当我有更多的时间)。

或者您可以尝试调整/使用blenderlibgts中的源代码。他们的BOth已经实现了布尔操作,但它们是用C / C ++编写的,而不是用C#编写的,所以无论你怎么看它都会很“有趣”。此外,如果您决定使用其代码,请注意许可证。两者都使用GPL的风格,而GPL是“病毒”许可。