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