2010-09-10 111 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.