【问题标题】:XNA vs SlimDX for offscreen rendererXNA 与 SlimDX 用于屏幕外渲染器
【发布时间】:2010-05-19 19:54:01
【问题描述】:

我知道这里有很多关于在 XNA 和 SlimDX 之间进行选择的问题,但这些都与游戏编程有关。

一点背景知识:我有一个从 XML 描述中呈现场景的应用程序。目前我正在使用 WPF 3D,这主要是有效的,除了 WPF 无法在屏幕外渲染场景(即在服务器上,而不在窗口中显示它们),并且渲染到位图会导致 WPF 回退到软件渲染。

所以我不得不编写自己的渲染器。以下是要求:

  • 3D 和 2D 元素的混合。
  • 每个场景的元素相对较少(数十个网格,数十个二维元素)。
  • 大型场景(最多可打印 3000 像素正方形)。
  • 只会渲染一帧(即 FPS 不是问题)。
  • 不透明蒙版。
  • 像素着色器。
  • 软件后备(服务器可能有也可能没有像样的 gfx 卡)。
  • 在屏幕外渲染的可能性。

如您所见,这是非常简单的事情,WPF 可以很好地管理它,除了不能导出场景问题。

特别是我不需要游戏开发中通常需要的许多东西。考虑到这一点,您会选择 XNA 还是 SlimDX?代码的非渲染部分已经用 C# 编写,所以要坚持下去。

【问题讨论】:

    标签: c# .net 3d xna slimdx


    【解决方案1】:

    我没有使用过 SlimDX,但根据我使用 XNA 的经验和阅读 SlimDX 的目标。我建议 SlimDX。 XNA 虽然可用于其他用途,但主要是一个游戏引擎,而不是渲染引擎。它有很多针对游戏的特定优化和方法。

    此外,如果您使用动态文件,XNA 喜欢将其资源预构建到 DirectX 文件 (.x) 中,我认为 SlimDX 是您的最佳选择。

    【讨论】:

    • 你是对的,我担心 SlimDX 级别太低(它是低级别,但不是什么大问题),但我设法让一个工作渲染器只用了几个几天,甚至以前从未做过任何 Direct3D 编程。
    • 只是一个小小的吹毛求疵:XNA 框架,顾名思义,是一个游戏框架,而不是引擎。不过,它比 SlimDX 级别高一点,专注于游戏创作。
    【解决方案2】:

    XNA 和 SlimDX 在性质上非常接近,但也有一些区别:

    • XNA 需要具有最少像素/顶点着色器 1.1 的 GPU,而我认为 SlimDX 不需要。

    • SlimDX 支持 DirectX10 和 11,而 XNA 仅支持 DirectX 9。

    • XNA 是 Windows、Xbox 360、Zune 和 Windows Phone 7 之间的跨平台,而 SlimDX 不是。

    • XNA 拥有强大的社区 (creators.xna.com),其中包含大量教程和帮助材料。

    我会选择 XNA。

    【讨论】:

      猜你喜欢
      • 2013-04-28
      • 1970-01-01
      • 2011-04-19
      • 1970-01-01
      • 2012-12-11
      • 1970-01-01
      • 1970-01-01
      • 2012-09-21
      • 1970-01-01
      相关资源
      最近更新 更多