2010-09-10 65 views
0

我注意到Direct3D是COM公開的,但似乎沒有它的類型庫。C中的Direct3D COM互操作#

我的第一個問題是,如果使用它的基礎設施不是真的存在,那麼COM的暴露點是什麼?

我認爲我可以在C#中編寫自己的COM接口。但這讓我有些擔心,這還沒有完成,很多。如果你打算在.net中使用D3D,你必須做任何形式的interop包裝。爲什麼要創建一個C++/cli包裝器或一個dll導出包裝器,當你可以做COM互操作並且永遠不離開C#時,它被設計爲P/Invoked?我認爲這可能是一個很好的理由,或者已經有使用這種方法的圖書館。

我完全瞭解SlimDX和Windows API代碼包。我特別感興趣的是直接與Direct3D進行C#COM互操作。

我注意到了MDXGI(codeplex)庫,它試圖爲DXGI實現這種方法,但它似乎並不完整,也沒有獲得太多的社區響應。

我也看到這個相關的問題(Is there COM exposure for Direct3D 10),但我覺得我的問題至少有點不同。

謝謝。

回答

0

我是MDXGI項目的作者。正如你看到純粹的C#包裝器有一些技術問題並且不支持comunity。

1

我只想指出,MS不再支持Direct3D的管理使用。對於.Net,有微軟的XNA框架(http://creators.xna.com/en-US/),這是D3D本身的一個相當抽象的概念,但確實支持Windows,Xbox360和Windows Phone 7.