我意识到这里有很多关于在 XNA 和 SlimDX 之间进行选择的问题,但这些都与游戏编程有关。
一点背景知识:我有一个从 XML 描述中呈现场景的应用程序。目前我正在使用 WPF 3D,这主要是有效的,除了 WPF 无法在屏幕外渲染场景(即在服务器上,而不在窗口中显示它们),并且渲染到位图会导致 WPF 回退到软件渲染。
所以我不得不编写自己的渲染器。以下是要求:
- 混合 3D 和 2D 元素。
- 每个场景的元素相对较少(数十个网格,数十个 2D 元素)。
- 大型场景(打印最多 3000 像素正方形)。
- 只会渲染一个帧(即 FPS 不是问题)。
- 不透明蒙版。
- 像素着色器。
- 软件回退(服务器可能有也可能没有像样的 gfx 卡)。
- 被渲染到屏幕外的可能性。
正如您所看到的,这是非常简单的东西,WPF 可以很好地管理它,除了不能导出场景问题。
特别是我不需要游戏开发中通常需要的许多东西。考虑到这一点,您会选择 XNA 还是 SlimDX?代码的非渲染部分已经用 C# 编写,所以要坚持下去。