【问题标题】:Cross-platform 3D (C#)跨平台 3D (C#)
【发布时间】:2011-03-08 22:24:41
【问题描述】:

我正在开发一款应该在尽可能多的平台上运行的游戏,我想知道是否有任何好的 3D 库可以在 Windows Phone 7 和 Mono(Windows 和 Linux)上运行。我会使用 OpenTK,但这取决于 OpenGL,而且 Windows Phone 仅支持托管 DirectX (XNA)。那里至少有任何像样的包装器吗?

【问题讨论】:

    标签: windows-7 windows-phone-7 mono 3d monogame


    【解决方案1】:

    通常,在为 Windows Phone 7 编码时,您必须停留在 XNA 和 Silverlight 的上下文中 - 这是由于它与 DirectX 的关系。 Windows Phone 7 目前不支持 OpenGL。

    【讨论】:

    • 我在问什么;是否有任何库提供“通用”3d 函数并且可以使用 XNA 或 OpenGL,具体取决于它运行的设备。不过我的期望可能有点太高了。
    • 目前我不知道任何可以在 Windows Phone 7 上运行的功能。
    【解决方案2】:

    MonoGame 呢? http://monogame.codeplex.com/ 它将 XNA 带到了其他平台。

    【讨论】:

    • 你真的尝试过使用它吗?似乎没有实际的 WP7 支持 - 只是主页上的一个声明。
    • 它只针对其他平台,而不是 WP7,因为那是微软的领地。
    • 确实它不针对 WP7,但这不是重点。这个想法是它是 Xna for Mono 的完整(ish)实现。所以理论上你的大部分游戏代码都可以针对 MonoGame 库而不是 Xna 库进行编译。 MonoGame 为 WP7 编译是没有意义的,因为 Xna 已经这样做了:)
    • 就像对 Aranda 的更新评论一样,XNA 现在不再计划用于 Windows 8 设备(台式机除外),因此单声道将为 Windows 移动设备构建。
    【解决方案3】:

    我很确定目前还没有任何支持 Xna 和 Mono(即 Open GL)后端的托管 3D 库。我怀疑你最好的选择是在 Xna 之上编写你自己的最小抽象层(这只是完成你所需要的),然后在 Mono + Open GL 中实现它。

    或者你可以加入并开始在 MonoGame 或 ExEn 中实现 Xna 的 3D API。我记得 MonoGame 论坛上的一个帖子,关于有人运行 VertexBuffer 的非常基本的初始实现。不过,这显然需要相当不错的 OpenGL 知识。

    【讨论】:

      【解决方案4】:

      我刚刚制作了可以在所有平台上运行的自己的 3D 库 -- Sourceforge source code here

      【讨论】:

        【解决方案5】:

        仅供参考,MonoGame v2.0 将在 iOS 和 Android 以及 WP7 的默认着色器上添加​​ OpenGL ES 2.0 支持,但除此之外,它还允许您使用自定义着色器,这与 XNA 不同在 WP7 上。当 MonoGame v3.0 发布时,您可以期待 3D 支持更加强大。

        我希望这会有所帮助。

        【讨论】:

          【解决方案6】:

          MonoGame v2.5 于上周发布。

          现在所有的焦点都集中在具有 3D 的 v3.0 版本上。 develop3d 分支已经有一个有效的 3D 实现。我们只需要整理它并确保 2D 没有损坏。如果有人仍在寻找 MonoGame 中的 3D,请查看我们的 develop3d 分支,并帮助我们将其做到最好。

          D.

          【讨论】:

            【解决方案7】:

            Axiom 3D Rendering Engine 支持多种平台和各种 GFX API,包括 Windows Phone 7、Windows、iPhone、Android、Linux 和 Mac OSX,使用 OpenGL、OpenGL ES、DirectX 和 XNA

            【讨论】:

              猜你喜欢
              • 2011-04-14
              • 1970-01-01
              • 1970-01-01
              • 2011-07-11
              • 2023-03-27
              • 1970-01-01
              • 2019-06-16
              • 2014-09-28
              • 1970-01-01
              相关资源
              最近更新 更多