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