0

我个人实验的目标是用 C# 创建一个 3D 引擎。

我读过一些关于 XNA 和 SlimDX 的文章。我不确定 XNA,因为它基本上已经是一个完整的引擎,所以我不会做太多事情。SlimDX 看起来更接近我的假设,但如果有任何其他建议,我将不胜感激。

我有一些使用 OpenGL 的经验,并为 Android 游戏和使用 jogl 的 PC 编写了一个简单的引擎。

我有兴趣听到类似于通过 Java / OpenGL 提供的抽象级别的东西,但这次是 DirectX。

4

2 回答 2

2

您可以从这里下载旧的DirectX SDK,它将为您提供 Direct3D 的 C# 包装器。

但是...如果您确实想给 XNA 一个机会,这可能是最好的入门教程之一(我所说的开始是指足以实现您自己的游戏,但这需要大量工作) .

http://www.riemers.net/

您可以在此处获取 XNA SDK 的当前版本

于 2012-10-04T09:27:52.623 回答
1

作为 DirectX c# 包装器,还有http://sharpdx.org/

Xna/SlimDX 之间的几个优点/缺点

Xna 易于学习,您已经拥有一些内置函数来加载模型、绘制文本、一些内置渲染状态预设、数学类/结构。另一方面,与新的显卡功能相比,它的功能集相当有限。您将有一些东西快速启动并运行,但另一方面,您最终可能会受到高级功能的限制(镶嵌/计算/附加缓冲区/只读深度等等)。当然,你还有很多工作要做。

SlimDX/SharpDX 相当小(它们主要包含 DirectX 功能),所以如果您想使用 DirectX11(如果您想使用 9 go for xna :),您将需要做一些工作才能让某些东西运行首先,但您将拥有完整的 DX 功能和完全的灵活性来组织您的引擎。您将需要拥有自己的模型导入器、字体渲染器 (DirectWrite)、状态管理器。最常见的数学部分已经存在(矩阵/向量),因此您不必担心这部分。

于 2012-10-04T15:06:22.397 回答