1

私は C++ を知らないので、SharpDX を使用してすべてを C# に移植できることを期待して、この本「DirectX 11 による 3D プログラミング入門」を購入しました。さて、XNA Math 用の SharpDX のラッパー クラスが見つからないようで、この本はそのライブラリを幅広く扱っています。XNA Math C# ラッパーをダウンロードして、勉強を続けることができるものはありますか?

4

1 に答える 1

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 への移行に関するいくつかの提案を見つけることができます。

Direct3D の C# ラッパーである SharpDX とは実際には何の関係もありません。XNA Game Studio とまったく同じように、SharpDX と MonoGame の両方に独自の C# 数学ライブラリが含まれています。これは、各ベクトル操作のマーシャリングが非常に非効率的であるためです。

DirectX Tool Kitに含まれているSimpleMathと呼ばれる DirectXMath 用の C++ ラッパーがあることに注意してください。これは、、 、 などの「XNA Game Studio」スタイルの数学タイプを提供します。 DirectXMath を使用して実装され、DirectXMath と簡単に相互運用します。Vector2Vector3Matrix

于 2014-07-31T17:51:39.343 に答える