在SharpDX中是否有与XNA Math相同的功能?

时间:2014-07-31 13:50:24

标签: c# wrapper directx-11 sharpdx xna-math-library

我买了这本书“使用DirectX 11进行3D编程简介”希望我可以使用SharpDX将所有内容移植到C#,因为我不懂C ++。好吧,我似乎无法找到SharpDX的XNA Math包装类,本书广泛涉及该库。还有什么我可以得到的,我可以下载一些XNA Math C#包装器,这样我可以继续学习吗?

1 个答案:

答案 0 :(得分:1)

MonoGame和SharpDX都具有与原始XNA Game Studio数学库中相同的数学结构。例如,请参阅SharpDX名称空间中的Vector2

<强>已更新

请注意,Frank Luna的书是用于C ++开发的。这里对“XNAMath”的引用实际上是DirectX SDK中提供的C ++ SIMD数学库。 Windows 8.x SDK中的最新版本为DirectXMath

通常,更改为XNAMath编写的C ++代码以使用DirectXMath非常容易。有关详细信息,请参阅MSDN

D3DX9中提供的旧D3DXMath数学库刚刚在D3DX10中复制,并且从未提交给D3DX11。您可以找到有关从D3DXMath转移到DirectXMath here的一些建议。

其中没有一个与SharpDX有任何关系,SharpDX是Direct3D的C#包装器。与XNA Game Studio完全相同,SharpDX和MonoGame都包含自己的C#数学库,因为每个向量操作的编组都非常低效。

  

请注意,DirectXMath有一个名为SimpleMath的C ++包装器,它包含在DirectX Tool Kit中,它提供了“{XNA Game Studio”样式的数学类型,例如Vector2,{{1} },Vector3等。它使用DirectXMath实现,并与DirectXMath进行简单的互操作。