.net - 用于非游戏相关 3D 图形编程的托管 Direct3D 或 XNA?

标签 .net graphics xna direct3d 3d

哪种是进行 .NET 3D 图形编程的首选方法:Direct3D 或 XNA 似乎是当前的技术,但哪种最适合非游戏相关的编程?

此外,Managed Direct 3D 是否已停止使用? XNA 似乎并不适合非游戏开发。

最佳答案

是的,太糟糕了 MS 停止了 MDX。我目前正在使用 SlimDX用于我们的非游戏开发。它不是 MDX 的直接替代品,但至少 API 设计与 MDX v1.1 的 API 相比非常直观。我已经将 MDX v1.1 + .Net v1.1 用于我们产品的第 1 版。至于版本 2,我们正在迁移到 .Net 2.0。 MDX v1.1 不适用于 .Net 2.0,此外它还有很多其他固有问题。因此,我们不得不寻找替代方案。

最初,XNA 是我们的最佳选择。然后,因为它的目标是游戏市场和与 xbox 360 的兼容性,我们发现我们需要编写很多解决方法/技巧来使其对我们有用。更糟糕的是与 DirectShow 的互操作性,我们在我们的产品中广泛使用它。 MS 在现有技术和新技术之间造成了巨大差距,其中 MDX 和 DirectShow 的最新替代品目前还不足以替代旧的,我们不能等待下一个版本。

我不会说 SlimDX 是非游戏开发的最佳选择。但就我而言,它是。而且由于它是开源的,我们总是可以对我们认为合适的地方进行更改。当我们使用 SlimxDX + DirectShow.Net 时,存在相当多的故障。当我们使用 MDX 1.1 + DirectShow.Net 时,这些故障不存在。我的猜测是,在内部,MS 进行了大量的黑客攻击以使其工作。

无论如何,如果您根本不使用 DirectShow,请考虑 Ogre3D/MOgre3D . MOgre3D 是 Ogre3D 的托管包装器,Ogre3D 是一个构建良好的 3D 引擎。这是我们的第一选择,但我们不能使用它,因为它不能很好地支持 DirectShow。

关于.net - 用于非游戏相关 3D 图形编程的托管 Direct3D 或 XNA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/384561/

相关文章:

c# - 主键冲突 : Inheritance using EF Code First

c++ - 寻找合适的工具来编写 future 风格的 UI 项目

c# - 所有文件的全局 "using SpriteBatch = MySpriteBatch",而不是每个文件

c# - XNA:根据变换矩阵避免鼠标光标纹理缩放

c# - C# 应用程序中串行数据未传输

C# ODBC 异常不正确的字符串值

c# - 如何创建和管理构建服务器?

iphone - UIImageView 对比 UIView 的 drawRect 显示图片

c++ - 如何绘制粗线的轮廓?

c# - XNA 正确旋转水箱