2009-07-16 4 views
0

Direct3DでC#interopを実行しています(私はSlimDXとXNAについて知っていますので、これのメリットには気を付けません)、私はID3DX10Meshインターフェイスを渡してD3DX10CreateMeshを呼び出しています。 「そのようなインターフェイスはサポートされていません(HRESULTからの例外:0x80004002(E_NOINTERFACE))」というエラーが表示されます。 D3DX10CreateMeshコールは、(メッシュファイルを正常にロードした後に)9メッシュをコピーするために10メッシュを作成しようとしている間に呼び出されます。私はID3DX10MeshのC#定義を見てきました。それは私が定義した他のすべての作業インターフェイスと同じ構造に従っています。ID3DX10MeshとID3DXMeshガイド正確に同じ

しかし、私は何か気づいた。 9と10のメッシュのガイドは、正確にはと同じです(4020E5C2-1403-4929-883F-E2E849FAC195)。私はd3dx9meshとd3dx10meshヘッダーをダブルチェックしました。 9メッシュのインターフェイスは動作しますが、10はありません(これはインスタンス化の順序に依存するかもしれません)。C/C++アプリケーションでも2つのメッシュを一緒に使用できないことを暗示しているので、私は個人的にこれを理解しません。あなたができること。私はそれがNVUT SDKで行われているのを見ました。私はランタイムコールラッパーがGuidsによって混乱していると思うだけですか?

なぜメッシュguidが同じで、C/C++アプリケーションはどのようにして競合を回避できますか?

答えて

関連する問題